Azure Active Directory B2C kullanarak LinkedIn 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.

Dekont

Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda, yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız, Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.

Önkoşullar

LinkedIn uygulaması oluşturma

Azure Active Directory B2C'de (Azure AD B2C) LinkedIn hesabı olan kullanıcılar için oturum açmayı etkinleştirmek için LinkedIn Geliştiricileri web sitesinde bir uygulama oluşturmanız gerekir. Daha fazla bilgi için bkz . Yetkilendirme Kodu Akışı. LinkedIn hesabınız yoksa adresinden kaydolabilirsiniz https://www.linkedin.com/.

  1. LinkedIn hesabı kimlik bilgilerinizle LinkedIn Geliştiricileri web sitesinde oturum açın.
  2. Uygulamalarım'ı seçin ve ardından Uygulama oluştur'a tıklayın.
  3. Uygulama adı, LinkedIn Sayfası, Gizlilik ilkesi URL'si ve Uygulama logosu girin.
  4. LinkedIn API Kullanım Koşulları'nı kabul edin ve Uygulama oluştur'a tıklayın.
  5. Kimlik Doğrulama sekmesini seçin. Kimlik Doğrulama Anahtarları'nın altında İstemci Kimliği ve İstemci Gizli Anahtarı değerlerini kopyalayın. LinkedIn'i kiracınızda bir kimlik sağlayıcısı olarak yapılandırmak için her ikisine de ihtiyacınız olacaktır. İstemci Gizli Anahtarı önemli bir güvenlik kimlik bilgisidir.
  6. Uygulamanız için yetkili yeniden yönlendirme URL'leri'nin yanındaki düzenleme kalemini seçin ve ardından Yeniden yönlendirme URL'si ekle'yi seçin. https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp girin. Ö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. Kiracı, Azure AD B2C'de büyük harflerle tanımlansa bile kiracı adınızı girerken tüm küçük harfleri kullanmanız gerekir. Güncelleştir'i seçin.
  7. Varsayılan olarak, LinkedIn uygulamanız oturum açmayla ilgili kapsamlar için onaylanmamıştır. Gözden geçirme isteğinde bulunmak için Ürünler sekmesini ve ardından LinkedIn ile Oturum Aç'ı seçin. gözden geçirme tamamlandığında, gerekli kapsamlar uygulamanıza eklenir.

    Dekont

    Uygulamanız için şu anda izin verilen kapsamları OAuth 2.0 kapsamları bölümündeki Kimlik Doğrulama sekmesinde görüntüleyebilirsiniz.

LinkedIn'i kimlik sağlayıcısı olarak yapılandırma

  1. Azure portalda Azure AD B2C kiracınızın genel yöneticisi olarak oturum açın.
  2. 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.
  3. Azure portalın sol üst köşesinde Tüm hizmetler’i seçin ve Azure AD B2C’yi arayıp seçin.
  4. Kimlik sağlayıcıları'nın ardından LinkedIn'i seçin.
  5. Bir Ad girin. Örneğin, LinkedIn.
  6. İstemci Kimliği için, daha önce oluşturduğunuz LinkedIn uygulamasının İstemci Kimliğini girin.
  7. İstemci gizli dizisi için kaydettiğiniz gizli diziyi girin.
  8. Kaydet'i seçin.

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

Bu noktada LinkedIn kimlik sağlayıcısı ayarlanmıştır, ancak henüz oturum açma sayfalarının hiçbirinde kullanılamaz. LinkedIn 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. LinkedIn 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 LinkedIn'i 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. LinkedIn hesabıyla oturum açmak için kaydolma veya oturum açma sayfasında LinkedIn'i 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

Daha önce Azure AD B2C kiracınızda kaydettiğiniz istemci gizli dizisini depolamanız gerekir.

  1. Azure Portal oturum açın.
  2. 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.
  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, LinkedInSecret. B2C_1A_ ön eki anahtarınızın adına otomatik olarak eklenir.
  8. Gizli Dizi alanına daha önce kaydettiğiniz istemci gizli dizisini girin.
  9. Anahtar kullanımı için öğesini seçinSignature.
  10. Oluştur’a tıklayın.

LinkedIn'i kimlik sağlayıcısı olarak yapılandırma

Kullanıcıların LinkedIn 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.

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

  1. SocialAndLocalAccounts/TrustFrameworkExtensions.xml dosyasını düzenleyicinizde açın. Bu dosya, önkoşullardan birinin parçası olarak indirdiğiniz Özel ilke başlangıç paketindedir .

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

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

    <ClaimsProvider>
      <Domain>linkedin.com</Domain>
      <DisplayName>LinkedIn</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="LinkedIn-OAuth2">
          <DisplayName>LinkedIn</DisplayName>
          <Protocol Name="OAuth2" />
          <Metadata>
            <Item Key="ProviderName">linkedin</Item>
            <Item Key="authorization_endpoint">https://www.linkedin.com/oauth/v2/authorization</Item>
            <Item Key="AccessTokenEndpoint">https://www.linkedin.com/oauth/v2/accessToken</Item>
            <Item Key="ClaimsEndpoint">https://api.linkedin.com/v2/me</Item>
            <Item Key="scope">r_emailaddress r_liteprofile</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="external_user_identity_claim_id">id</Item>
            <Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
            <Item Key="ResolveJsonPathsInJsonTokens">true</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="client_id">Your LinkedIn application client ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_LinkedInSecret" />
          </CryptographicKeys>
          <InputClaims />
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="id" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName.localized" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lastName.localized" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="linkedin.com" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="ExtractGivenNameFromLinkedInResponse" />
            <OutputClaimsTransformation ReferenceId="ExtractSurNameFromLinkedInResponse" />
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. client_id değerini daha önce kaydettiğiniz LinkedIn uygulamasının istemci kimliğiyle değiştirin.

  5. Dosyayı kaydedin.

Talep dönüştürmelerini ekleme

LinkedIn teknik profili, ClaimsTransformations listesine eklenecek ExtractGivenNameFromLinkedInResponse ve ExtractSurNameFromLinkedInResponse talep dönüştürmelerini gerektirir. Dosyanızda tanımlanmış bir ClaimsTransformations öğeniz yoksa, üst XML öğelerini aşağıda gösterildiği gibi ekleyin. Talep dönüştürmeleri için nullStringClaim adlı yeni bir talep türü de tanımlanmalıdır.

TrustFrameworkExtensions.xml dosyasının üst kısmına BuildingBlocks öğesini ekleyin. Bir örnek için bkz . TrustFrameworkBase.xml .

<BuildingBlocks>
  <ClaimsSchema>
    <!-- Claim type needed for LinkedIn claims transformations -->
    <ClaimType Id="nullStringClaim">
      <DisplayName>nullClaim</DisplayName>
      <DataType>string</DataType>
      <AdminHelpText>A policy claim to store output values from ClaimsTransformations that aren't useful. This claim should not be used in TechnicalProfiles.</AdminHelpText>
      <UserHelpText>A policy claim to store output values from ClaimsTransformations that aren't useful. This claim should not be used in TechnicalProfiles.</UserHelpText>
    </ClaimType>
  </ClaimsSchema>

  <ClaimsTransformations>
    <!-- Claim transformations needed for LinkedIn technical profile -->
    <ClaimsTransformation Id="ExtractGivenNameFromLinkedInResponse" TransformationMethod="GetSingleItemFromJson">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="inputJson" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="nullStringClaim" TransformationClaimType="key" />
        <OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
      </OutputClaims>
    </ClaimsTransformation>
    <ClaimsTransformation Id="ExtractSurNameFromLinkedInResponse" TransformationMethod="GetSingleItemFromJson">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="surname" TransformationClaimType="inputJson" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="nullStringClaim" TransformationClaimType="key" />
        <OutputClaim ClaimTypeReferenceId="surname" TransformationClaimType="value" />
      </OutputClaims>
    </ClaimsTransformation>
  </ClaimsTransformations>
</BuildingBlocks>

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="LinkedInExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="LinkedInExchange" TechnicalProfileReferenceId="LinkedIn-OAuth2" />
  </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. LinkedIn hesabıyla oturum açmak için kaydolma veya oturum açma sayfasında LinkedIn'i 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.

v1.0'dan v2.0'a geçiş

LinkedIn yakın zamanda API'lerini v1.0'dan v2.0'a güncelleştirdi. Mevcut yapılandırmanızı yeni yapılandırmaya geçirmek için aşağıdaki bölümlerdeki bilgileri kullanarak teknik profildeki öğeleri güncelleştirin.

Meta Verilerdeki öğeleri değiştirme

TechnicalProfile dosyasının mevcut Meta Veri öğesinde aşağıdaki Öğe öğelerini güncelleştirin:

<Item Key="ClaimsEndpoint">https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,headline)</Item>
<Item Key="scope">r_emailaddress r_basicprofile</Item>

Hedef:

<Item Key="ClaimsEndpoint">https://api.linkedin.com/v2/me</Item>
<Item Key="scope">r_emailaddress r_liteprofile</Item>

Meta Veriye öğe ekleme

TechnicalProfile Meta Verileri'neaşağıdaki Öğe öğelerini ekleyin:

<Item Key="external_user_identity_claim_id">id</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
<Item Key="ResolveJsonPathsInJsonTokens">true</Item>

OutputClaims'i güncelleştirme

TechnicalProfile'ın mevcut OutputClaims içinde aşağıdaki OutputClaim öğelerini güncelleştirin:

<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName" />
<OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lastName" />

Hedef:

<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName.localized" />
<OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lastName.localized" />

Yeni OutputClaimsTransformation öğeleri ekleme

TechnicalProfile'ın OutputClaimsTransformations bölümüne aşağıdaki OutputClaimsTransformation öğelerini ekleyin:

<OutputClaimsTransformation ReferenceId="ExtractGivenNameFromLinkedInResponse" />
<OutputClaimsTransformation ReferenceId="ExtractSurNameFromLinkedInResponse" />

Yeni talep dönüşümlerini ve talep türünü tanımlama

Son adımda tanımlanması gereken yeni talep dönüştürmeleri eklediniz. Talep dönüştürmelerini tanımlamak için bunları ClaimsTransformations listesine ekleyin. Dosyanızda tanımlanmış bir ClaimsTransformations öğeniz yoksa, üst XML öğelerini aşağıda gösterildiği gibi ekleyin. Talep dönüştürmeleri için nullStringClaim adlı yeni bir talep türü de tanımlanmalıdır.

BuildingBlocks öğesi dosyanın üst kısmına eklenmelidir. Örnek olarak TrustframeworkBase.xml dosyasına bakın.

<BuildingBlocks>
  <ClaimsSchema>
    <!-- Claim type needed for LinkedIn claims transformations -->
    <ClaimType Id="nullStringClaim">
      <DisplayName>nullClaim</DisplayName>
      <DataType>string</DataType>
      <AdminHelpText>A policy claim to store unuseful output values from ClaimsTransformations. This claim should not be used in a TechnicalProfiles.</AdminHelpText>
      <UserHelpText>A policy claim to store unuseful output values from ClaimsTransformations. This claim should not be used in a TechnicalProfiles.</UserHelpText>
    </ClaimType>
  </ClaimsSchema>

  <ClaimsTransformations>
    <!-- Claim transformations needed for LinkedIn technical profile -->
    <ClaimsTransformation Id="ExtractGivenNameFromLinkedInResponse" TransformationMethod="GetSingleItemFromJson">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="inputJson" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="nullStringClaim" TransformationClaimType="key" />
        <OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
      </OutputClaims>
    </ClaimsTransformation>
    <ClaimsTransformation Id="ExtractSurNameFromLinkedInResponse" TransformationMethod="GetSingleItemFromJson">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="surname" TransformationClaimType="inputJson" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="nullStringClaim" TransformationClaimType="key" />
        <OutputClaim ClaimTypeReferenceId="surname" TransformationClaimType="value" />
      </OutputClaims>
    </ClaimsTransformation>
  </ClaimsTransformations>
</BuildingBlocks>

E-posta adresi alma

v1.0'dan v2.0'a LinkedIn geçişinin bir parçası olarak, e-posta adresini almak için başka bir API'ye ek bir çağrı yapılması gerekir. Kaydolma sırasında e-posta adresini almanız gerekiyorsa aşağıdakileri yapın:

  1. Kullanıcının oturum açmasına izin vermek için Azure AD B2C'nin LinkedIn ile federasyon yapmasına izin vermek için yukarıdaki adımları tamamlayın. Federasyonun bir parçası olarak, Azure AD B2C LinkedIn için erişim belirtecini alır.

  2. LinkedIn erişim belirtecini bir talepte kaydedin. Buradaki yönergelere bakın.

  3. LinkedIn'in API'sine /emailAddress istekte bulunan aşağıdaki talep sağlayıcısını ekleyin. Bu isteği yetkilendirmek için LinkedIn erişim belirtecine ihtiyacınız vardır.

    <ClaimsProvider>
      <DisplayName>REST APIs</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="API-LinkedInEmail">
          <DisplayName>Get LinkedIn email</DisplayName>
          <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
          <Metadata>
              <Item Key="ServiceUrl">https://api.linkedin.com/v2/emailAddress?q=members&amp;projection=(elements*(handle~))</Item>
              <Item Key="AuthenticationType">Bearer</Item>
              <Item Key="UseClaimAsBearerToken">identityProviderAccessToken</Item>
              <Item Key="SendClaimsIn">Url</Item>
              <Item Key="ResolveJsonPathsInJsonTokens">true</Item>
          </Metadata>
          <InputClaims>
              <InputClaim ClaimTypeReferenceId="identityProviderAccessToken" />
          </InputClaims>
          <OutputClaims>
              <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="elements[0].handle~.emailAddress" />
          </OutputClaims>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Bir kullanıcı LinkedIn kullanarak oturum açtığında API talep sağlayıcısının tetiklenebilmesi için aşağıdaki düzenleme adımını kullanıcı yolculuğunuza ekleyin. Numarayı uygun şekilde güncelleştirdiğinden Order emin olun. LinkedIn teknik profilini tetikleyen düzenleme adımından hemen sonra bu adımı ekleyin.

    <!-- Extra step for LinkedIn to get the email -->
    <OrchestrationStep Order="3" Type="ClaimsExchange">
      <Preconditions>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
          <Value>identityProvider</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="false">
          <Value>identityProvider</Value>
          <Value>linkedin.com</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsExchanges>
        <ClaimsExchange Id="GetEmail" TechnicalProfileReferenceId="API-LinkedInEmail" />
      </ClaimsExchanges>
    </OrchestrationStep>
    

Kaydolma sırasında LinkedIn'den e-posta adresini almak isteğe bağlıdır. E-postayı LinkedIn'den almamayı seçerseniz ancak kaydolma sırasında bir e-posta gerektirirseniz, kullanıcının e-posta adresini el ile girmesi ve doğrulaması gerekir.

LinkedIn kimlik sağlayıcısını kullanan bir ilkenin tam örneği için bkz . Özel İlke Başlangıç Paketi.

v1.0'dan v2.0'a geçiş

LinkedIn yakın zamanda API'lerini v1.0'dan v2.0'a güncelleştirdi. Geçiş kapsamında, Azure AD B2C yalnızca kayıt sırasında LinkedIn kullanıcısının tam adını alabilir. E-posta adresi kayıt sırasında toplanan özniteliklerden biriyse, kullanıcının e-posta adresini el ile girmesi ve doğrulaması gerekir.