首页 > 解决方案 > AAD/B2C 自定义注册 - 使用身份验证代码流 - 如何让 MSAL 使用 id 和刷新令牌交换代码?

问题描述

我们有一个使用自定义策略的自定义注册流程。

我们已经实现了 Auth Code Flow 并设置了 Sign Up 按钮以导航到以下 URL(有点混淆):

https://SampleApp.b2clogin.com/SampleApp.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1A_SampleApp_SIGNUP&client_id=ffffffff-3d49-46b9-9e82-7d1cefa3c0c6&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fuat.SampleApp。 org.au&scope=openid&response_type=code&prompt=login&code_challenge=YTFjNjI1OWYzMzA3MTI4ZDY2Njg5M2RkNmVjNDE5YmEyZGRhOGYyM2IzNjdmZWFhMTQ1ODg3NDcxY2Nl

现在,我们确实从 AAD/B2C 获得了一个代码,但是我们如何让 MSAL 进行令牌交换并将它们推送到我们所需的缓存中?

对此的任何帮助将不胜感激。

提前致谢。

标签: azure-active-directoryazure-ad-b2cmsaladal

解决方案


授权代码流需要有一个资源/范围来兑换访问令牌。您没有提供任何与资源对应的范围,因此没有什么可兑换的。

如果您在 MSAL 身份验证参数对象中配置了适当的范围,MSAL 将自动完成所有这些操作。

按照创建资源 API 应用程序注册,向您的前端公开并授予对范围的访问权限。

然后将您的范围添加到 MSAL 配置。


推荐阅读