使用 Microsoft Oauth2 针对自定义应用程序和 Cookie/令牌信息进行身份验证

问题描述 投票:0回答:1

这是我的场景 - 我有一个使用 Microsoft Entra 身份验证的简单 Web 应用程序。当我在浏览器中访问该网站并输入用户名和密码并进行身份验证时,我会得到许多想要提取的项目 - 特别是 AppServiceAuthSession Cookie 和 Bearer Token。

标准 MS 登录页面见下文:

我想做的是使用邮递员之类的东西来调用API,向其传递用户名和密码并获取上述项目。不幸的是,当涉及到 API、Auth 等时,我是一个过于热情的业余爱好者。

我怀疑我错过了几个关键步骤。

azure authentication oauth-2.0
1个回答
0
投票

我想做的是使用邮递员之类的东西来调用API,向其传递用户名和密码并获取以上项目。

根据您的需求,您可以使用ROPC流程来调用API。

  • 出于安全目的,Microsoft 不推荐 ROPC 流。
  • 此流程不支持个人 Microsoft 帐户和启用了 MFA 的帐户。
  • 因此,您需要利用其他交互流程,例如授权代码流程,将用户重定向到浏览器进行登录。

如果您想通过传递用户名和密码来调用API,请检查以下内容:

https://login.microsoftonline.com/TenantID/oauth2/v2.0/token

client_id:ClientID
scope:https://graph.microsoft.com/.default offline_access openid
username:[email protected]
password:UserPassword
grant_type:password
client_secret:Clientsecret

将生成代币:

enter image description here

对于示例,使用上面生成的访问令牌,您可以调用 Microsoft Graph API:

GET https://graph.microsoft.com/v1.0/me

enter image description here

您可以传递自定义 API 的范围并使用访问令牌调用 API。

如果您不想通过

client_secret
,请启用公共客户端流程,如下所示:

enter image description here

参考:

Microsoft 身份平台和 OAuth 2.0 资源所有者密码凭据 - Microsoft 身份平台 |微软

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.