我正在使用该azure-identity
库对用户进行身份验证,以便在我的 Spring Boot Web 应用程序中访问 Microsoft Graph API。
在成功获得code
通过身份验证代码授予重定向后,我想将访问令牌和刷新令牌存储在 Web 应用程序会话中,这样用户就不必重新验证对 Microsoft Graph API 的多个请求。
如何获取令牌以将它们存储在会话中?
我正在使用该azure-identity
库对用户进行身份验证,以便在我的 Spring Boot Web 应用程序中访问 Microsoft Graph API。
在成功获得code
通过身份验证代码授予重定向后,我想将访问令牌和刷新令牌存储在 Web 应用程序会话中,这样用户就不必重新验证对 Microsoft Graph API 的多个请求。
如何获取令牌以将它们存储在会话中?
授权代码是用于获取实际访问令牌的单用户代码。您需要将其兑换为code
Microsoft身份平台和 OAuth 2.0 授权代码流中所述。access_token
包含 的响应正文access_token
还将包含一个refresh_token
值:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
"token_type": "Bearer",
"expires_in": 3599,
"scope": "https%3A%2F%2Fgraph.microsoft.com%2Fmail.read",
"refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4...",
"id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIyZDRkMTFhMi1mODE0LTQ2YTctOD...",
}
这样做的方法是创建一个类,该类实现OAuth2AuthorizedClientService
在数据库中存储和加载 OAuth 凭据。