1

我正在使用该azure-identity库对用户进行身份验证,以便在我的 Spring Boot Web 应用程序中访问 Microsoft Graph API。

在成功获得code通过身份验证代码授予重定向后,我想将访问令牌和刷新令牌存储在 Web 应用程序会话中,这样用户就不必重新验证对 Microsoft Graph API 的多个请求。

如何获取令牌以将它们存储在会话中?

4

2 回答 2

2

授权代码是用于获取实际访问令牌的单用户代码。您需要将其兑换为codeMicrosoft身份平台和 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...",
}
于 2021-09-03T15:16:24.337 回答
0

这样做的方法是创建一个类,该类实现OAuth2AuthorizedClientService在数据库中存储和加载 OAuth 凭据。

于 2021-12-22T13:20:10.043 回答