ADAL JS - 不支持response_type =“token”

时间:2015-03-29 08:00:07

标签: azure adal

我使用adal js与Azure AD进行身份验证。我有webApp和webApi。我的应用程序几乎都遵循此示例https://github.com/AzureADSamples/SinglePageApp-WebAPI-AngularJS-DotNet

我能够登录我的webApp并且adal.js成功获取了webApi的令牌并将其注入请求中。一切都在工作到最近。然后webApi的令牌获取停止了错误:

" response_type'令牌'应用程序不支持"

renewToken失败:AADSTS70005:response_type'令牌'该应用程序不支持 跟踪ID:104c18e3-eb6e-42a4-a292-c6f170f27f65 相关ID:c2e65622-0c58-473a-8184-b3056fb1af58 时间戳:2015-03-27 22:53:12Z

我可以清楚地看到adal.js正在建立一个请求并放置" response_type = token"到查询字符串。所以,我的假设是在Azure AD方面发生了一些变化。

我发现一篇文章将response_type = token与隐式授权流程相关联。我确认我的webApp有" oauth2AllowImplicitFlow"启用。我已联系MS支持并等待解决。同时,我想与社区分享这一点,看看是否有人有关于这个问题的任何信息。

由于

2 个答案:

答案 0 :(得分:40)

如果要构建客户端应用程序,则需要从应用程序清单启用隐式流。

  "oauth2AllowImplicitFlow": true,
  1. 打开您的应用程序配置azure门户,并从 Manage Manifest 菜单中下载清单文件。
  2. enter image description here

    1. 搜索 oauth2AllowImplicitFlow 并将值更改为true。

    2. 通过同一菜单再次上传该文件。

    3. 退出并再次登录您的应用程序,这将是一个魅力。

      -

      有关OAuth2 Implicit flow的更多信息>> link

      隐式授权类型用于移动应用和Web应用程序(即在Web浏览器中运行的应用程序),但不保证客户机密性机密性......

答案 1 :(得分:6)

重新创建我的webApp解决了这个问题。我还在调查MS的根本原因。两个应用程序的清单除了AAD客户端ID外没有什么不同。

更新

请参阅我的评论意见