gpt4 book ai didi

spring-boot - 如何验证来自 OAuth 服务器的 token ?

转载 作者:行者123 更新时间:2023-12-04 03:06:16 24 4
gpt4 key购买 nike

我创建了一个 Spring Boot 应用程序,其中有授权和资源服务器,这是我的主类:

@SpringBootApplication
@EnableResourceServer
@EnableAuthorizationServer
public class OauthServerApplication {

public static void main(String[] args) {
SpringApplication.run(OauthServerApplication.class, args);
}
}

这是我的 application.yml:
security:
user:
name: guest
password: guest123
oauth2:
client:
client-id: trustedclient
client-secret: trustedclient123
authorized-grant-types: authorization_code,refresh_token,password
scope: openid

要生成访问 token ,我只执行此 url (POST):
http://trustedclient:trustedclient123@localhost:8080/oauth/token?username=guest&password=guest123&grant_type=password

它返回:
{
"access_token": "f2e722b7-3807-4a27-9281-5b28b7bd3d0d",
"token_type": "bearer",
"refresh_token": "f96d472c-8259-42e2-b939-4963dfeeb086",
"scope": "openid"
}

现在我需要知道如何验证 token 是否正确,有什么帮助吗?

最佳答案

您有多种可能性,您可以:

1) 将 token 存储在 TokenStore 中并在资源服务器的授权服务器上打开一个安全的验证 token 端点。

2)如果授权服务器和资源服务器可以共享一个数据源,(在你的情况下很容易,因为两者都在同一个应用程序中)。他们都可以使用 JdbcTokenStore 指向同一个数据库和资源服务器可以直接检查这个 token 存储中 token 的有效性。请参阅本教程:Spring REST API + OAuth2 + AngularJS

3) 您可以使用带有 JwtTokenStore 的签名 JWT token 和 JwtAccessTokenConverter .请参阅本教程:Using JWT with Spring Security OAuth

这两个教程都基于以下 github 存储库:https://github.com/Baeldung/spring-security-oauth

关于spring-boot - 如何验证来自 OAuth 服务器的 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41854531/

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