需要有关 Microsoft OAuth2 流程的信息
Need info with the Microsoft OAuth2 flow
我正在编写一个由 SPA 和 API 组成的项目。
在 SPA 上,我有一个按钮 link Google 或 Microsoft accounts 到用户的帐户。
API 可以随时调用 google/microsoft api。
我使用授权码流程 google 成功了:
- 从 SPA 使用查询参数 response_type=code 和 access_type=offline
将用户重定向到 https://accounts.google.com/o/oauth2/v2/auth
- 将返回码发送至API
- API调用https://oauth2.googleapis.com/token得到一个access_token和一个refresh_token
- 令牌保存在数据库中,API 需要时可以随时使用。
==============
Microsoft 具有类似的授权流程 (https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow),但由于 CORS 策略,我无法将从 SPA 检索到的 authorization_code 用于 API。
我没有使用 PKCE 代码,因为令牌是从使用 client_id 和 client_secret.
的 API 中检索的
=============
我错过了什么吗?甚至有可能从 SPA 获取 authorization_code 并使用它从外部 API 生成 access_tokens 和 refresh_tokens 吗?
非常感谢,对不起我的英语!
在 SPA 中,许多授权服务器和身份提供者不支持 CORS 请求,在这种情况下,您的选择是使用 Azure AD 隐式授权流程而不是授权代码流程,您可以直接获取访问令牌通过 /authorize
端点。此流程不提供刷新令牌,因此您的应用必须准备好定期刷新这些令牌。
我正在编写一个由 SPA 和 API 组成的项目。 在 SPA 上,我有一个按钮 link Google 或 Microsoft accounts 到用户的帐户。 API 可以随时调用 google/microsoft api。
我使用授权码流程 google 成功了:
- 从 SPA 使用查询参数 response_type=code 和 access_type=offline 将用户重定向到 https://accounts.google.com/o/oauth2/v2/auth
- 将返回码发送至API
- API调用https://oauth2.googleapis.com/token得到一个access_token和一个refresh_token
- 令牌保存在数据库中,API 需要时可以随时使用。
==============
Microsoft 具有类似的授权流程 (https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow),但由于 CORS 策略,我无法将从 SPA 检索到的 authorization_code 用于 API。 我没有使用 PKCE 代码,因为令牌是从使用 client_id 和 client_secret.
的 API 中检索的=============
我错过了什么吗?甚至有可能从 SPA 获取 authorization_code 并使用它从外部 API 生成 access_tokens 和 refresh_tokens 吗?
非常感谢,对不起我的英语!
在 SPA 中,许多授权服务器和身份提供者不支持 CORS 请求,在这种情况下,您的选择是使用 Azure AD 隐式授权流程而不是授权代码流程,您可以直接获取访问令牌通过 /authorize
端点。此流程不提供刷新令牌,因此您的应用必须准备好定期刷新这些令牌。