Externí přihlašování: Porovnání verzí

Z Prirucky
Řádek 9: Řádek 9:
=Konfigurace OAuth 2.0 přihlašování =
=Konfigurace OAuth 2.0 přihlašování =


# Zapnutí rozšíření '''Externí přihlašování''' prostřednictvím C/S aplikace KS Mzdy PROFi v agendě ''Nápověda - Rozšíření aplikace''
# Upravení web.config
<code>
<!--Parametry pro zprovoznění autorizace pomocí Oauth2-->
  <!--Nazev externi sluzby pro overovani uzivatelu (pokud je vyuzivana)-->
    <add key="ExternalLogin" value="OAUTH2"/>
    <!--ID klienta-->
    <add key="ClientId" value="" />
    <!--Client Secret - pokud není vyžadováno, nevyplňuje se-->
    <add key="ClientSecret" value="" />
    <!--Scope, služby, ke kterým žádáte přístup pomocí Oauth2, oddělují se znaménkem + např. " openid+offline_access " -->
<add key="scope" value="https://graph.microsoft.com/.default" />
    <!--<add key="Scope" value="openid+ks_portal+offline_access"/>-->
    <!--State - kontrolní hodnota pro autorizační server, nastavuje se na 0/1-->
    <add key="State" value="1"/>
<!--Authentication endpoint - adresa, proti které se provádí získání autorizačního kódu, uvádí se celá adresa např. " https://login.microsoftonline.com/{id}/oauth2/v2.0/authorize "-->
    <add key="AuthenticationEndpoint" value="" />
    <!--Redirect uri - adresa na kterou se provádí přesměrování po přihlášení, musí být shodná s registrovanou adresou v auth. serveru, vždy musí končit /Public/ExternalLogin.aspx-->
<add key="RedirectUri" value="https://localhost:44301/ksportal/Public/ExternalLogin.aspx" />
<!--Token endpoint - adresa proti které se provádí získávání tokenu např. " https://login.microsoftonline.com/{id}/oauth2/v2.0/token "-->
    <add key="TokenEndpoint" value="" />
<!--Userinfo endpoint - adresa proti které se provádí získávání uživatelského jména např. " https://microsoft.com/oauth2/userinfo "-->
<add key="UserinfoEndpoint" value="https://graph.microsoft.com/v1.0/me" />
    <!--Parametr uživatelského jména OAuth2 - parametr JSON, který obsahuje uživatelské jméno pro přístup do KSPortálu např: username,userPrincipalName -->
    <add key="OauthUsername" value="userPrincipalName" />
<!--Logout endpoint - adresa pro odhlášení uživatele např. " https://login.microsoftonline.com/{id}/oauth2/v2.0/logout "-->
    <add key="LogoutEndpoint" value="" />
    <!--Post logout redirect uri - adresa na kterou se má po odhlášení přesměrovat, musí být shodná s registrovanou adresou v auth. serveru, vždy musí končit  /Public/ExternalLogin.aspx-->
<add key="LogoutRedirectUri" value="https://localhost:44301/ksportal/Public/ExternalLogin.aspx" />
    <!--Nonce -  nastavuje se na 0/1-->
    <add key="Nonce" value="1"/>
    <!--Response type - např. code, code+id_token-->
    <add key="ResponseType" value="code"/>
    <!--Response mode -->
    <add key="ResponseMode" value="form_post"/>
</code>


=Konfigurace SAML 2.0 přihlašování =
=Konfigurace SAML 2.0 přihlašování =

Verze z 15. 6. 2021, 14:13

Rozšíření aplikace Externí přihlašování umožňuje využít přihlašování do aplikace prostřednictvím služby třetí strany. Přihlašování je založeno na standartu OAuth 2.0 nebo SAML 2.0. Díky využití přihlašování prostřednictvím OAuth 2.0 nebo SAML 2.0 není nutné mít zřízeno heslo pro přístup do portálu. Je možno se přihlásit prostřednictvím účtu Google, Microsoft, případně vlastního přihlašování, které dokáže komunikovat s aplikací KS Portál prostřednictvím tohoto standartu. Případně za využití OpenID protokolu. V těchto službách tak může být nastaveno více-faktorové ověření na základě něhož dojde k předání příslušného uživatelského jména, které je následně spárováno na základě parametru ZdrojOsCisla.

Pro využití je nutno zaregistrovat si aplikaci KS-Portál jako důvěryhodnou a využít tak principů tohoto standardu. Je tak možno dosáhnout vyšší bezpečnosti při autentizaci a autorizaci uživatelů při přihlašování do portálu. Na straně portálu je pak vyžadováno nastavení konektivity s autentizační službou a nastavení uživatelských jmen uživatelům KS Portálu, které budou následně korektně asociována s údaji, které vrátí autentizační služba. Díky využití tohoto rozšíření, nejsou uživatele nuceni zadávat své přihlašovací údaje do portálu a bezpečnostní politika hesel tak zůstává svěřena třetí straně. Komunikace mezi KS Portálem a autentizační službou musí probíhat prostřednictvím zabezpečeného přenosu s využitím šifrování pomocí TLS za využití protokolu HTTPS.

Princip činnosti

Uživatel přistoupí na stránku určenou pro přihlašování do portálu, například : „https://ksprogram.cz/demo/ksportal/Public/ExternalLogin.aspx“ . Uživatel je poté přesměrován na stránku autentizační služby například stránka Googlu, Microsoft, apod. Při tomto přesměrování dojde k odeslání informací, potřebných pro žádost autentizačního serveru. Uživatel následně zadá své přihlašovací údaje do tohoto účtu. Provede veškeré úkony spojené s přihlašováním a je přesměrován zpět na portál. Tato odpověď již obsahuje informace, které slouží KS Portálu pro vytvoření dohody s autentizačním severem, který následně portálu předá přihlašovací jméno. Toto jméno je následně spárováno s uživatelským jménem přiřazeným danému uživateli KS Portálu. Uživatel se tedy ocitne na stránce po přihlášení, například „https://ksprogram.cz/demo/ksportal/Default.aspx“.

Konfigurace OAuth 2.0 přihlašování

  1. Zapnutí rozšíření Externí přihlašování prostřednictvím C/S aplikace KS Mzdy PROFi v agendě Nápověda - Rozšíření aplikace
  1. Upravení web.config

   <add key="ExternalLogin" value="OAUTH2"/>
   <add key="ClientId" value="" />
   <add key="ClientSecret" value="" />

<add key="scope" value="https://graph.microsoft.com/.default" />

   <add key="State" value="1"/>
   <add key="AuthenticationEndpoint" value="" />

<add key="RedirectUri" value="https://localhost:44301/ksportal/Public/ExternalLogin.aspx" />

   <add key="TokenEndpoint" value="" />

<add key="UserinfoEndpoint" value="https://graph.microsoft.com/v1.0/me" />

   <add key="OauthUsername" value="userPrincipalName" />
   <add key="LogoutEndpoint" value="" />

<add key="LogoutRedirectUri" value="https://localhost:44301/ksportal/Public/ExternalLogin.aspx" />

   <add key="Nonce" value="1"/>
   <add key="ResponseType" value="code"/>
   <add key="ResponseMode" value="form_post"/>

Konfigurace SAML 2.0 přihlašování