SAML
SAML se používá k umožnění poskytovatelům SSO webových aplikací přenášet a přesouvat pověření mezi poskytovatelem identity (IDP), který uchovává pověření, a poskytovatelem služeb (SP), což je prostředek, který tyto pověření potřebuje. SAML je standardní jazyk protokolu autorizace a autentizace, který se většinou používá k provádění federace a správy identit, spolu se správou jednotného přihlášení. v SAML, Dokumenty metadat XML se používají jako token pro odeslání identity klienta. Proces ověřování a autorizace SAML je následující:
- Uživatel požaduje přihlášení do služby prostřednictvím prohlížeče.
- Služba informuje prohlížeč, že se ověřuje u konkrétního poskytovatele identity (IdP) registrovaného u služby.
- Prohlížeč předá požadavek na ověření registrovaným poskytovatelům identity pro přihlášení a ověření.
- Po úspěšné kontrole pověření / ověřování IdP vygeneruje kontrolní dokument založený na XML, který ověří identitu uživatele a předá jej prohlížeči.
- Prohlížeč předá tvrzení poskytovateli služeb.
- Poskytovatel služeb (SP) přijímá tvrzení o vstupu a umožňuje uživateli přístup ke službě po přihlášení.
Podívejme se nyní na skutečný příklad. Předpokládejme, že uživatel klikne na Přihlásit se možnost ve službě sdílení obrázků na webu abc.com. K ověření uživatele je zašifrovaný požadavek na ověření SAML proveden abc.com. Žádost bude odeslána z webu přímo na autorizační server (IdP). Zde poskytovatel služeb přesměruje uživatele na IdP k autorizaci. Poskytovatel identity ověří přijatou žádost o ověření SAML a pokud se žádost ukáže jako platná, předá uživateli přihlašovací formulář pro zadání pověření. Poté, co uživatel zadá pověření, poskytovatel identity vygeneruje tvrzení SAML nebo token SAML obsahující data a identitu uživatele a odešle jej poskytovateli služeb. Poskytovatel služeb (SP) ověří tvrzení SAML a extrahuje data a identitu uživatele, přiřadí uživateli správná oprávnění a přihlásí uživatele do služby.
Vývojáři webových aplikací mohou pomocí pluginů SAML zajistit, aby aplikace i prostředek dodržovaly potřebné postupy jednotného přihlášení. To umožní lepší přihlašování uživatelů a efektivnější postupy zabezpečení, které využívají společnou strategii identity. Se zavedeným SAML mají k prostředku přístup pouze uživatelé se správnou tokenem identity a tvrzení.
OAUTH
OAUTH se používá, když je potřeba předat autorizaci z jedné služby do jiné služby bez sdílení skutečných pověření, jako je heslo a uživatelské jméno. Použitím OAUTH, uživatelé se mohou přihlásit v jedné službě, přistupovat k prostředkům jiných služeb a provádět ve službě akce. OAUTH je nejlepší metoda použitá k předání autorizace z platformy Single Sign On na jinou službu nebo platformu nebo mezi libovolnými dvěma webovými aplikacemi. The OAUTH pracovní postup je následující:
- Uživatel klikne na tlačítko Přihlásit se ve službě sdílení prostředků.
- Server prostředků zobrazí uživateli autorizační grant a přesměruje uživatele na autorizační server.
- Uživatel požaduje přístupový token z autorizačního serveru pomocí kódu autorizačního grantu.
- Pokud je kód platný po přihlášení k autorizačnímu serveru, uživatel získá přístupový token, který lze použít k načtení nebo přístupu k chráněnému prostředku ze serveru prostředků.
- Při přijetí požadavku na chráněný prostředek s tokenem udělení přístupu je platnost prostředku tokenu zkontrolována serverem prostředků pomocí autorizačního serveru.
- Pokud je token platný a prochází všemi kontrolami, je zdrojový server udělen chráněný prostředek.
Jedním z běžných použití OAUTH je umožnění přístupu webové aplikace na platformu sociálních médií nebo jiný online účet. Uživatelské účty Google lze použít v mnoha spotřebitelských aplikacích z několika různých důvodů, například pro blogování, online hraní her, přihlašování pomocí účtů sociálních médií a čtení článků na zpravodajských webech. V těchto případech funguje OAUTH na pozadí, takže tyto externí entity lze propojit a mají přístup k potřebným datům.
OAUTH je nutností, protože musí existovat způsob, jak odesílat informace o autorizaci mezi různými aplikacemi bez sdílení nebo vystavování pověření uživatele. OAUTH se používá také v podnicích. Předpokládejme například, že uživatel potřebuje přístup k systému jednotného přihlášení společnosti pomocí svého uživatelského jména a hesla. Jednotné přihlášení poskytuje přístup ke všem potřebným prostředkům předáním autorizačních tokenů OAUTH těmto aplikacím nebo prostředkům.
Závěr
OAUTH a SAML jsou oba velmi důležité z pohledu vývojáře webových aplikací nebo správce systému, zatímco oba jsou velmi odlišné nástroje s různými funkcemi. OAUTH je protokol pro autorizaci přístupu, zatímco SAML je sekundární umístění, které analyzuje vstup a poskytuje autorizaci uživateli.