我使用Azure App Service并使用Google和Microsoft帐户进行身份验证。 我可以访问 mysite / .auth / me ,登录时没有任何问题。 但是要刷新令牌, /。auth / refresh 会在异常后返回。
您无权查看此目录或页面。
不确定Azure刀片中授予的访问权限。
答案 0 :(得分:2)
错误消息实际上有点误导。并不是说您没有权限访问API,而是您的令牌存储中可能没有刷新令牌。在用户登录期间获取刷新令牌的方式对于每个提供者而言略有不同。更多细节在这里:
https://cgillum.tech/2016/03/07/app-service-token-store/
为了使其正常工作,令牌存储必须包含供应商的刷新令牌。如果你不熟悉如何做到这一点,这里有一些提示:
- Google :在您的/.auth/login API调用中添加
"access_type=offline"
查询字符串参数(如果使用Mobile Apps SDK,您可以将其添加到其中一个LogicAsync重载中)- Microsoft帐户:在Azure管理门户中选择
wl.offline_access
范围。- Azure AD :现在这有点复杂,但请查看enabling Graph API access上的下一篇文章。按照设置步骤操作,这也可以让您获得Azure AD的刷新令牌(如果
Read directory data
和resource=…
部分不适用于您,则可以省略它们。该计划将在未来简化这一过程。