3.3.1. Proces komunikace přes OpenID Connect¶
Proces přihlášení pomocí MojeID je možný několika různými způsoby (podle různých schémat), které se skládají z několika kroků. Při implementaci je možné zvolit schéma(ta) podle vašich preferencí.
Počáteční kroky jsou společné pro všechna schémata:
Registrace klienta – Před použitím protokolu OpenID Connect je nutné registrovat svého klienta na serverech MojeID.
Žádost o přihlášení přes MojeID – Uživatel klikne na tlačítko „Přihlásit přes MojeID“.
Žádost o ověření identity – Poskytovatel služeb sestaví žádost o ověření identity a tu nepřímo skrze přesměrování uživatelova prohlížeče odešle na koncový bod poskytovatele (
Authorization Endpoint
) OpenID Connect, kde se uživatel autentizuje.Provedení autentizace – Uživatel se na přihlašovací stránce MojeID přihlásí pomocí některé z přihlašovacích metod a tím je jeho identita ověřena. V současnosti je podporováno heslo, digitální certifikát, jednorázové heslo a bezpečnostní token (FIDO 2).
Další kroky závisí na zvoleném schématu:
3.3.1.1. Implicitní schéma¶

Odpověd s výsledkem ověření identity – Po přihlášení a potvrzení je uživatel přesměrován zpět na stránky poskytovatele služeb a prostřednictvím svého prohlížeče tak předá odpověď ze serverů MojeID s identifikátorem uživatele a ID tokenem. Pokud o to poskytovatel služeb v žádosti o ověření identity požádá, obsahuje ID token i data o uživateli.
3.3.1.2. Přístupový kód¶

Odpověď s přístupovým kódem – Po přihlášení a potvrzení je uživatel přesměrován zpět na stránky poskytovatele služeb a prostřednictvím svého prohlížeče tak předá odpověď ze serverů MojeID s přístupovým kódem.
Žádost o token – Poskytovatel služeb sestaví žádost o token, ve kterém použije právě získaný přístupový kód, a odešle ji na
Token Endpoint
.Odpověď s tokenem – Poskytovatel služeb obdrží odpověď s přístupovým tokenem a ID tokenem
Žádost o data – Poskytovatel služeb sestaví žádost o uživatelská data s využitím získaného přístupového tokenu a odešle ji na
UserInfo Endpoint
.Odpověď s daty – Poskytovatel služeb obdrží odpověď s daty uživatele.
3.3.1.3. Hybridní schéma¶

Odpověď s přístupovým kódem – Po přihlášení a potvrzení je uživatel přesměrován zpět na stránky poskytovatele služeb a prostřednictvím svého prohlížeče tak předá odpověď ze serverů MojeID s přístupovým kódem.
Žádost o token – Poskytovatel služeb sestaví žádost o token, ve kterém použije právě získaný přístupový kód, a odešle ji na
Token Endpoint
.Odpověď s tokenem – Poskytovatel služeb obdrží odpověď s přístupovým tokenem a ID tokenem, který obsahuje data uživatele.
3.3.1.4. Volba schématu¶
Pro webové služby, které běží jen v prohlížeči („bez serveru“, např. JavaScript), je nejvhodnější Implicitní schéma.
Pro serverové služby je vhodnější schéma Přístupový kód, které poskytuje vyšší úroveň zabezpečení.
Následující tabulka shrnuje základní vlastnosti jednotlivých schémat a slouží jako pomůcka pro výběr vhodného schématu přihlášení.
Vlastnost |
Implicitní schéma |
Přístupový kód |
Hybridní schéma |
---|---|---|---|
Všechny tokeny jsou vráceny z Authorization Endpoint |
ano |
ne |
ne |
Všechny tokeny jsou vráceny z Token Endpoint |
ne |
ano |
ne |
Tokeny nejsou viditelné v User Agent |
ne |
ano |
ne |
Klient může použít autentizaci |
ne |
ano |
ano |
Lze získat Refresh token |
ne |
ano |
ano |
Komunikace v jednom požadavku |
ano |
ne |
ne |
Většina komunikace probíhá server-to-server |
ne |
ano |
různé |