如何解决Azure AD B2C:将内置流与自定义策略混合并为JWT共享加密密钥
我正在开发一个使用Azure AD B2C和.NET Core API的应用程序。我们正在尝试混合使用内置用户流和一个自定义策略。内置用于登录和重置密码的用户流程以及用于注册的自定义策略,因为我们要遵循此示例应用程序演示的邀请注册流程。
https://github.com/azure-ad-b2c/samples/blob/master/policies/invite/README.md
我遇到的一个问题是API授权方面。与自定义邀请策略发出的JWT相比,内置用户流发出的JWT的加密和签名集与密钥集不同。如果我为我的API项目设置B2C权限以引用我的登录流程https:// {mytenant} .b2clogin.com / investgradedev.onmicrosoft.com / B2C_1_SI / v2.0,则从登录发出的令牌将被罚款但是从注册发出的令牌未通过授权。如果我设置B2C权限来引用自定义注册策略https:// {mytenant} .b2clogin.com / investgradedev.onmicrosoft.com / B2C_1A_signup_invitation /v2.0,那么我遇到了相反的问题。
- 是否可以使用相同的密钥对来自两个流的令牌进行加密和签名?如果是这样,我该如何设置?
- 我是否应该迫使新用户返回登录流程才能获得有效的令牌?
我是B2C的新手,学习过程非常艰苦,因此非常感谢您提供的任何帮助。
解决方法
-
不,你不能。
-
这是可能的解决方法。
其他选项,将多个授权添加到API。我以AAD和AAD B2C为例:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。