我使用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支持并等待解决。同时,我想与社区分享这一点,看看是否有人有关于这个问题的任何信息。
由于
答案 0 :(得分:40)
如果要构建客户端应用程序,则需要从应用程序清单启用隐式流。
"oauth2AllowImplicitFlow": true,
搜索 oauth2AllowImplicitFlow 并将值更改为true。
通过同一菜单再次上传该文件。
退出并再次登录您的应用程序,这将是一个魅力。
-
有关OAuth2 Implicit flow的更多信息>> link:
隐式授权类型用于移动应用和Web应用程序(即在Web浏览器中运行的应用程序),但不保证客户机密性机密性......
答案 1 :(得分:6)
重新创建我的webApp解决了这个问题。我还在调查MS的根本原因。两个应用程序的清单除了AAD客户端ID外没有什么不同。
更新
请参阅我的评论意见