代码之家  ›  专栏  ›  技术社区  ›  NikolaiT

如何使用Azure AD B2C获取Facebook的“年龄范围”和“性别”

  •  2
  • NikolaiT  · 技术社区  · 7 年前

    我目前正在使用内置属性。
    我想从FB获得“年龄范围”和“性别”。
    我是否需要按照以下主题中的说明处理自定义策略:

    如何使用Azure AD B2C获取Facebook个人资料图片 how to get Facebook profile picture using Azure AD B2C
    为了得到它们?

    谢谢

    1 回复  |  直到 7 年前
        1
  •  4
  •   Chris Padgett    7 年前

    是的,您必须为此创建自定义策略,然后:

    1: 在扩展文件中声明“ageRange”和“gender”声明类型。

    2: 将“age\u range”和“gender”字段添加到“ClaimsEndpoint”元数据项中,并将“ageRange”和“gender”输出声明添加到“Facebook OAUTH”技术配置文件中。

    3: 在依赖方文件中发布“Agrange”和“性别”索赔。

    如果要将Facebook中的“age\u range”和“gender”字段作为属性保存到Azure AD B2C,则必须:

    1: 遵循 Azure Active Directory B2C: Creating and using custom attributes in a custom profile edit policy 为“Agrange”和“Gender”创建自定义属性的步骤。

    2: 将索赔类型声明以及对它们的所有其他引用从“ageRange”和“gender”更改为“extension\u ageRange”和“extension\u gender”。

    3: 将扩展文件中的“extension\u AgeRange”和“extension\u Gender”声明添加到“AAD UserWriteUsingAlternativeSecurityId”和“AAD UserReadUsingAlternativeSecurityId”技术配置文件中:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AAD-UserReadUsingAlternativeSecurityId">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="extension_AgeRange" />
            <OutputClaim ClaimTypeReferenceId="extension_Gender" />
          </OutputClaims>
        </TechnicalProfile>
        <TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
          <PersistedClaims>
            <PersistedClaim ClaimTypeReferenceId="extension_AgeRange" />
            <PersistedClaim ClaimTypeReferenceId="extension_Gender" />
          </PersistedClaims>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>