如何向 azure b2c 访问令牌添加自定义声明?
Posted
技术标签:
【中文标题】如何向 azure b2c 访问令牌添加自定义声明?【英文标题】:How to add custom claims to azure b2c access token? 【发布时间】:2021-12-01 11:14:45 【问题描述】:我有一个 Azure Active Directory B2C 帐户。 应用程序的客户端和 Web api 已在此处注册。 还有一些用户流程,例如,用于注册和登录。 受 b2c 令牌保护的 web api (asp net core web api)。 用户登录系统后的逻辑如何实现 Web API 应用程序可以验证 b2c 令牌并将其交换为自己的令牌, 与我需要的索赔。 或者您可以立即将您的自定义声明添加到 b2c 令牌? 前提是声明存储在自己服务器上的数据库中。
研究了 Microsoft 的大量文档。 我发现的第一件事是使用 api 连接器。 https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-api-connector-token-enrichment?pivots=b2c-user-flow 也许这是我的决定?但我不明白如何从 localhost 本地检查。
请分享编写此类逻辑的最佳实践。
【问题讨论】:
【参考方案1】:根据您的链接,您需要使用自定义策略。
在链接中,您可以看到例如从 API 调用返回的“余额”(自定义声明)并添加到 RelyingParty 的 JWT。
您无需转换令牌 - 只需调用 API。
secure 您的 API 有多种选择。
您可以返回error messages。
【讨论】:
@rbraub 感谢您的回答。是否可以通过用户流来实现一个平衡的例子?我只需要向 b2c 令牌添加一个自定义声明。自定义策略的逻辑看起来很复杂而且很复杂。我根据文档进行了尝试,但遇到了问题。更多信息在这里:link 我可能研究的方向错了,请纠正我 确实可以 - docs.microsoft.com/en-us/azure/active-directory-b2c/…以上是关于如何向 azure b2c 访问令牌添加自定义声明?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 IdentityServer4 中添加自定义声明以访问令牌? [关闭]