3

我一直在查看Azure Active Directory 代码示例中的许多示例,但似乎找不到与我的方案匹配的示例。

我发现的示例有一个登录按钮,一旦单击该按钮,就会将用户重定向到此 URL https://login.microsoftonline.com,从而允许用户进行身份验证。

成功验证后,用户将被重定向回初始网站。

虽然我的情况有些相似,但唯一的区别是我不希望将用户重定向到此https://login.microsoftonline.com页面。

如果可能,我希望用户在我的文本框中输入他的用户名/密码并将它们发送到 ADAL 以获得令牌。

据我了解,由于我在 ASP.NET MVC 应用程序中,Azure AD 期望的是一个client_secret而不是用户的用户名/密码。

换句话说,似乎完成我的任务的唯一方法是:

  • 继续将用户发送到此 https://login.microsoftonline.com页面的方法。
  • b) 获取客户端 ID 和秘密。将 MVC 应用程序作为一个整体进行身份验证,而不是基于每个用户进行身份验证。

我不确定我的问题是否有意义(或没有意义),所以请随时要求澄清。

谢谢

4

1 回答 1

3

不建议在这种情况下使用资源所有者密码凭据流。如果用户不信任您的网络应用程序,它更像是钓鱼网站。

资源所有者密码凭证(即用户名和密码)可以直接用作授权授予来获取访问令牌。仅当资源所有者和客户端之间存在高度信任时(例如,客户端是设备操作系统或高特权应用程序的一部分)以及其他授权授予类型不可用时,才应使用凭据(例如授权码)。

当我们选择OAuth 2 授权框架的交互式流程时,会重定向到身份提供者,因为它是这样工作的!

OAuth 2 授权框架使第三方应用程序能够通过协调资源所有者和 HTTP 服务之间的批准交互来代表资源所有者获得对 HTTP 服务的有限访问权限,或者通过允许第三方应用程序获得代表自己访问。

有关 OAuth2 的更多详细信息,请参阅rfc6749规范。

此外,如果您对公司品牌感兴趣,下面的文章也很有帮助。

将公司品牌添加到您的登录和访问面板页面

于 2017-03-14T05:22:50.383 回答