【问题标题】:Permission error accessing /.auth/refresh访问 /.auth/refresh 的权限错误
【发布时间】:2016-12-09 09:13:21
【问题描述】:

我正在使用带有 Google 和 Microsoft 帐户身份验证的 Azure 应用服务。 我可以访问 mysite/.auth/me,登录时没有问题。 但要刷新令牌,/.auth/refresh 会在出现异常后返回给我。

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

不确定在 Azure 刀片中授予什么访问权限。

【问题讨论】:

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


    【解决方案1】:

    错误信息实际上有点误导。并不是您没有访问 API 的权限,而是您的令牌存储中可能没有刷新令牌。每个提供商在用户登录期间获取刷新令牌的方式略有不同。更多细节在这里:

    https://cgillum.tech/2016/03/07/app-service-token-store/

    为了使其工作,令牌存储必须包含您的提供者的刷新令牌。如果您不熟悉如何执行此操作,这里有一些提示:

    • Google:将 "access_type=offline" 查询字符串参数附加到您的 /.auth/login API 调用(如果使用移动应用 SDK,您可以将其添加到 LogicAsync 重载之一)。
    • Microsoft 帐户:在 Azure 管理门户中选择 wl.offline_access 范围。
    • Azure AD:现在这有点复杂,但请查看我在 enabling Graph API access 上的下一篇文章。按照设置步骤进行操作,您还可以获取 Azure AD 的刷新令牌(如果 Read directory dataresource=… 部分不适用于您,则可以省略它们)。我们计划在未来简化这一点。

    【讨论】:

    • 那篇文章在 2018 年仍然适用吗?我似乎无法为 Azure AD 和 RefreshUserAsync() 启用令牌存储
    • @CarloMendoza 是的,今天仍然适用。
    • 不确定我没有根据您的帖子配置或正确配置的内容。刷新对我来说失败了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 2019-08-21
    • 1970-01-01
    相关资源
    最近更新 更多