当前位置: 首页 > 知识库问答 >
问题:

使用Azure Active Directory进行身份验证-如何以编程方式接受用户凭据

龙俊德
2023-03-14

似乎您只能通过代码授权来验证用户身份(这意味着跳出我们的应用程序来登录到外部站点)。

最终,我希望创建一个python flask api,如果可能的话,它可以直接对Azure AD进行身份验证。我以前(在其他身份验证系统中)用Oauth grant_type=password发送用户名并通过,但认为Azure AD不支持这一点(如果我错了,请更正我?)我知道支持grant_type=client_credentials,但这似乎是它的服务对服务身份验证,而这与http://msdn.microsoft.com/en-us/library/azure/dn645543.aspx之后的im不太一样

如果不可能在Azure外部托管一个登录页面,那么在Azure内部托管一个登录页面是不是可能,从下面的示例可以看出:http://msdn.microsoft.com/en-us/library/Azure/bc8af4ff-66e7-4d5b-b3d4-c33d2c55d270#bkmk_browser那里没有带有密码字段的自定义登录页面。(似乎只能打开id登录)

共有1个答案

商飞翮
2023-03-14

Azure Active Directory支持资源所有者密码凭据授予(grant_type=Password)流。但是,在使用它之前,请考虑它是否是真正需要的。正如OAuth 2.0 RFC中所说:

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

如果您确定其他受支持的流肯定不适合您的场景,那么也要确保遵循RFC中的第二条建议:

 类似资料:
  • 问题内容: 有什么方法可以使用我自己的用户名和密码页面通过Web应用程序或Web API登录到Azure Active Directory(具有AD凭据)吗? 根据我的调查,似乎没有通过编程的方式发送用户名和密码来使用Azure AD对用户进行身份验证(如果您在Azure之外托管了一个应用程序)不知道他们是否认为这是某种安全漏洞(我不认为这强制执行https吗?) 似乎您只能通过执行代码授权来对用

  • 问题内容: 如何以编程方式向Google进行身份验证?现在不推荐使用ClientLogin(https://developers.google.com/accounts/docs/AuthForInstalledApps),我们如何使用OAuth2对Google执行编程身份验证? 使用ClientLogin,我们可以 使用电子邮件和密码参数在https://www.google.com/accou

  • 我如何以编程方式验证Google?既然ClientLogin(https://developers.Google.com/accounts/docs/authforinstalledApps)已被否决,那么我们如何使用OAuth2对Google执行编程身份验证呢? 使用ClientLogin,我们可以使用电子邮件和密码参数执行到https://www.google.com/accounts/Cli

  • 假设我们有以下部分的web安全配置:

  • 我有一个节点项目 我试过的密码- 运行此命令时,当secret_password错误时,它会正确显示,但当它正确时,它只显示一个单词swagger,表示swagger。io链接。 我搜索了一下,但是没有得到任何关于这个的信息或者例子。我错过了什么吗?

  • null 我研究了OAuth2隐式授权,但它要求用户在成功验证后批准/拒绝应用程序。它在我的情况下不起作用,因为我同时拥有应用程序和API。 我查看了OAuth2密码授权,它并不完美,因为我需要公开client_id/client_secret。 我关注OAuth2的原因是因为该API最终将是公开的。 忘记OAuth2,在用户发布用户名/密码时手动生成access_token(在本例中,当API公