gpt4 book ai didi

java - Spring以编程方式生成oauth2访问 token

转载 作者:搜寻专家 更新时间:2023-11-01 03:23:18 25 4
gpt4 key购买 nike

我有一个受 spring security OAuth2 保护的 Web 服务,我可以使用 http 请求 oauth/token 获取访问 token ...我还有另一个要求:在 java 中生成访问 token 并使用以下方法对用户进行身份验证:

SecurityContextHolder.getContext().setAuthentication(oauthToken);

以便通过此 token 访问网络服务。这是我当前的代码:

UserDetails user = (UserDetails)userService.getUserByUserName(userName);

if (user == null) {
throw new InvalidAuthorizationException("User " + userName + " was not found");
} else {
//TODO: how to create 'oauthToken' ?
SecurityContextHolder.getContext().setAuthentication(oauthToken);

}

我该怎么做?

最佳答案

在您的情况下,最简单的解决方案是转到 TokenEndpoint.java 并模拟在 postAccessToken 方法中完成的调用。

请记住,访问 token 的创建是在授权服务器的手中,因此如果您在客户端执行此逻辑,则不建议也不遵守 RFC6749 - The OAuth 2.0 Authorization Framework .

还请记住,在安全上下文中,您需要设置一个Authentication 对象而不是一个Token。 token 在身份验证中找到。

关于java - Spring以编程方式生成oauth2访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914320/

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