优化jwt token type

This commit is contained in:
zhou-hao
2017-11-28 14:58:26 +08:00
parent 3cde113b1b
commit 2a758d947d
3 changed files with 17 additions and 12 deletions

View File

@@ -6,15 +6,18 @@ import org.hswebframework.web.authorization.basic.web.AuthorizedToken;
*
* @author zhouhao
*/
public class DefaultAuthorizedToken implements AuthorizedToken {
public class JwtAuthorizedToken implements AuthorizedToken {
public static final String token_type = "jwt";
private String token;
private String userId;
public DefaultAuthorizedToken() {
public JwtAuthorizedToken() {
}
public DefaultAuthorizedToken(String token, String userId) {
public JwtAuthorizedToken(String token, String userId) {
this.token = token;
this.userId = userId;
}
@@ -39,6 +42,6 @@ public class DefaultAuthorizedToken implements AuthorizedToken {
@Override
public String getType() {
return "jwt-default";
return token_type;
}
}

View File

@@ -14,9 +14,8 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
*
*/
import static org.hswebframework.web.authorization.jwt.JwtAuthorizedToken.token_type;
public class JwtTokenGenerator implements UserTokenGenerator {
private JwtConfig jwtConfig;
@@ -27,7 +26,7 @@ public class JwtTokenGenerator implements UserTokenGenerator {
@Override
public String getSupportTokenType() {
return "jwt";
return token_type;
}
private String createToken() {
@@ -39,7 +38,7 @@ public class JwtTokenGenerator implements UserTokenGenerator {
String token = createToken();
String userId = authentication.getUser().getId();
String subject = JSON.toJSONString(new DefaultAuthorizedToken(token, userId));
String subject = JSON.toJSONString(new JwtAuthorizedToken(token, userId));
String jwtToken = createJWT(jwtConfig.getId(), subject, jwtConfig.getTtl());
@@ -48,6 +47,8 @@ public class JwtTokenGenerator implements UserTokenGenerator {
int timeout = jwtConfig.getTtl();
return new GeneratedToken() {
private static final long serialVersionUID = -4362122360342275321L;
@Override
public Map<String, Object> getResponse() {
Map<String, Object> map = new HashMap<>();
@@ -63,7 +64,7 @@ public class JwtTokenGenerator implements UserTokenGenerator {
@Override
public String getType() {
return "jwt-default";
return token_type;
}
@Override

View File

@@ -14,7 +14,8 @@ import javax.crypto.SecretKey;
import javax.servlet.http.HttpServletRequest;
/**
* Created by zhouhao on 2017/8/30.
* @see UserTokenParser
* @since 3.0
*/
public class JwtTokenParser implements UserTokenParser {
@@ -47,7 +48,7 @@ public class JwtTokenParser implements UserTokenParser {
return null;
}
return JSON.parseObject(claims.getSubject(), DefaultAuthorizedToken.class);
return JSON.parseObject(claims.getSubject(), JwtAuthorizedToken.class);
} catch (ExpiredJwtException e) {
return null;
} catch (Exception e) {