Végrehajtása egyetlen jele, hogy az alkalmazás symfony2

Mi Single Sign On?


Single Sign On - egy olyan technológia, amellyel a felhasználó hitelesítés a hitelesítő központ (identitásszolgáltató, IdP). automatikusan hitelesíti másik szolgáltató (a továbbiakban: Szolgáltató, SP vagy Consumer [1-N]) a társaság.







Mechanizmus használja Single Sign On oldalak, mint a Habrahabr. Yandex. Google. Előnye ennek a megközelítésnek, hogy a felhasználói hitelesítést nyilvánvalóak:

  • Vesztes egy jelszót a IdP jár belépési probléma az összes szolgáltatást
  • Potenciálisan fokozott kockázata lopás a mester ülés IdP (lehet csökkenteni összekapcsolásával ülésén az ISP alhálózatot, és használja a HTTPS. HTTP Csak Cookie-k és az SSL Csak Cookie)
  • Potenciálisan fokozott kockázata jelszó lopás a IdP
  • .

Ennek ellenére a szempontból az üzleti, valamint a felhasználói élmény, a végrehajtás ezt a funkciót felülmúlja minden hátrányát, és kezdődik egy epikus végrehajtásáról szóló SSO a társaság.

Mielőtt folytatnánk végrehajtásának SSO a cég, jó lenne, hogy biztosan jól tudják, hogy az ilyen:

Szóval, miután megismerése alapvető elmélete: mi az SSO, a biztonsági szempontokat, amelyek kapcsolatban vannak ezzel a problémával - el tudjuk kezdeni annak végrehajtására.

Hogyan fog működni


Általában a hitelesítés kerül sor a következő eset:

Végrehajtása egyetlen jele, hogy az alkalmazás symfony2







Abban az esetben, ha IdP mondta, hogy ilyen létezik, és érvényes OTP, SP hitelesíti a felhasználót kiadásával PreAuthenticatedToken'a.

Nyomtató fog működni a következő:

Végrehajtása egyetlen jele, hogy az alkalmazás symfony2

Megjegyezzük, hogy a kimenet típus akkor tekinthető a szempontból az a folyamat elején a SP. Ez azért fontos, mert a felhasználó visszakerül oda, ahol elkezdte a művelet során.

Tegyük fel, hogy a felhasználó éppen egy bizonyos oldalt / secured_area és rákattintott a „Kilépés”. Ezen a ponton, a helyi kijelentkezett az SP. Akkor megyünk a IdP egy speciális URL / SSO / logout. amely kezeli a kiadási folyamat minden szolgáltatás a felhasználó számára. mert A felhasználó eljött az SP, akkor a IdP kiválasztja a következő szolgáltatás, amely elérhető a cég, és kiküldi csinálni. A szolgáltatás viszont ismét befejezése küld minket a IdP és ha a szolgáltatás fölött volt, végrehajtja a helyi kimenet (5. o., A rendszer). Miután a felhasználó küldi vissza az SP, amellyel kezdte kivenni.

Van egy másik forgatókönyv, amelyben a felhasználó elkezdi, hogy kilépjen a folyamatot, és nem az SP IdP. És ez így néz ki:

Végrehajtása egyetlen jele, hogy az alkalmazás symfony2

Certification Authority (IdentityProvider)


Ahhoz, hogy a hitelesítő hatóság, először ki kell választania egy alkalmazást, hogy a cég feladata lesz ez, mint a hogyan történik a Yandex (Yandeks.Pasport), vagy a Google (Google fiókok).

Ebben az alkalmazásban mi lesz az első része ustanavlivaetsya: SingleSignOnIdentityProviderBundle

SingleSignOnIdentityProviderBundle felelős:

  • Generáló egyszeri jelszavak (OTP)
  • Üzletek a munkamenet, ahonnan a felhasználó jött az SP
  • Funkcionalitás kimenetként minden SP-s

Tedd át a zeneszerző:


Következő frissítés függőségek és felírni a köteg AppKernel:


Csatlakozó Route / SSO / login és / SSO / kilépés a csomag: