需要手动创建没有密码的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