获取#error = unsupported_response_type&error_description = AADSTS70005:使用令牌请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取#error = unsupported_response_type&error_description = AADSTS70005:使用令牌请求相关的知识,希望对你有一定的参考价值。
我正在尝试在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?还是还有其他我需要做的事情?该应用程序设置为本机应用程序。我已经能够在同一个活动目录中的不同应用程序中执行“code”response_type。
Azure AD确实不支持隐式授权流程。对于您的iOS应用程序,请使用具有刷新令牌支持的授权代码授予流程。您不需要自己编写OAuth流程 - 请改用我们的iOS / OSX SDK:https://github.com/AzureAD/azure-activedirectory-library-for-objc
菲利普,请继续关注隐含的赠款流程 - 这是我们的关注点。
希望这可以帮助。
更新:Azure AD现在支持隐式授权OAuth流。见:qazxsw poi
查看本文如何在Azure门户上的AAD应用程序注册清单文件中设置“oauth2AllowImplicitFlow”。
https://github.com/AzureADSamples/SinglePageApp-AngularJS-DotNet
摘要
问题
在AAD中创建应用程序注册时,您需要手动编辑应用程序清单并将oauth2AllowImplicitFlow属性的值设置为true。否则,AAD登录流程将无效 - 错误“AADSTS70005:response_type'令牌'不支持该应用程序...”
解决方案
请按照以下步骤解决此问题。
- 使用您租户中的管理员帐户登录portal.azure.com。
- 导航到左侧栏中的Azure Active Directory>应用程序注册>您的应用程序。
- 单击描述应用程序的窗格顶部的Manifest。
- 将属性https://msdn.microsoft.com/en-us/skype/websdk/docs/troubleshooting/auth/aadauth-enableimplicitoauth的值更改为
oauth2AllowImplicitFlow
。如果该属性不存在,请添加它并将其值设置为true
。 - 单击“保存”以保存修改后的清单。
true
以上是关于获取#error = unsupported_response_type&error_description = AADSTS70005:使用令牌请求的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Swift 中的 error.userInfo 获取 ["error"]["type"]?
为啥我需要的数据存在时 [context executeFetchRequest: request error: &error] 有时无法获取数据?
如何从 raise_application_error() 获取信息?