这是关于“Apache Cordova应用程序的Active Directory身份验证库(ADAL)插件”(https://github.com/AzureAD/azure-activedirectory-library-for-cordova)。
这是我的问题:
成功登录后,Cordova插件的“acquireTokenAsync”方法为我提供了一个包含(其中包括)id_token和access_token的响应。
这很酷,但有没有办法接收授权码(除了令牌)?
我的意思是,如果您在Web应用程序(基于浏览器)中实现AzureAD / OAuth身份验证流程,则可以在“授权”URL中添加“response_type”参数。使用此“response_type”参数,您可以指定要在重定向URL中接收的数据类型(成功登录后):
response_type="token"
response_type="code"
response_type="code id_token"
etcetera(有关信息,请参阅https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-code)。
所以,我想要的是指定“代码令牌”或“代码id_token”的response_type。 Cordova插件是否可以这样?
我搜索了高低,但没有快乐。
看起来很有希望的唯一选项是“acquireTokenAsync”方法的“extraQueryParameters”参数,我试过这个但是没有产生预期的结果(我收到一个错误,“response_type”参数已经设置,显然我不能以这种方式覆盖现有的URL参数,只添加新的参数。
似乎无法设置或覆盖“response_type”,或者是否存在?
(一种方法可能是修改Azure门户中的Azure AD应用配置,如下所述:https://stackoverflow.com/a/43675721)