通过 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 上进行重定向或托管您的登录页面?
我现在通过这两个示例使用 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 上进行重定向或托管您的登录页面?