访问/.auth/refresh的权限错误

时间:2016-08-03 14:57:40

标签: azure authentication xamarin.forms azure-mobile-services

我使用Azure App Service并使用Google和Microsoft帐户进行身份验证。 我可以访问 mysite / .auth / me ,登录时没有任何问题。 但是要刷新令牌, /。auth / refresh 会在异常后返回。

  

您无权查看此目录或页面。

不确定Azure刀片中授予的访问权限。

1 个答案:

答案 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 dataresource=…部分不适用于您,则可以省略它们。该计划将在未来简化这一过程。
  •