繁体   English   中英

使用 azure B2C 的自定义策略获取用户配置文件图片

[英]Get User profile pic using custom policy with azure B2C

我正在测试仅使用 Microsoft 帐户作为登录名的登录系统。 我想当用户登录时我想阅读那里的个人资料以及他们的个人资料图片。

我现在的主张:

<ClaimsSchema>
    <ClaimType Id="picture">
        <DisplayName>Picture</DisplayName>
        <DataType>string</DataType>
    </ClaimType>
</ClaimsSchema>

此外,如果我使用 Microsoft graph 来获取个人资料图片,它只会返回一张图片(如果有一张图片)(带有您姓名首字母的默认图片不算作图片)有没有办法将姓名首字母图片用作图片?

或者如何配置策略以读取个人资料图片?

个人资料照片未在此文档页面上列为可选声明,因此您无法在令牌响应本身中将其作为声明显示。

此外,Graph 似乎不支持面向消费者用户的照片,因此请记住这一点。 尝试这样做时出现此错误: 错误:ConsumerPhotoIsNotSupported

如果您想为组织(Azure AD)用户获取照片, 看起来API 图形将用户照片数据作为二进制数据(作为 JPEG)返回,Azure AD B2C 无法本地处理。 You could use a REST connector to call your own API which fetches the image and either stores it (in something like Blob storage) or converts it to base64 and then returns either the URL or base64 data as a string to Azure AD B2C.

此示例将向您展示如何在自定义策略中获取联合用户的访问令牌,并且此文档文章展示如何使用不记名令牌调用 REST API(如 Graph API)。

看起来 Graph 也不会为没有照片的用户返回任何内容。 所以我认为你在“首字母形象”方面不走运。 如果你想要一些东西,你需要自己生成一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM