gpt4 book ai didi

spring-boot - 存储 token 以访问 Spring Boot 上的其他应用程序

转载 作者:行者123 更新时间:2023-12-04 13:59:49 28 4
gpt4 key购买 nike

我在 Spring Boot 中有一个 rest 应用程序,为它公开的服务配置了安全性和 JWT token 。但是这个应用程序还连接到其他 3rd 方应用程序,也使用 JWT 和每个应用程序使用不同的 token 进行保护。

我的问题是:存储这些 3rd 方 token 的最佳策略是什么?有没有类似 SecurityContextHolder ,但用于存储应用程序用于在其他服务上进行身份验证的 token ?

最佳答案

在配置您的

OAuth2RestOperations restTemplate
您可以在客户端中保留 token
public OAuth2RestOperations restTemplate() {
OAuth2RestTemplate template = new OAuth2RestTemplate(resource(), new
DefaultOAuth2ClientContext(accessTokenRequest));
AccessTokenProviderChain provider = new
AccessTokenProviderChain(Arrays.asList(new AuthorizationCodeAccessTokenProvider()));
provider.setClientTokenServices(clientTokenServices());
return template;
}
如 spring security oauth 文档 here 中所述

Persisting Tokens in a Client

A client does not need to persist tokens, but it can be nice for users to not be required to approve a new token grant every time the client app is restarted. The ClientTokenServices interface defines the operations that are necessary to persist OAuth 2.0 tokens for specific users. There is a JDBC implementation provided, but you can if you prefer implement your own service for storing the access tokens and associated authentication instances in a persistent database. If you want to use this feature you need provide a specially configured TokenProvider to the OAuth2RestTemplate

关于spring-boot - 存储 token 以访问 Spring Boot 上的其他应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513832/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com