Sdílet prostřednictvím


Konfigurace Azure Active Directory B2C s podnikovým přístupem k aplikacím Akamai pro jednotné přihlašování a zabezpečený hybridní přístup

V tomto ukázkovém kurzu se naučíte integrovat ověřování Azure Active Directory B2C (Azure AD B2C) s přístupem k podnikovým aplikacím Akamai. Akamai Enterprise Application Access je řešení nulová důvěra (Zero Trust) Network Access (ZTNA), které umožňuje zabezpečený vzdálený přístup k moderním a starším aplikacím, které se nacházejí v privátních datacentrech. Akamai Enterprise Application Access federuje s Azure AD B2C (Identity Provider) Azure AD B2C k ověřování uživatelů a pak pomocí zásad autorizace provádí průběžné vyhodnocování identity, zařízení, aplikace a kontextu žádosti před povolením přístupu k privátním aplikacím.

Tato funkce je dostupná jenom pro vlastní zásady. Pro kroky nastavení vyberte v předchozím selektoru vlastní zásady .

Předpoklady

Abyste mohli začít, budete potřebovat:

  • Smlouva Akamai Enterprise Access. Pokud ho nemáte, získejte bezplatnou zkušební verzi.

  • Předplatné Azure. Pokud předplatné nemáte, můžete získat bezplatný účet.

  • Tenant Azure AD B2C, který je propojený s vaším předplatným Azure.

  • Virtuální zařízení nasazené za bránou firewall ve vašem datacentru nebo v hybridních cloudových prostředích pro nasazení konektoru Akamai Enterprise Application Access Connector

  • Aplikace, která k ověřování používá hlavičky. V této ukázce použijeme aplikaci, která zobrazuje hlavičky docker header-demo-app.

  • NEBO aplikace OpenID Připojení (OIDC). V této ukázce použijeme webovou aplikaci ASP.NET MVC, která přihlašuje uživatele pomocí middlewaru Open Web Interface for .NET (OWIN) a platformy Microsoft Identity Platform.

Popis scénáře

V tomto scénáři povolíte ověřování Azure AD B2C koncovým uživatelům při pokusu o přístup k privátním aplikacím zabezpečeným podnikovým přístupem k aplikacím Akamai.

Součástí této integrace jsou:

  • Azure AD B2C: Zprostředkovatel identity SAML, který zodpovídá za ověřování koncových uživatelů.

  • Přístup k podnikovým aplikacím Akamai: Cloudová služba ZTNA, která je zodpovědná za zabezpečení přístupu k privátním aplikacím s průběžným vynucováním zásad ZTNA.

  • Akamai Enterprise Application Access Připojení or: Virtuální zařízení nasazené v privátním datacentru. Umožňuje zabezpečené připojení k privátním aplikacím bez otevření portů příchozí brány firewall datového centra.

  • Aplikace: Služba nebo aplikace nasazená ve vašem privátním datacentru, ke které potřebují koncoví uživatelé přístup.

Uživatel se ověří v Azure AD B2C (jako SAML IdP), který bude reagovat na přístup k podnikovým aplikacím Akamai (poskytovatel služeb) pomocí kontrolního výrazu SAML. Akamai Enterprise Application Access mapuje informace z kontrolního výrazu SAML a vytváří deklarace Identity OpenID nebo vloží hlavičky HTTP obsahující informace o uživateli. Akamai Enterprise Application Access pak předá aplikaci přístupnou prostřednictvím konektoru Akamai Enterprise Application Access. V naší ukázce aplikace zobrazí obsah těchto hlaviček. V případě použití aplikace OIDC zobrazí deklarace identity uživatele.

Následující diagram ukazuje, jak se Akamai podnikový přístup k aplikacím (EAA) integruje s Azure AD B2C.

Screenshot shows the integration architecture.

  1. Koncový uživatel se pokusí získat přístup k aplikaci hostované v privátním datacentru pomocí externí adresy URL aplikace zaregistrované v přístupu k podnikovým aplikacím Akamai.

  2. Přístup podnikové aplikace Akamai přesměruje neověřeného koncového uživatele k ověřování do Azure AD B2C.

  3. Po úspěšném ověření Azure AD B2C přesměruje uživatele zpět na Akamai Enterprise Application Access pomocí kontrolního výrazu SAML.

  4. Přístup k podnikovým aplikacím Akamai používá informace o identitě z kontrolního výrazu SAML k identifikaci uživatele a určení, jestli má uživatel povolený přístup k požadované aplikaci.

  5. Akamai Enterprise Application Access vytváří deklarace identity OIDC nebo vloží hlavičky HTTP, které se odesílají do aplikace.

  6. Aplikace tyto informace používá k identifikaci ověřeného uživatele a vytvoření relace aplikace pro koncového uživatele.

Onboarding s podnikovým přístupem k aplikacím Akamai

Pokud chcete začít používat Akamai Enterprise Application Access, přečtěte si úvodní příručku pro přístup k podnikovým aplikacím Akamai.

Krok 1 : Přidání zprostředkovatele identity Azure AD B2C jako zprostředkovatele identity SAML v přístupu k podnikovým aplikacím Akamai

Přístup k podnikovým aplikacím Akamai podporuje federaci SAML s cloudovými zprostředkovatele identity, jako je Azure AD B2C. Přidejte Azure AD B2C jako zprostředkovatele identity SAML třetí strany v přístupu k podnikovým aplikacím Akamai.

  1. Přihlášení ke službě Enterprise Center https://control.akamai.com/

  2. V navigační nabídce centra Enterprise Center vyberte zprostředkovatele identity uživatelů identity & přístupu k > aplikacím>.

  3. Vyberte Přidat zprostředkovatele identity (+).

  4. Zadejte název, popis a vyberte typ poskytovatele jako SAML třetí strany.

  5. Zvolte Pokračovat. Zobrazí se stránka konfigurace zprostředkovatele identity.

  6. V Nastavení> General zadejte adresu URL pro server identity. Můžete vybrat Možnost Použít doménu Akamai nebo Použít svoji doménu. Pokud používáte vlastní doménu, použijte certifikát podepsaný svým držitelem nebo použijte nahraný vlastní certifikát.

  7. V části Ověřování zadejte stejnou adresu URL, jakou jste definovali v předchozím kroku v části Obecné a vyberte Uložit.

    Screenshot shows the akamai settings.

Krok 2 – Registrace aplikace SAML v Azure AD B2C

  1. Získejte úvodní balíčky vlastních zásad z GitHubu a pak aktualizujte soubory XML v úvodním balíčku LocalAccounts názvem tenanta Azure AD B2C:

    • Stáhněte si soubor .zip nebo naklonujte úložiště:

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    • Ve všech souborech v adresáři LocalAccounts nahraďte řetězec yourtenant názvem vašeho tenanta Azure AD B2C. Pokud je například název vašeho tenanta fabrikamB2C , všechny instance yourtenant.onmicrosoft.com stát fabrikam.onmicrosoft.comse .

  2. Vytvořte podpisový certifikát pro Azure AD B2C, který podepíše odpověď SAML odeslanou do přístupu k podnikovým aplikacím Akamai:

    a. Získejte certifikát. Pokud ještě certifikát nemáte, můžete použít certifikát podepsaný svým držitelem.

    b. Nahrajte certifikát do tenanta Azure AD B2C. Poznamenejte si název, protože bude potřeba v TechnicalProfile uvedených krocích.

  3. Povolte své zásady pro připojení k aplikaci SAML.

    a. Otevřete LocalAccounts\TrustFrameworkExtensions.xml v úvodní sadě vlastních zásad. Vyhledejte element ClaimsProviders . Pokud neexistuje, přidejte ho pod kořenový element TrustFrameworkPolicy a přidejte následující fragment kódu XML pro implementaci generátoru odpovědí SAML:

     <ClaimsProvider>
       <DisplayName>Akamai</DisplayName>
       <TechnicalProfiles>
         <!-- SAML Token Issuer technical profile -->
         <TechnicalProfile Id="AkamaiSaml2AssertionIssuer">
           <DisplayName>Token Issuer</DisplayName>
           <Protocol Name="SAML2" />
           <OutputTokenFormat>SAML2</OutputTokenFormat>
           <Metadata>
             <Item Key="IssuerUri">https://<REPLACE>.login.go.akamai-access.com/saml/sp/response</Item>
           </Metadata>
           <CryptographicKeys>
             <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_AkamaiSAMLSigningCert" />
             <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_AkamaiSAMLSigningCert" />
           </CryptographicKeys>
           <InputClaims />
           <OutputClaims />
           <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuerAkamai" />
         </TechnicalProfile>
         <!-- Session management technical profile for SAML-based tokens -->
         <TechnicalProfile Id="SM-Saml-issuerAkamai">
           <DisplayName>Session Management Provider</DisplayName>
           <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
           <Metadata>
             <Item Key="IncludeSessionIndex">false</Item>
             <Item Key="RegisterServiceProviders">false</Item>
           </Metadata>
         </TechnicalProfile>
       </TechnicalProfiles>
     </ClaimsProvider>
    

    b. issuerUri Nahraďte adresou URL Akamai definovanou v nastavení > přístupu k podnikové aplikaci Akamai Obecné v kroku 1.

    • Příklad <Item Key="IssuerUri">https://fabrikam.login.go.akamai-access.com/saml/sp/response</Item>

    • Nahraďte B2C_1A_AkamaiSAMLSigningCert názvem nahraného klíče zásady.

Krok 3 : Vytvoření zásady registrace nebo přihlašování nakonfigurované pro SAML

  1. Vytvořte kopii SignUpOrSignin.xml souboru v pracovním adresáři úvodního balíčku a uložte ho pod novým názvem. Tento článek se používá SignUpOrSigninSAML.xml jako příklad. Tento soubor je vaším souborem zásad pro předávající stranu. Je nakonfigurovaná tak, aby ve výchozím nastavení vystavovala odpověď JWT.

  2. SignUpOrSigninSAML.xml Otevřete soubor v preferovaném editoru.

  3. Aktualizujte tenant-name název tenanta Azure AD B2C, změňte PolicyId hodnoty PublicPolicyUri zásad na B2C_1A_signup_signin_saml a http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml.

    <TrustFrameworkPolicy
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
    PolicySchemaVersion="0.3.0.0"
    TenantId="tenant-name.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin_saml"
    PublicPolicyUri="http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml">
    
  4. Na konci cesty uživatele obsahuje SendClaims Azure AD B2C krok. Tento krok odkazuje na technický profil vystavitele tokenů. Pokud chcete místo výchozí odpovědi JWT vydat odpověď SAML, upravte SendClaims krok tak, aby odkazovat na nový technický profil vystavitele tokenu SAML. Saml2AssertionIssuer

    Před element přidejte následující fragment kódu <RelyingParty> XML. Tento kód XML přepíše orchestraci krok 4 na SignUpOrSignIn cestě uživatele za předpokladu LocalAccount , že používáte vlastní počáteční balíčky zásad.

    Pokud jste začali z jiné složky v počátečním balíčku nebo jste upravili cestu uživatele přidáním nebo odebráním kroků orchestrace, ujistěte se, že číslo v order prvku odpovídá číslu zadanému na cestě uživatelem pro krok vystavitele tokenu. Například v ostatních složkách počátečního balíčku je odpovídající číslo kroku 7 pro SocialAndLocalAccounts, 6 pro SocialAccountsa 9 pro SocialAndLocalAccountsWithMfa.

    <UserJourneys>
    <UserJourney Id="SignUpOrSignIn">
      <OrchestrationSteps>
        <OrchestrationStep Order="4" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="AkamaiSaml2AssertionIssuer"/>
      </OrchestrationSteps>
    </UserJourney>
    </UserJourneys>
    

    Element předávající strany určuje protokol, který vaše aplikace používá. Výchozí hodnota je OpenId. Prvek Protocol musí být změněn na SAML. Výstupní deklarace identity vytvoří mapování deklarací identity na kontrolní výraz SAML.

    Nahraďte celý <TechnicalProfile> prvek v elementu následujícím kódem XML technického <RelyingParty> profilu.

     <TechnicalProfile Id="PolicyProfile">
       <DisplayName>PolicyProfile</DisplayName>
       <Protocol Name="SAML2"/>
       <OutputClaims>
         <OutputClaim ClaimTypeReferenceId="displayName" />
         <OutputClaim ClaimTypeReferenceId="givenName" />
         <OutputClaim ClaimTypeReferenceId="surname" />
         <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
         <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
         <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
       </OutputClaims>
       <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
     </TechnicalProfile>
    

    Konečný soubor zásad pro předávající stranu by měl vypadat jako následující kód XML:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <TrustFrameworkPolicy
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
     PolicySchemaVersion="0.3.0.0"
     TenantId="fabrikam.onmicrosoft.com"
     PolicyId="B2C_1A_signup_signin_saml"
     PublicPolicyUri="http://fabrikam.onmicrosoft.com/B2C_1A_signup_signin_saml">
     <BasePolicy>
       <TenantId>fabrikam.onmicrosoft.com</TenantId>
       <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
     </BasePolicy>
    
     <UserJourneys>
       <UserJourney Id="SignUpOrSignIn">
         <OrchestrationSteps>
           <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="AkamaiSaml2AssertionIssuer"/>
         </OrchestrationSteps>
       </UserJourney>
     </UserJourneys>
     <RelyingParty>
       <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
       <TechnicalProfile Id="PolicyProfile">
         <DisplayName>PolicyProfile</DisplayName>
         <Protocol Name="SAML2"/>
         <OutputClaims>
           <OutputClaim ClaimTypeReferenceId="displayName" />
           <OutputClaim ClaimTypeReferenceId="givenName" />
           <OutputClaim ClaimTypeReferenceId="surname" />
           <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
           <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
           <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
         </OutputClaims>
         <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
       </TechnicalProfile>
     </RelyingParty>
     </TrustFrameworkPolicy>
    

Poznámka:

Stejným postupem můžete implementovat i jiné typy toků, například přihlášení, resetování hesla nebo toky úprav profilu.

Krok 4 – Nahrání zásad

Uložte změny a nahrajte TrustFrameworkBase.xmlnové TrustFrameworkExtensions.xml soubory a SignUpOrSigninSAML.xml soubory zásad na web Azure Portal.

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.

  3. Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.

  4. V části Zásady vyberte Architekturu prostředí identit. Vyberte Nahrát vlastní zásady a potom nahrajte dva soubory zásad, které jste změnili, v následujícím pořadí:

    • Základní soubor, například TrustFrameworkBase.xml
    • Zásady rozšíření, například TrustFrameworkExtensions.xml
    • Pak zásady předávající strany, například SignUpOrSigninSAML.xml.

Krok 5: Stažení metadat SAML zprostředkovatele identity Azure AD B2C

Po nahrání souborů zásad použije Azure AD B2C informace o konfiguraci k vygenerování dokumentu metadat SAML zprostředkovatele identity, který bude aplikace používat. Dokument metadat SAML obsahuje umístění služeb, jako jsou metody přihlašování, metody odhlášení a certifikáty.

  • Metadata zásad Azure AD B2C jsou k dispozici na následující adrese URL: https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata

  • Nahraďte <tenant-name> názvem vašeho tenanta Azure AD B2C. Nahraďte <policy-name> názvem (ID) zásady. Tady je příklad: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata

Stáhněte si metadata SAML a uložte je místně na svém zařízení. K dokončení konfigurace v přístupu k podnikovým aplikacím Akamai je potřeba následující krok.

Krok 6 : Registrace aplikace Akamai Enterprise Application Access v Azure AD B2C

Aby Služba Azure AD B2C důvěřovala přístupu k podnikovým aplikacím Akamai, vytvořte registraci aplikace Azure AD B2C. Registrace obsahuje informace o konfiguraci, jako je koncový bod metadat aplikace.

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.

  3. V nabídce vlevo vyberte Azure AD B2C. Nebo vyberte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.

  4. Vyberte Registrace aplikací a pak vyberte Nová registrace.

  5. Zadejte název aplikace. Zadejte například Akamai B2C Enterprise Application Access.

  6. V části Podporované typy účtů vyberte Pouze účty v tomto organizačním adresáři (pouze B2C – Jeden tenant).

  7. V části Identifikátor URI přesměrování vyberte web a pak zadejte adresu URL Akamai definovanou v nastavení přístupu k podnikové aplikaci Akamai\Obecné v kroku 1. Například, https://fabrikam.login.go.akamai-access.com/saml/sp/response.

  8. Vyberte Zaregistrovat.

Krok 7 : Konfigurace aplikace Akamai Enterprise Application Access v Azure AD B2C

V případě SAML musíte v manifestu registrace aplikace nakonfigurovat několik vlastností.

  1. Na webu Azure Portal přejděte k registraci aplikace, kterou jste vytvořili v kroku 3.

  2. V části Spravovat vyberte Manifest a otevřete editor manifestu. Potom upravte vlastnosti popsané v následující části.

Přidání identifikátoru

Když aplikace SAML podnikového přístupu k aplikacím Akamai odešle požadavek do Azure AD B2C, požadavek na ověření SAML zahrnuje Issuer atribut. Hodnota tohoto atributu je obvykle stejná jako hodnota metadat entityID aplikace. Azure AD B2C používá tuto hodnotu k vyhledání registrace aplikace v adresáři a čtení konfigurace. Aby bylo vyhledávání úspěšné, identifierUri musí být v manifestu registrace aplikace vyplněna hodnota, která odpovídá atributu Issuer .

Screenshot shows the b2c saml configuration.

V manifestu identifierURIs registrace vyhledejte parametr a přidejte hodnotu IssuerURI definovanou v kroku 2 Azure AD B2C ClaimsProvider.

Příklad:

"identifierUris": [
		"https://fabrikam.login.go.akamai-access.com/saml/sp/response"
	],

Tato hodnota bude stejná hodnota, která je nakonfigurovaná v požadavcích SAML AuthN pro EntityId aplikaci a entityID hodnota v metadatech aplikace. Budete také muset najít accessTokenAcceptedVersion parametr a nastavit hodnotu na 2.

Důležité

Pokud kód neaktualizujete accessTokenAcceptedVersion 2 , zobrazí se chybová zpráva vyžadující ověřenou doménu.

Krok 8 – Konfigurace nastavení ověřování pro zprostředkovatele identity Azure AD B2C v přístupu k podnikovým aplikacím Akamai

Aktualizujte zprostředkovatele identity Podnikové aplikace Akamai Pro přístup k Azure AD B2C ověřovacími informacemi, jako jsou adresy URL předávající strany.

  1. Přihlášení ke službě Enterprise Center https://control.akamai.com/

  2. V navigační nabídce centra Enterprise Center vyberte zprostředkovatele identity uživatelů identity & přístupu k > aplikacím>.

  3. Vyberte název zprostředkovatele identity vytvořený v kroku 1.

  4. Nahrajte soubor metadat SAML služby Azure AD B2C, který jste stáhli v kroku 5.

  5. Pokud chcete nahrát soubor metadata.xml, vyberte Zvolit soubor.

    Screenshot shows the metadata file.

  6. Vyberte Uložit a nasadit.

Krok 9 : Nasazení podnikového přístupu k aplikacím Akamai Připojení orům ve vašem privátním datacentru

Pokud chcete povolit přístup k privátní aplikaci, nasaďte jeden nebo více konektorů Akamai Enterprise Application Access v privátním datacentru, kde se vaše aplikace nachází. Ujistěte se, že konektory budou mít přístup k vaší privátní aplikaci a mají odchozí přístup ke cloudu Akamai.

Krok 10 – Definování přístupové aplikace v podnikové aplikaci Akamai pro privátní aplikaci

  1. Definujte a nasaďte aplikaci pro přístup k accessu v podnikové aplikaci Akamai.

  2. Při definování accessové aplikace

Možnost 1: Hlavičky HTTP

V této ukázce použijeme aplikaci, která zobrazuje hlavičky docker header-demo-app. Jakmile je aplikace nasazená v privátním prostředí a konektor je schopný získat přístup k aplikaci, vytvořte vlastní aplikaci typu HTTP podle dokumentace Akamai Nakonfigurujte vlastní hlavičky HTTP pro přístupovou aplikaci.

  1. V části Ověřování vyberte zprostředkovatele IDENTITY SAML Azure AD B2C vytvořeného v předchozích krocích.

Screenshot shows the akamai authn application.

  1. V části Upřesnit aplikace namapujte hlavičku HTTP na atributy SAML vydané službou Azure AD B2C v odpovědi SAML po úspěšném ověření.

Příklad:

Název záhlaví Atribut
ps-sso-first http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
ps-sso-last http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
ps-sso-EmailAddress Emailaddress
ps-sso-uid objectId

Screenshot shows the akamai header app mapping.

Otestujte aplikaci výběrem adresy URL Akamai pro webovou aplikaci vlastního typu HTTP, kterou jste vytvořili.

Screenshot shows the akamai header app results.

Možnost 2: OpenID Připojení

V této ukázce použijeme webovou aplikaci ASP.NET MVC, která přihlašuje uživatele pomocí middlewaru Open Web Interface for .NET (OWIN) a platformy Microsoft Identity Platform.

  1. Nakonfigurujte přemostění OIDC na SAML v sadě IDP SAML Azure AD B2C vytvořené v předchozích krocích.

    Screenshot shows the akamai oidc app oidc settings.

  2. Vytvořte vlastní aplikaci typu HTTP podle konfigurace openID Připojení pro aplikaci pro access.

  3. V části Ověřování vyberte zprostředkovatele IDENTITY SAML Azure AD B2C vytvořeného v předchozích krocích podle hlavičkové aplikace HTTP.

    Screenshot shows the akamai authn app settings.

  4. V části Upřesnit vyberte OpenID Připojení 1.0 jako ověřovací mechanismus a pak vyberte Uložit.

    Screenshot shows the akamai oidc app authentication settings.

  5. Zobrazí se nová karta OpenID , zkopírujte adresu URL zjišťování, která je potřeba později v krocích při konfiguraci komponenty OWIN pro testovací aplikaci.

    Screenshot shows the akamai oidc app settings.

  6. V části Deklarace identity definujte deklarace identity, které Akamai vydá pro aplikaci OIDC, a namapujte jejich hodnoty na atributy SAML poskytované službou Azure AD B2C v odpovědi SAML po úspěšném ověření. Tyto deklarace identity musí mapovat, co jste definovali v předchozím kroku při konfiguraci přemostění OIDC na přemostění SAML v Azure AD B2C SAML IdP.

    Screenshot shows the akamai oidc app claim settings.

  7. Nahraďte spouštěcí třídu následujícím kódem ve webové aplikaci ASP.NET MVC.

    Tyto několik změn konfiguruje udělení toku autorizačního kódu, autorizační kód se uplatní pro tokeny v koncovém bodu tokenu pro aplikaci a zavádí adresu metadat pro nastavení koncového bodu zjišťování pro získání metadat od Akamai.

    public class Startup
    {
         // The Client ID is used by the application to uniquely identify itself to Azure AD.
         string clientId = System.Configuration.ConfigurationManager.AppSettings["ClientId"];
    
         //App Client Secret to redeem the code for an access token
         string ClientSecret = System.Configuration.ConfigurationManager.AppSettings["ClientSecret"];
    
         // RedirectUri is the URL where the user will be redirected to after they sign in.
         string redirectUri = System.Configuration.ConfigurationManager.AppSettings["RedirectUri"];
    
         // PostLogoutRedirectUri is the URL where the user will be redirected to after they sign out
         string PostLogoutRedirectUri = System.Configuration.ConfigurationManager.AppSettings["PostLogoutRedirectUri"];
    
         //Authority is the URL for authority
         string authority = System.Configuration.ConfigurationManager.AppSettings["Authority"];
    
         //discovery endpoint for obtaining metadata
         string MetadataAddress = System.Configuration.ConfigurationManager.AppSettings["MetadataAddress"];
    
    
         /// <summary>
         /// Configure OWIN to use OpenIdConnect
         /// </summary>
         /// <param name="app"></param>
         public void Configuration(IAppBuilder app)
       {
         app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
    
         app.UseCookieAuthentication(new CookieAuthenticationOptions());
         app.UseOpenIdConnectAuthentication(
             new OpenIdConnectAuthenticationOptions
             {
                 // Sets the ClientId, authority, RedirectUri as obtained from web.config
                 ClientId = clientId,
                 Authority = authority,
                 RedirectUri = redirectUri,
                 MetadataAddress = MetadataAddress,
                 // PostLogoutRedirectUri is the page that users will be redirected to after sign-out. In this case, it is using the home page
                 PostLogoutRedirectUri = redirectUri,
                 RedeemCode = true,
                 Scope = OpenIdConnectScope.OpenIdProfile,
                 // ResponseType is set to request the code id_token - which contains basic information about the signed-in user
                 ResponseType = OpenIdConnectResponseType.Code,
                  // OpenIdConnectAuthenticationNotifications configures OWIN to send notification of failed authentications to OnAuthenticationFailed method
                 Notifications = new OpenIdConnectAuthenticationNotifications
                 {
                     AuthenticationFailed = OnAuthenticationFailed
                 }
             }
         );
     }
    
     /// <summary>
     /// Handle failed authentication requests by redirecting the user to the home page with an error in the query string
     /// </summary>
     /// <param name="context"></param>
     /// <returns></returns>
     private Task OnAuthenticationFailed(AuthenticationFailedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> context)
     {
         context.HandleResponse();
         context.Response.Redirect("/?errormessage=" + context.Exception.Message);
         return Task.FromResult(0);
        }
    }
    
  8. web.config Do souboru přidejte adresu Metadata, nahraďte clientId, clientsecret, authority, redirectUri a PostLogoutRedirectUri hodnotami z aplikace Akamai v appSettings.

    Tyto hodnoty najdete v předchozím kroku 5 na kartě OpenID pro aplikaci HTTP Akamai, kde jste vytvořili Discovery URL=MetadataAddress. redirectUri je místní adresa konektoru Akamai, která se má přeložit na místní aplikaci OIDC. Authority je authorization_endpoint, kterou najdete v .well-known/openid-configurationdokumentu.

    Adresa URL zjišťování: https://fabrikam.login.go.akamai-access.com/.well-known/openid-configuration

     <appSettings>
       <add key="ClientId" value="xxxxxxxxxxxxxxxxxx" />
       <add key="ClientSecret" value="xxxxxxxxxxxxxxxxxx" />
       <add key="Authority" value="https://fabrikam.login.go.akamai-access.com/oidc/oauth" />
       <add key="redirectUri" value="http://oidcapp.identity.mistermik.com/" />
       <add key="PostLogoutRedirectUri" value="https://oidc-test.go.akamai-access.com/" />
       <add key="MetadataAddress" value="https://fabrikam.login.go.akamai-access.com/.well-known/openid-configuration" />
     </appSettings>
    

    Otestujte aplikaci výběrem adresy URL Akamai pro vytvořenou vlastní webovou aplikaci typu HTTP.

    Screenshot shows the akamai oidc app results.

Testování řešení

  1. Přejděte na adresu URL aplikace pomocí externí adresy URL zadané v přístupu k podnikovým aplikacím Akamai.

  2. Neověřený uživatel se přesměruje na přihlašovací stránku Azure AD B2C.

  3. Ze seznamu na stránce vyberte zprostředkovatele identity.

  4. Přihlaste se jako koncový uživatel pomocí přihlašovacích údajů propojených s Azure AD B2C.

  5. Po úspěšném ověření se koncový uživatel přesměruje zpět do aplikace a přihlásí se k aplikaci jako koncový uživatel.

Další materiály