@PostMapping("/user-token/{token}/{type}/{userId}/{maxInactiveInterval}") @ApiOperation("将用户设置为登录") @Authorize(action = Permission.ACTION_ADD) public ResponseMessage<UserToken> signIn(@PathVariable String token, @PathVariable String type, @PathVariable String userId, @PathVariable long maxInactiveInterval) { return ok(userTokenManager.signIn(token, type, userId, maxInactiveInterval)); }
@EventListener public void handleOAuth2GrantEvent(OAuth2GrantEvent event) { userTokenManager.signIn( event.getAccessToken().getAccessToken(), "oauth2-access-token", event.getAccessToken().getOwnerId(), event.getAccessToken().getExpiresIn() * 1000L); } }
@Override public void onApplicationEvent(AuthorizationSuccessEvent event) { UserToken token = UserTokenHolder.currentToken(); String tokenType = (String) event.getParameter("token_type").orElse(defaultTokenType); if (token != null) { //先退出已登陆的用户 userTokenManager.signOutByToken(token.getToken()); } //创建token GeneratedToken newToken = userTokenGenerators.stream() .filter(generator -> generator.getSupportTokenType().equals(tokenType)) .findFirst() .orElseThrow(() -> new UnsupportedOperationException(tokenType)) .generate(event.getAuthentication()); //登入 userTokenManager.signIn(newToken.getToken(), newToken.getType(), event.getAuthentication().getUser().getId(), newToken.getTimeout()); //响应结果 event.getResult().putAll(newToken.getResponse()); } }
.signIn(parsedToken.getToken(), parsedToken.getType(), ((AuthorizedToken) parsedToken).getUserId(), ((AuthorizedToken) parsedToken).getMaxInactiveInterval());
@PostMapping("/user-token/{token}/{type}/{userId}/{maxInactiveInterval}") @ApiOperation("将用户设置为登录") @Authorize(action = Permission.ACTION_ADD) public ResponseMessage<UserToken> signIn(@PathVariable String token, @PathVariable String type, @PathVariable String userId, @PathVariable long maxInactiveInterval) { return ok(userTokenManager.signIn(token, type, userId, maxInactiveInterval)); }
@Override public void onApplicationEvent(AuthorizationSuccessEvent event) { UserToken token = UserTokenHolder.currentToken(); String tokenType = (String) event.getParameter("token_type").orElse(defaultTokenType); if (token != null) { //先退出已登陆的用户 userTokenManager.signOutByToken(token.getToken()); } //创建token GeneratedToken newToken = userTokenGenerators.stream() .filter(generator -> generator.getSupportTokenType().equals(tokenType)) .findFirst() .orElseThrow(() -> new UnsupportedOperationException(tokenType)) .generate(event.getAuthentication()); //登入 userTokenManager.signIn(newToken.getToken(), newToken.getType(), event.getAuthentication().getUser().getId(), newToken.getTimeout()); //响应结果 event.getResult().putAll(newToken.getResponse()); } }
.signIn(parsedToken.getToken(), parsedToken.getType(), ((AuthorizedToken) parsedToken).getUserId(), ((AuthorizedToken) parsedToken).getMaxInactiveInterval());