【问题标题】:angular 4 add authentication against azure mobile app with adal.js tokenangular 4 使用 adal.js 令牌添加针对 azure 移动应用程序的身份验证
【发布时间】:2017-10-10 10:14:47
【问题描述】:

我正在使用 adal.js 和 azure js 移动应用客户端开发 angular 4 应用。 我正在将此应用程序与我的移动应用程序后端集成在 Adrian Hall 的 zumo 书第 6 章到 angular 4 的更新版本中。

我使用 adal 成功登录,并拥有令牌,但是当我尝试这样做时:

msclient.login('aad', { 'access_token': token })

我收到 401 错误:“您无权查看此目录或页面。”

如果我使用服务器流程:msclient.login('aad'),弹出窗口会立即打开和关闭,登录操作成功,无需输入任何内容。 (我相信令牌是与请求一起发送的)。我想在后端静默登录,因为我已经有了令牌。我错过了什么?

谢谢 艾琳

【问题讨论】:

    标签: angular active-directory azure-mobile-services adal.js


    【解决方案1】:

    根据错误消息,您似乎传递了错误的令牌。

    请检查您保护移动后端的应用程序。默认情况下,您可以使用该应用程序将 id_token 获取传递到移动后端以使用客户端流程。如果您传递 access_token,我们需要使用 Advanced 模式配置 ALLOWED TOKEN AUDIENCES,如下图所示:

    参考下图:

    https://1drv.ms/i/s!Ai1yePW-i2GvhMV_H3zW94o4DBih_Q

    【讨论】:

    • Stack Overflow 论坛的图片服务似乎已关闭。请检查帖子中描述的设置和令牌,我已将图形更新到第三方网站,如果您仍有问题,请随时告诉我。和
    • 嗨!我检查了那个设置。我有 https://.azurewebsites.net,这与我的 Web 应用程序使用的相同,因为所有内容都是一起发布的。至于令牌,我一直在关注这个帖子:blogs.msdn.microsoft.com/premier_developer/2017/04/26/…,我发送的令牌是 AdalService.accessToken
    • 您可以解码来自this site的访问令牌,并检查aud声明是否在移动应用的ALLOWED TOKEN AUDIENCES中配置。
    • 感谢@FeiXue!我按照你的建议做了,发现aud 持有我来自 AAD 的 webapp 应用程序 ID,而不是 url。然后我将它添加到我的移动应用程序允许的令牌受众中,一切正常:)
    猜你喜欢
    • 2015-08-18
    • 2016-02-15
    • 2016-11-16
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多