private String geToken() { UserToken token = UserTokenHolder.currentToken(); return null != token ? token.getToken() : ""; }
@Override public Authentication get() { return ThreadLocalUtils.get(Authentication.class.getName(), () -> Optional.ofNullable(getCurrentUserToken()) .filter(UserToken::validate) //验证token,如果不是正常状态,将会抛出异常 .map(token -> get(thirdPartAuthenticationManager .get(token.getType()), token.getUserId()) ) .orElse(null)); } }
@Override public boolean tokenIsLoggedIn(String token) { if (token == null) { return false; } UserToken userToken = getByToken(token); return userToken != null && !userToken.isExpired(); }
/** * @return 是否正常 */ @Deprecated default boolean isEffective() { return isNormal(); }
boolean hasAnotherToken = getByUserId(userId) .stream() .filter(userToken -> type.equals(userToken.getType())) .map(SimpleUserToken.class::cast) .peek(this::checkTimeout) for (UserToken userToken : oldToken) { if (type.equals(userToken.getType())) { changeTokenState(userToken.getToken(), TokenState.offline);
/** * @return 是否离线 */ default boolean isOffline() { return getState() == TokenState.offline; }
@Override default int compareTo(UserToken target) { if (target == null) { return 0; } return Long.compare(getSignInTime(), target.getSignInTime()); } }
@Override public boolean userIsLoggedIn(String userId) { if (userId == null) { return false; } for (UserToken userToken : getByUserId(userId)) { if (userToken.isNormal()) { return true; } } return false; }
/** * @return 是否已过期 */ default boolean isExpired() { return getState() == TokenState.expired; }
@Override public void changeUserState(String user, TokenState state) { getByUserId(user).forEach(token -> changeTokenState(token.getToken(), state)); }
String usernameAndPassword = new String(Base64.decodeBase64(authorization)); UserToken token = userTokenManager.getByToken(usernameAndPassword); if (token != null && token.isNormal()) { return new ParsedToken() { @Override
userToken = userTokenManager.getByToken(token); if ((userToken == null || userToken.isExpired()) && parsedToken instanceof AuthorizedToken) {
default boolean isLock() { return getState() == TokenState.lock; }
@GetMapping("/user-token/reset") @Authorize(merge = false) @ApiOperation("重置当前用户的令牌") public ResponseMessage<Boolean> resetToken() { UserToken token = UserTokenHolder.currentToken(); if (token != null) { userTokenManager.signOutByToken(token.getToken()); } return ok(true); }
String usernameAndPassword = new String(Base64.decodeBase64(authorization)); UserToken token = userTokenManager.getByToken(usernameAndPassword); if (token != null && token.isNormal()) { return new ParsedToken() { @Override
userToken = userTokenManager.getByToken(token); if ((userToken == null || userToken.isExpired()) && parsedToken instanceof AuthorizedToken) {
default boolean isNormal() { return getState() == TokenState.normal; }