我正在开发SPA,Azure AD B2C作为身份提供商。我正在使用MSAL JavaScript library,它大多工作正常。我可以创建用户,登录并为我的Web API后端获取访问令牌。Azure AD B2C未返回刷新令牌
目前唯一的问题是,B2C端点没有返回刷新令牌,所以当访问令牌到期时,UserAgentApplication类中的acquireTokenSilent方法失败,意味着使用刷新令牌刷新过期的访问令牌。
我在B2C中的应用程序在其属性中配置了“包含web应用/ web API”和“允许隐式流”设置为“是”。在“API访问”部分中,“访问用户的个人资料”下的“openid”和“offline_access”范围均被打勾。应用程序本身具有“读取”,“写入”和“user_impersonation”范围(不确定是否重要)。
“offline_access”包含在我的范围,我试过事件创建应用程序之一,像读/写范围和包括以及(如“https://mytenant.onmicrosoft.com/testapp/offline_access”),但似乎没有任何工作。响应从来没有刷新令牌,既不是id令牌,也不是访问令牌。
我注意到的是,当我转到我创建的SignUp-SignIn策略并尝试从那里运行端点时,“offline_access”范围在下拉列表中甚至不可用。即使我复制底部的“运行端点”链接,并在运行它之前将该作用域添加到URL中,该响应也不包含刷新令牌。
当我点击顶部的链接,似乎给我关于端点和支持的范围下只有“OpenID的”是一些细节。
不知道我在这里失踪如此任何想法将不胜感激。