SAML
SAML sa používa na umožnenie poskytovateľom SSO webových aplikácií prenášať a presúvať poverenia medzi poskytovateľom identity (IDP), ktorý uchováva poverenia, a poskytovateľom služieb (SP), ktorý je zdrojom, ktorý tieto poverenia potrebuje. SAML je štandardný jazyk autorizačného a autentifikačného protokolu, ktorý sa väčšinou používa na vykonávanie federácie a správy identít, spolu so správou jednotného prihlásenia. V SAML, Dokumenty metaúdajov XML sa používajú ako token na predloženie totožnosti klienta. Proces autentifikácie a autorizácie SAML je nasledujúci:
- Používateľ požaduje prihlásenie do služby pomocou prehľadávača.
- Služba informuje prehliadač o autentifikácii u konkrétneho poskytovateľa identity (IdP) zaregistrovaného v službe.
- Prehliadač odošle požiadavku na autentizáciu registrovaným poskytovateľom identity na prihlásenie a autentifikáciu.
- Po úspešnej kontrole prihlasovacích údajov / autentifikácie IdP vygeneruje potvrdzovací dokument založený na XML, ktorý overuje totožnosť používateľa a odovzdá ho prehliadaču.
- Prehliadač odovzdá tvrdenie poskytovateľovi služieb.
- Poskytovateľ služby (SP) prijíma tvrdenie o vstupe a umožňuje používateľovi prístup k službe po prihlásení.
Pozrime sa teraz na príklad zo skutočného života. Predpokladajme, že používateľ klikne na ikonu Prihlásiť sa možnosť v službe zdieľania obrázkov na webe abc.com. Na autentifikáciu používateľa zadá abc zašifrovanú požiadavku na autentizáciu SAML.com. Žiadosť bude odoslaná z webovej stránky priamo na autorizačný server (IdP). Poskytovateľ služieb tu presmeruje používateľa na poskytovateľa identity na autorizáciu. Poskytovateľ identity overí prijatú požiadavku na autentizáciu SAML a ak sa ukáže, že je platná, poskytne používateľovi prihlasovací formulár na zadanie prihlasovacích údajov. Po zadaní poverení používateľom IDP vygeneruje tvrdenie SAML alebo token SAML obsahujúci údaje a identitu používateľa a odošle ho poskytovateľovi služieb. Poskytovateľ služby (SP) overuje tvrdenie SAML a extrahuje údaje a identitu používateľa, priradí mu správne oprávnenia a prihlási ho do služby.
Vývojári webových aplikácií môžu pomocou doplnkov SAML zabezpečiť, aby aplikácia aj zdroj dodržiavali potrebné postupy jednotného prihlásenia. Toto umožní lepšie prihlasovanie používateľov a efektívnejšie bezpečnostné postupy, ktoré využívajú spoločnú stratégiu identity. Keď je SAML zavedený, k prostriedku majú prístup iba používatelia so správnou identitou a tokenom tvrdenia.
OAUTH
OAUTH sa používa, keď je potrebné preniesť autorizáciu z jednej služby na inú službu bez zdieľania skutočných údajov, napríklad hesla a používateľského mena. Použitím OAUTH, používatelia sa môžu prihlásiť v jednej službe, pristupovať k zdrojom iných služieb a vykonávať v tejto službe akcie. OAUTH je najlepšia metóda použitá na prenos autorizácie z platformy Single Sign On na inú službu alebo platformu alebo medzi ľubovoľnými dvoma webovými aplikáciami. The OAUTH pracovný postup je nasledovný:
- Používateľ klikne na tlačidlo Prihlásiť sa v službe zdieľania zdrojov.
- Server prostriedkov ukáže používateľovi autorizačný grant a presmeruje ho na autorizačný server.
- Užívateľ požaduje prístupový token z autorizačného servera pomocou kódu autorizačného grantu.
- Ak je kód platný po prihlásení do autorizačného servera, používateľ získa prístupový token, ktorý je možné použiť na získanie alebo prístup k chránenému prostriedku zo servera prostriedkov.
- Po prijatí žiadosti o chránený prostriedok s tokenom pridelenia prístupu je serverom prostriedkov pomocou autorizačného servera skontrolovaná platnosť prístupového tokenu.
- Ak je token platný a vyhovuje všetkým kontrolám, zdrojový server udelí chránený prostriedok.
Jedným z bežných spôsobov použitia OAUTH je umožnenie prístupu webovej aplikácie na platformu sociálnych médií alebo k inému online účtu. Používateľské účty Google je možné používať v mnohých spotrebiteľských aplikáciách z rôznych dôvodov, napríklad z blogov, online hier, prihlásenia pomocou účtov na sociálnych sieťach a čítania článkov na spravodajských weboch. V týchto prípadoch pracuje OAUTH na pozadí, aby bolo možné tieto externé entity prepojiť a získať prístup k potrebným údajom.
OAUTH je nevyhnutnosťou, pretože musí existovať spôsob, ako posielať informácie o autorizácii medzi rôznymi aplikáciami bez zdieľania alebo vystavovania používateľských údajov. OAUTH sa používa aj v podnikoch. Predpokladajme napríklad, že používateľ musí získať prístup do systému jednotného prihlásenia spoločnosti pomocou svojho používateľského mena a hesla. Jednotné prihlásenie poskytuje prístup k všetkým potrebným zdrojom odovzdaním autorizačných tokenov OAUTH týmto aplikáciám alebo prostriedkom.
Záver
OAUTH a SAML sú veľmi dôležité z pohľadu vývojára webových aplikácií alebo správcu systému, pričom obidva z nich sú veľmi odlišné nástroje s rôznymi funkciami. OAUTH je protokol na autorizáciu prístupu, zatiaľ čo SAML je sekundárne miesto, ktoré analyzuje vstup a poskytuje autorizáciu používateľovi.