通过 restful api 的 Azure AD 身份验证

Azure AD Authentication through restful api

我现在通过这两个示例使用 Azure AD 身份验证,一切正常:

但是有什么方法可以像下面这样使用 restful API 对 Azure AD 进行身份验证吗?

POST https://loginmicrosoft/XXXXXX
Body 
{
    "username":"YOURACCOUNT",
    "password":"YOURPASSWORD"
}

我想使用这种方式的原因是因为我们有自己的登录页面并且想与 Azure AD 集成。

是的,你可以。在 OAuth 2.0 中使用资源所有者密码凭据授权调用它。但是,它不再是 OAuth 2.1 的有效流程,Microsoft 建议您不要使用它。在此处查看他们的文档:https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc

OAuth 2.1 合并了后来规范中发布的更改以简化核心文档。

下面列出了与 OAuth 2.0 的主要区别。

  • 所有使用授权代码流的 OAuth 客户端都需要 PKCE
  • 必须使用精确字符串匹配来比较重定向 URI 本规范省略了隐式授权 (response_type=token)
  • 本规范省略了资源所有者密码凭证授权
  • 不记名令牌的使用省略了 URI 查询字符串中不记名令牌的使用
  • public 客户端的刷新令牌必须受发件人限制或一次性使用

如果您有自己的登录页面,为什么不在 Azure AD 上进行重定向或托管您的登录页面?