Azure Active Directory B2C kullanarak SwissID hesabıyla kaydolma ve oturum açma ayarlama

Başlamadan önce, ayarladığınız ilke türünü seçmek için İlke türü seçin seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşim kurduğunu tanımlamak için iki yöntem sunar: önceden tanımlanmış kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler aracılığıyla. Bu makalede gerekli adımlar her yöntem için farklıdır.

Bu makalede, Azure Active Directory B2C (Azure AD B2C) kullanarak uygulamalarınızda SwissID hesapları olan müşterilere kaydolma ve oturum açma sağlamayı öğreneceksiniz. SwissID'yi OpenID Bağlan protokolü kullanarak kullanıcı akışlarınıza veya özel ilkenize eklersiniz. Daha fazla bilgi için bkz. SwissID Tümleştirme Yönergeleri – OpenID Bağlan.

Önkoşullar

SwissID uygulaması oluşturma

Azure AD B2C'de SwissID hesabı olan kullanıcılar için oturum açmayı etkinleştirmek için bir uygulama oluşturmanız gerekir. SwissID uygulaması oluşturmak için şu adımları izleyin:

  1. SwissID İş Ortağı desteğine başvurun.

  2. SwissID ile kaydoldıktan sonra Azure AD B2C kiracınız hakkında bilgi sağlayın:

    Tuş Dekont
    Yeniden yönlendirme URI'si URI'yi https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp sağlayın. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. değerini kiracınızın adıyla ve your-domain-name özel etki alanınızla değiştirinyour-tenant-name.
    Belirteç uç noktası kimlik doğrulama yöntemi client_secret_post
  3. Uygulama kaydedildikten sonra SwissID tarafından aşağıdaki bilgiler sağlanacaktır. Kullanıcı akışınızı veya özel ilkenizi yapılandırmak için bu bilgileri kullanın.

    Tuş Dekont
    Environment SwissID OpenId iyi bilinen yapılandırma uç noktası. Örneğin, https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration.
    İstemci kimliği SwissID istemci kimliği. Örneğin, 11111111-2222-3333-4444-555555555555.
    Password SwissID gizli dizisi.

SwissID'yi kimlik sağlayıcısı olarak yapılandırma

  1. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.

  2. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.

  3. Kimlik sağlayıcıları'yı ve ardından Yeni OpenID Bağlan sağlayıcı'yı seçin.

  4. Bir Ad girin. Örneğin, SwissID girin.

  5. Meta veri URL'si için URL SwissID OpenId iyi bilinen yapılandırma uç noktasını girin. Örnek:

    https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration
    
  6. İstemci Kimliği için SwissID İstemci Kimliğini girin.

  7. İstemci gizli dizisi için SwissID istemci gizli dizisini girin.

  8. Kapsam için girinopenid profile email.

  9. Yanıt türü ve Yanıt modu için varsayılan değerleri bırakın.

  10. (İsteğe bağlı) Etki alanı ipucu için girinswissid.com. Daha fazla bilgi için bkz . Azure Active Directory B2C kullanarak doğrudan oturum açmayı ayarlama.

  11. Kimlik sağlayıcısı beyan eşlemesi'nin altında aşağıdaki talepleri seçin:

    • Kullanıcı Kimliği: alt
    • Verilen ad: given_name
    • Soyadı: family_name
    • E-posta: e-posta
  12. Kaydet'i seçin.

Kullanıcı akışına SwissID kimlik sağlayıcısı ekleme

Bu noktada SwissID kimlik sağlayıcısı ayarlanmıştır ancak henüz oturum açma sayfalarının hiçbirinde mevcut değildir. SwissID kimlik sağlayıcısını bir kullanıcı akışına eklemek için:

  1. Azure AD B2C kiracınızda Kullanıcı akışları'yı seçin.
  2. SwissID kimlik sağlayıcısını eklemek istediğiniz kullanıcı akışına tıklayın.
  3. Sosyal kimlik sağlayıcıları altında SwissID'yi seçin.
  4. Kaydet'i seçin.
  5. İlkenizi test etmek için Kullanıcı akışını çalıştır'ı seçin.
  6. Uygulama için daha önce kaydettiğiniz testapp1 adlı web uygulamasını seçin. Yanıt URL'si göstermelidirhttps://jwt.ms.
  7. Kullanıcı akışını çalıştır düğmesini seçin.
  8. SwissID hesabıyla oturum açmak için kaydolma veya oturum açma sayfasında SwissID'yi seçin.

Oturum açma işlemi başarılı olursa, tarayıcınız Azure AD B2C tarafından döndürülen belirtecin içeriğini görüntüleyen öğesine yönlendirilir https://jwt.ms.

İlke anahtarı oluşturma

SwissID'den aldığınız istemci gizli dizisini Azure AD B2C kiracınızda depolamanız gerekir.

  1. Azure Portal oturum açın.
  2. Azure AD B2C kiracınızı içeren dizini kullandığınızdan emin olun. Üst menüdeki Dizin + abonelik filtresini seçin ve kiracınızı içeren dizini seçin.
  3. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.
  4. Genel Bakış sayfasında Kimlik Deneyimi Çerçevesi'ni seçin.
  5. İlke Anahtarları'nı ve ardından Ekle'yi seçin.
  6. Seçenekler için öğesini seçinManual.
  7. İlke anahtarı için bir Ad girin. Örneğin, SwissIDSecret. Ön ek B2C_1A_ , anahtarınızın adına otomatik olarak eklenir.
  8. Secret alanına SwissID istemci gizli dizinizi girin.
  9. Anahtar kullanımı için öğesini seçinSignature.
  10. Oluştur’a tıklayın.

SwissID'yi kimlik sağlayıcısı olarak yapılandırma

Kullanıcıların SwissID hesabı kullanarak oturum açmasını sağlamak için hesabı Azure AD B2C'nin bir uç nokta üzerinden iletişim kurabileceği bir talep sağlayıcısı olarak tanımlamanız gerekir. Uç nokta, belirli bir kullanıcının kimliğini doğrulamak için Azure AD B2C tarafından kullanılan bir dizi talep sağlar.

SwissID hesabını ilkenizin uzantı dosyasındaki ClaimsProviders öğesine ekleyerek talep sağlayıcısı olarak tanımlayabilirsiniz.

  1. TrustFrameworkExtensions.xml dosyasını açın.

  2. ClaimsProviders öğesini bulun. Yoksa kök öğesinin altına ekleyin.

  3. Aşağıdaki gibi yeni bir ClaimsProvider ekleyin:

    <ClaimsProvider>
      <Domain>SwissID.com</Domain>
      <DisplayName>SwissID</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SwissID-OpenIdConnect">
          <DisplayName>SwissID</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration</Item>
            <Item Key="client_id">Your Swiss client ID</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_SwissIDSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateDisplayName" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. client_id SwissID istemci kimliği olarak ayarlayın.

  5. Dosyayı kaydedin.

Kullanıcı yolculuğu ekleme

Bu noktada, kimlik sağlayıcısı ayarlanmıştır, ancak henüz oturum açma sayfalarından herhangi birinde kullanılamaz. Kendi özel kullanıcı yolculuğunuz yoksa, mevcut şablon kullanıcı yolculuğunun bir kopyasını oluşturun, aksi takdirde sonraki adıma geçin.

  1. Başlangıç paketinden TrustFrameworkBase.xml dosyasını açın.
  2. içeren Id="SignUpOrSignIn"UserJourney öğesinin tüm içeriğini bulun ve kopyalayın.
  3. TrustFrameworkExtensions.xml dosyasını açın ve UserJourneys öğesini bulun. Öğesi yoksa bir tane ekleyin.
  4. UserJourneys öğesinin alt öğesi olarak kopyaladığınız UserJourney öğesinin tüm içeriğini yapıştırın.
  5. Kullanıcı yolculuğunun kimliğini yeniden adlandırın. Örneğin, Id="CustomSignUpSignIn".

Kimlik sağlayıcısını kullanıcı yolculuğuna ekleme

Artık bir kullanıcı yolculuğunuz olduğuna göre, yeni kimlik sağlayıcısını kullanıcı yolculuğuna ekleyin. Önce bir oturum açma düğmesi eklersiniz, ardından düğmeyi bir eyleme bağlarsınız. Eylem, daha önce oluşturduğunuz teknik profildir.

  1. veya içeren düzenleme adımı öğesini Type="CombinedSignInAndSignUp"Type="ClaimsProviderSelection" kullanıcı yolculuğunda bulun. Genellikle ilk düzenleme adımıdır. ClaimsProviderSelections öğesi, kullanıcının oturum açabileceği kimlik sağlayıcılarının listesini içerir. Öğelerin sırası, kullanıcıya sunulan oturum açma düğmelerinin sırasını denetler. ClaimsProviderSelection XML öğesi ekleyin. TargetClaimsExchangeId değerini kolay bir ad olarak ayarlayın.

  2. Sonraki düzenleme adımında claimsexchange öğesi ekleyin. Kimliği hedef talep değişim kimliğinin değerine ayarlayın. TechnicalProfileReferenceId değerini daha önce oluşturduğunuz teknik profilin kimliğine güncelleştirin.

Aşağıdaki XML, kimlik sağlayıcısıyla bir kullanıcı yolculuğunun ilk iki düzenleme adımını gösterir:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="SwissIDExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="SwissIDExchange" TechnicalProfileReferenceId="SwissID-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Bağlı olan taraf ilkesini yapılandırma

Bağlı olan taraf ilkesi, örneğin SignUpSignIn.xml, Azure AD B2C'nin yürüteceği kullanıcı yolculuğunu belirtir. Bağlı olan taraf içinde DefaultUserJourney öğesini bulun. ReferenceId değerini, kimlik sağlayıcısını eklediğiniz kullanıcı yolculuğu kimliğiyle eşleşecek şekilde güncelleştirin.

Aşağıdaki örnekte, kullanıcı yolculuğu için CustomSignUpSignIn ReferenceId değeri olarak CustomSignUpSignInayarlanmıştır:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Özel ilkeyi karşıya yükleme

  1. Azure Portal oturum açın.
  2. Portal araç çubuğunda Dizin + Abonelik simgesini ve ardından Azure AD B2C kiracınızı içeren dizini seçin.
  3. Azure portalında Azure AD B2C'yi arayın ve seçin.
  4. İlkeler'in altında Kimlik Deneyimi Çerçevesi'ne tıklayın.
  5. Özel İlkeyi Karşıya Yükle'yi seçin ve değiştirdiğiniz iki ilke dosyasını şu sırayla karşıya yükleyin: uzantı ilkesi, örneğin TrustFrameworkExtensions.xml, ve gibi SignUpSignIn.xmlbağlı olan taraf ilkesi.

Özel ilkenizi test edin

  1. Bağlı olan taraf ilkenizi seçin, örneğin B2C_1A_signup_signin.
  2. Uygulama için daha önce kaydettiğiniz bir web uygulamasını seçin. Yanıt URL'si göstermelidirhttps://jwt.ms.
  3. Şimdi çalıştır düğmesini seçin.
  4. SwissID hesabıyla oturum açmak için kaydolma veya oturum açma sayfasında SwissID'yi seçin.

Oturum açma işlemi başarılı olursa, tarayıcınız Azure AD B2C tarafından döndürülen belirtecin içeriğini görüntüleyen öğesine yönlendirilir https://jwt.ms.

Üretime taşıma

SwissID IdP, Ön Üretim ve Üretim ortamları sağlar. Bu makalede açıklanan yapılandırma, üretim öncesi ortamı kullanır. Üretim ortamını kullanmak için şu adımları izleyin:

  1. Üretim ortamı için SwissId desteğine başvurun.
  2. Kullanıcı akışınızı veya özel ilkenizi iyi bilinen yapılandırma uç noktasının URI'siyle güncelleştirin.

Sonraki adımlar

SwissID belirtecini uygulamanıza geçirmeyi öğrenin.