spring-boot - 在 Web 应用程序 session 中存储 AuthorizationCodeCredential

标签 spring-boot microsoft-graph-api azure-identity

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

通过身份验证代码授予重定向成功获取code后,我想将访问 token 和刷新 token 存储在Web应用程序 session 中,以便用户不必重新进行身份验证向 Microsoft Graph API 发出多个请求。

如何获取 token 并将其存储在 session 中?

最佳答案

授权代码是用于获取实际访问 token 的单用户代码。您需要将该代码兑换为access_token,如 Microsoft identity platform and OAuth 2.0 authorization code flow 中所述。 .

包含 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...",
}

关于spring-boot - 在 Web 应用程序 session 中存储 AuthorizationCodeCredential,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69030231/

相关文章:

java - 如何在application.yml中定义bean?

java - Spring boot - 在请求参数 'null' 或 header '_csrf' 上发现无效的 CSRF token 'X-CSRF-TOKEN'

java - 将 DirectoryObject 转换为用户

c# - 在本地使用 DefaultAzureCredential 访问 Azure Azure Key Vault(使用 IIS)

azure - vscode azure 应用程序配置 403 禁止

Java 对象 - 如何动态创建对象

java - Spring Boot 和 Camel Mail SSL 配置

azure - 如何延长 Microsoft Graph 访问 token 过期时间?

microsoft-graph-api - Microsoft Graph FindMeetingTimes 差距

azure - 如何从 Azure Function 调用 protected API