0

我们使用 OWIN 中间件通过 OpenId Connect 将人们登录到我们的云应用程序。

问题是,我们还希望通过新的 API 访问他们的 Office 365 数据。

使用 OWIN 登录不会将我们返回到带有代码的网站,因此使用 ADAL,我们会再次将它们发送回同意,然后获取我们的令牌等...

我们能一口气做到这一点吗?

以下是 Fiddler 所说的 OWIN 用于身份验证的内容:

https://login.windows.net/common/oauth2/ authorize? client_id=ourguid &nonce=random characters &response_mode=form_post &response_type=code+id_token &scope=openid+profile &state=OpenIdConnect.AuthenticationProperties*more random characters* &redirect_uri=http%3a%2f%2flocalhost%3a8683 &post_logout_redirect_uri=http%3a%2f%2flocalhost%3a8683

我在查询字符串中看到了 code+id_token,但是当它发回给我时,URL 中根本没有任何内容。

4

1 回答 1

1

您可以通过我们的 OWIN 组件在 OpenId Connect 中一次性完成所有操作,当您取回代码时会触发一个特定通知,您可以处理该通知以兑换该代码。请参阅https://github.com/AzureADSamples/WebApp-WebAPI-OpenIDConnect-DotNet上的示例,特别是 Startup.auth.cs 以了解其工作原理。注意:我们刚刚发布的 RC 将使代码更简单。我仍在努力将示例更新为该效果,您可以查看 RCUpdate 分支以查看正在进行的工作。但是,主分支中的内容是功能性的,因此应该可以解除对您的阻止。!干杯,V。

于 2014-07-12T18:44:16.733 回答