🔑
Varnost

OAuth Social Login

Skrbniške nastavitve

Prijava z enim klikom z Googlom, GitHubom in drugimi

Pregled

Socialna avtentikacija prek ponudnikov OAuth 2.0. Uporabniki lahko na en račun povežejo več ponudnikov. Brezhibna registracija za nove uporabnike ali povezovanje za obstoječe račune.

Premisleki glede oblikovanja

Vzorci UX in opombe o vizualnem oblikovanju za to funkcijo:

  • Gumbi ponudnika potrebujejo barve, ki ustrezajo znamki
  • Prikaži povezane račune v nastavitvah profila
  • Uglajeno ravnajte z "e-pošta že obstaja".
  • Nalaganje stanj med tokom preusmeritve OAuth

Ključne prednosti

Po čem ta funkcija izstopa:

  • Dramatično zmanjša trenje ob prijavi
  • Varnost zaupanja vrednega ponudnika (Google, GitHub)
  • Več ponudnikov na račun
  • Samodejno ustvari uporabniški profil iz podatkov OAuth
Tehnična opomba

Uporablja yiisoft/yii2-authclient. Ponudnike konfigurirajte v config/web.php authClientCollection. Shranite žetone v tabelo user_oauth.

Modeli
UserOauthUser
Tabele baze podatkov
useruser_oauth

Konfiguracija

Legenda razmerja konfiguracije
DB preglasi params.php🔗 Nastavitev, povezana z DB📋 DB hrani samo vrednost
params.php Konfiguracija

Konfiguracijska pot: params['oauth']

params['oauth']['google']['clientId'] => getenv('GOOGLE_CLIENT_ID')params['oauth']['google']['clientSecret'] => getenv('GOOGLE_CLIENT_SECRET')params['oauth']['github']['clientId'] => getenv('GITHUB_CLIENT_ID')
Opomba: OAuth credentials MUST be stored in .env file, never in database or params.php directly. Configure authClientCollection in config/web.php.