首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure AD B2C领英索赔服务提供商

Azure AD B2C领英索赔服务提供商
EN

Stack Overflow用户
提问于 2017-08-28 15:27:40
回答 1查看 319关注 0票数 2

我正在通过自定义策略实现Linkedin注册/登录,但是当我单击LinkedinExchange按钮时,我会从用户旅程播放器获得以下异常:

当请求URL "https://api.linkedin.com/v1/people/~:(id,名、姓氏、格式化名称、电子邮件地址“(https://api.linkedin.com/v1/people/~:(id,first-name,last-name,formatted-name,email-address%29)”使用"Get“)时,出现了异常。异常状态代码为"ProtocolError“,包含以下消息:远程服务器返回一个错误:(401)未经授权。远程服务器返回一个错误:(401)未经授权。

我补充道,这是Linkedin的ClaimsProvider:

代码语言:javascript
复制
<ClaimsProvider>
  <Domain>linkedin.com</Domain>
  <DisplayName>Linkedin</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="Linkedin-OAUTH">
      <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="AccessTokenResponseFormat">json</Item>
        <Item Key="ClaimsEndpoint">https://api.linkedin.com/v1/people/~:(id,first-name,last-name,formatted-name,email-address)?format=json</Item>
        <Item Key="HttpBinding">POST</Item>
        <Item Key="UsePolicyInRedirectUri">0</Item>
        <Item Key="client_id">XXXXXXXXXXXX</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="client_secret" StorageReferenceId="B2C_1A_LinkedinSecret" />
      </CryptographicKeys>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="socialIdpUserId" PartnerClaimType="id" />
        <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress" />
        <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName" />
        <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lastName" />
        <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="formattedName" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="Linkedin" />
        <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="Linkedin" />
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
        <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
        <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
        <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
      </OutputClaimsTransformations>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

有人看到我做错什么了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-29 07:38:18

为了通过自定义策略将LinkedIn添加为Azure AD B2C中的身份提供者,请确保在ClaimsProvider的<Metadata>部分中有以下条目:

<Item Key="ClaimsEndpointAccessTokenName">oauth2_access_token</Ite‌​m>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45922492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档