从Cordova-app中的Azure AD获取access_token

时间:2015-04-02 08:05:06

标签: javascript cordova azure oauth-2.0 azure-active-directory

我有一个Cordova-app(MobileFirst),我需要在其中使用Azure AD实现身份验证。

由于Cordova-apps没有" url",我使用的是inAppBrowser-trick,它主要是查询授权码 - >打开inAppBrowser - >在SSO屏幕上输入用户名和密码 - >关闭浏览器窗口 - >使用浏览器获得的代码,然后使用HTTP POST查询访问令牌。

这很有效。

当我按下"登录" - 按钮时,它会打开inAppBrowser,显示AD SSO屏幕,我可以输入用户名和密码。然后我得到auth-code,然后我用它来查询accesstoken。问题是它总是抱怨 带有错误的无效授权:AADSTS70000:身份验证失败。授权码无效/格式错误。

为了进行测试,我实施了使用相同流程的Google OAuth2登录,并且工作正常,我在使用Google时获得了access_token。

此时,我不确定它是Azure上的配置,还是应用程序中的问题。 我怀疑它是回复网址(https://localhost/),但是我不应该首先获得授权代码(我认为)。

如果需要,我可以提供代码,但不确定相关内容。

任何帮助?

TL; DR

获取具有auth代码的访问令牌不能与Azure一起使用,但与Google OAuth2一起使用,并且它们都使用几乎相同的流和代码。

1 个答案:

答案 0 :(得分:0)

我们正在开发用于天蓝广告的Cordova插件。我们会尽快发布,请关注blogs.technet.com/ad以获取公告。