如何通过API对Azure AD进行身份验证

时间:2013-09-26 15:35:27

标签: azure authentication active-directory

是否可以在不使用Microsoft Windows帐户登录页面的情况下再次在Azure AD中进行身份验证?

我们在WAAD(Windows Azure Active Directory)实例中创建了一个独立的Web应用程序及其自己的用户群

问题是,该系统的用户只有安装了一个浏览器的公用笔记本电脑(IE9),并且也是Office 365的用户。

当尝试从IE访问我们的应用程序时,它表示用户已经使用他们的Office 365帐户登录,并且注销和切换帐户的过程需要15分钟点击多个重定向和错误页面。 (总闹剧!)

作为一个快速解决方案,有没有办法我们可以创建自己的登录页面(比如古老的表格auth)来捕获信用卡,并将它们发送到WAAD以通过API获取令牌,允许用户成为同时登录office365和我们的WAAD实例?

1 个答案:

答案 0 :(得分:0)

请查看我的问题的答案:Using ADAL C# as Confidential User /Daemon Server /Server-to-Server - 401 Unauthorized 也许它适用于您的场景:

为令牌构建以下HTTP-Reqest:

<强> URL: https://login.windows.net/MyCompanyTenant.onmicrosoft.com/oauth2/token

标题:

  • 缓存控制:无缓存
  • 内容类型:application / x-www-form-urlencoded

正文:

  • client_id:YourClientIdFromAzureAd
  • 资源:https://myCompanyTenant.crm.dynamics.com
  • 用户名:yourUser@myCompanyTenant.onmicrosoft.com
  • 密码:yourUserPassword
  • grant_type:密码
  • client_secret:YourClientSecretFromAzureAd

构建以下HTTP-Request以访问WebApi:

网址:https://MyCompanyTenant.api.crm.dynamics.com/api/data/v8.0/accounts

标题

  • 缓存控制:无缓存
  • 接受:application / json
  • OData-Version:4.0
  • 授权:Bearer TokenRetrievedFomRequestAbove