【问题标题】:getting #error=unsupported_response_type&error_description=AADSTS70005: with token request获取 #error=unsupported_response_type&error_description=AADSTS70005: with token request
【发布时间】:2014-10-20 02:09:57
【问题描述】:

我正在尝试在 IOS 应用程序中实现 OAuth2 隐式授权流程。在这种情况下,它需要令牌请求而不是代码请求,因为您无法在本机应用程序中安全地共享客户端密码。

所以这样的请求会产生一个登录表单:

https://login.windows.net/<tenantid>/oauth2/authorize?api-version=1.0&client_id=<client id>&response_type=token&redirect_uri=shp-apps://localhost:44300/?ReturnUrl=%2F&resource=https://graph.windows.net

成功登录后出现此错误:

#error=unsupported_response_type&error_description=AADSTS70005: response_type 'token' 
  is not supported for the application
Trace+ID: 9008e580-2798-4b6c-a6bf-2bf614b61f64
Correlation+ID: ceb9bb4b-34a4-4441-801f-377f534543b1
Timestamp: 2014-08-26+16%3a24%3a24Z

这真的正确吗,不支持令牌request_type?还是我需要做其他事情?该应用程序设置为本机应用程序。我已经能够在同一个活动目录中的不同应用程序中执行“代码”response_type。

【问题讨论】:

    标签: azure oauth-2.0 azure-active-directory asp.net-identity-2


    【解决方案1】:

    根据 AAD Auth Failures - Implicit OAuth is not enabled for the application 上的 MSDN 文档,您需要在 Azure 门户的 App Registration Manifest 中将 oauth2AllowImplicitFlow 设置为 true

    问题

    在 AAD 中创建应用注册时,您需要手动编辑应用清单并将 oauth2AllowImplicitFlow 属性的值设置为 true。否则 AAD 登录流程将不起作用

    错误“AADSTS70005:应用程序不支持 response_type 'token'...”

    解决方案

    按照以下步骤解决此问题。

    1. 使用租户中的管理员帐户登录 portal.azure.com

    2. 导航到左侧栏中的 Azure Active Directory > 应用注册 > 您的应用

    3. 点击描述您应用的窗格顶部的Manifest

    4. 将属性oauth2AllowImplicitFlow 的值更改为true。如果该属性不存在,则添加它并将其值设置为true

    5. 点击“保存”保存修改后的清单。

    【讨论】:

    • 不要发布仅链接到另一个答案的答案,而是将flag the question作为副本发布。
    • 这篇文章与this one完全相同。
    • 这并不能解决问题。您的编辑 are 完全是 identical。所以我们仍然遇到同样的问题,只是没有帖子没有资格作为实际答案的事实
    【解决方案2】:

    Azure AD 确实不支持隐式授权流。对于您的 iOS 应用,请使用支持刷新令牌的授权代码授予流程。您无需自己编写 OAuth 流程 - 请改用我们的 iOS/OSX SDK:https://github.com/AzureAD/azure-activedirectory-library-for-objc

    Philip,请继续关注隐式授权流程 - 我们正在关注它。

    希望这会有所帮助。

    更新:Azure AD 现在支持隐式授权 OAuth 流。见:https://github.com/AzureADSamples/SinglePageApp-AngularJS-DotNet

    【讨论】:

    • 感谢您的快速更新。这项工作是为测试几个不同的身份提供者做准备,其中之一是 ADFS。所以活动目录库不会是最合适的。回到绘图板!
    • 如果您还有其他问题,请告诉我。顺便说一句,作为 IdP 的 ADFS 2012R2 支持 OAuth 代码流,我们的 ADAL 库可以使用它。考虑一下你的白板。
    • @DushyantGill 只是对此感到困惑——得到了同样的例外。我正在尝试使用 jQuery 来执行 OAuth2 隐式授权流程。我修改了这个例子:itunity.com/article/calling-office-365-apis-jquery-adaljs-2758。我只是用我的值更改了客户端 ID 和租户。难道是 jQuery 不支持 OAuth2 Implicit Grant Flow?将此处的示例与 Angular.js 一起使用时:github.com/Azure-Samples/… 我通过我的 Office365 租户登录没有问题。
    猜你喜欢
    • 2021-09-06
    • 1970-01-01
    • 2020-07-16
    • 2019-12-26
    • 2018-05-27
    • 1970-01-01
    • 2021-12-07
    • 2019-10-15
    • 2019-03-16
    相关资源
    最近更新 更多