需要手动创建没有密码的oAuth2令牌

我已经用Spring安全性实现了oAuth2,它对我来说很好用。但是现在,我想从后端手动创建用户令牌,而无需输入密码。因为我只有用户名。

谁能帮我。

回答:

得到了答案!!!

    HashMap<String, String> authorizationParameters = new HashMap<String, String>();

authorizationParameters.put("scope", "read");

authorizationParameters.put("username", "user");

authorizationParameters.put("client_id", "client_id");

authorizationParameters.put("grant", "password");

Set<GrantedAuthority> authorities = new HashSet<GrantedAuthority>();

authorities.add(new SimpleGrantedAuthority("ROLE_USER"));

Set<String> responseType = new HashSet<String>();

responseType.add("password");

Set<String> scopes = new HashSet<String>();

scopes.add("read");

scopes.add("write");

OAuth2Request authorizationRequest = new OAuth2Request(

authorizationParameters, "Client_Id",

authorities, true,scopes, null, "",

responseType, null);

User userPrincipal = new User("user", "", true, true, true, true, authorities);

UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(

userPrincipal, null, authorities);

OAuth2Authentication authenticationRequest = new OAuth2Authentication(

authorizationRequest, authenticationToken);

authenticationRequest.setAuthenticated(true);

OAuth2AccessToken accessToken = tokenService

.createAccessToken(authenticationRequest);

accessToken是您想要的令牌。

谢谢

以上是 需要手动创建没有密码的oAuth2令牌 的全部内容, 来源链接: utcz.com/qa/430272.html

回到顶部