Bootstrap

java的claims_Java Claims.get方法代碼示例

本文整理匯總了Java中io.jsonwebtoken.Claims.get方法的典型用法代碼示例。如果您正苦於以下問題:Java Claims.get方法的具體用法?Java Claims.get怎麽用?Java Claims.get使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類io.jsonwebtoken.Claims的用法示例。

在下文中一共展示了Claims.get方法的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: getConnUser

​點讚 3

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

public static RequestUserDTO getConnUser(HttpServletRequest request) {

String token = request.getHeader(HEADER_STRING);

if (token == null) {

token = getTokenFromCookis(request);

}

if (token != null) {

// 解析 Token

Claims claims = Jwts.parser().setSigningKey(SECRET)

.parseClaimsJws(token).getBody();

return new RequestUserDTO(

claims.get("DomainId", String.class),

claims.get("UserId", String.class),

claims.get("OrgUnitId", String.class));

}

return new RequestUserDTO();

}

開發者ID:hzwy23,項目名稱:hauth-java,代碼行數:18,

示例2: authenticate

​點讚 3

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

@Override

public Authentication authenticate(Authentication authentication)

throws AuthenticationException {

final JwtToken token = (JwtToken) authentication.getCredentials();

final Claims claims = jwt.validate(token);

final String userId = claims.getSubject();

final String email = claims.get("mail", String.class);

@SuppressWarnings("unchecked")

final List scopes = (List) claims.get("scopes", List.class);

final List auths = scopes.stream()

.map(SimpleGrantedAuthority::new)

.collect(Collectors.toList());

final JwtUserDetails user = new JwtUserDetails(userId, email, auths);

return new JwtAuthentication(token, user);

}

開發者ID:membaza,項目名稱:users-service,代碼行數:19,

示例3: parseAndValidate

​點讚 3

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

public AuthTokenDetails parseAndValidate(String token) {

AuthTokenDetails authTokenDetails = null;

try {

Claims claims = Jwts.parser().setSigningKey(getSecretKey())

.parseClaimsJws(token)

.getBody();

String userId = claims.getSubject();

String username = (String) claims.get("username");

List roleNames = (List) claims.get("roleNames");

Date expirationDate = claims.getExpiration();

authTokenDetails = new AuthTokenDetails();

authTokenDetails.setId(Long.valueOf(userId));

authTokenDetails.setUsername(username);

authTokenDetails.setRoleNames(roleNames);

authTokenDetails.setExpirationDate(expirationDate);

} catch (JwtException ex) {

logger.error(ex.getMessage(), ex);

}

return authTokenDetails;

}

開發者ID:jeikerxiao,項目名稱:SpringBootStudy,代碼行數:22,

示例4: getPayload

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

/**

* Parses the token header into a payload data map

*

* @param tokenHeader Object holding the token

* @return data map of the token parsed

*/

private Map getPayload(String tokenHeader) {

String tokenWithoutBearer = tokenHeader.replace(TOKEN_PREFIX, "");

String tokenWithoutSignatureAndBearer = removeSignature(tokenWithoutBearer);

Claims body = Jwts.parser()

.parseClaimsJwt(tokenWithoutSignatureAndBearer)

.getBody();

return body.get("data", Map.class);

}

開發者ID:CMSgov,項目名稱:qpp-conversion-tool,代碼行數:15,

示例5: getAudienceFromToken

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

public String getAudienceFromToken(String token) {

String audience;

try {

final Claims claims = getClaimsFromToken(token);

audience = (String) claims.get(CLAIM_KEY_AUDIENCE);

} catch (Exception e) {

audience = null;

}

return audience;

}

開發者ID:rodrigues882013,項目名稱:springboot-rest-api-skeleton,代碼行數:11,

示例6: login

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

@RequestMapping(value = "api/me", method = {RequestMethod.GET})

public User login(final HttpServletRequest request) throws ServletException {

final Claims claims = (Claims) request.getAttribute("claims");

final Integer userId = (Integer) claims.get("userId");

return rbacService.getUserByUserId(userId.longValue());

}

開發者ID:stefanstaniAIM,項目名稱:IPPR2016,代碼行數:8,

示例7: parseAccessJwtToken

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

public SecurityUser parseAccessJwtToken(RawAccessJwtToken rawAccessToken) {

Jws jwsClaims = rawAccessToken.parseClaims(settings.getTokenSigningKey());

Claims claims = jwsClaims.getBody();

String subject = claims.getSubject();

List scopes = claims.get(SCOPES, List.class);

if (scopes == null || scopes.isEmpty()) {

throw new IllegalArgumentException("JWT Token doesn't have any scopes");

}

SecurityUser securityUser = new SecurityUser(new UserId(UUID.fromString(claims.get(USER_ID, String.class))));

securityUser.setEmail(subject);

securityUser.setAuthority(Authority.parse(scopes.get(0)));

securityUser.setFirstName(claims.get(FIRST_NAME, String.class));

securityUser.setLastName(claims.get(LAST_NAME, String.class));

securityUser.setEnabled(claims.get(ENABLED, Boolean.class));

boolean isPublic = claims.get(IS_PUBLIC, Boolean.class);

UserPrincipal principal = new UserPrincipal(isPublic ? UserPrincipal.Type.PUBLIC_ID : UserPrincipal.Type.USER_NAME,

subject);

securityUser.setUserPrincipal(principal);

String tenantId = claims.get(TENANT_ID, String.class);

if (tenantId != null) {

securityUser.setTenantId(new TenantId(UUID.fromString(tenantId)));

}

String customerId = claims.get(CUSTOMER_ID, String.class);

if (customerId != null) {

securityUser.setCustomerId(new CustomerId(UUID.fromString(customerId)));

}

return securityUser;

}

開發者ID:osswangxining,項目名稱:iotplatform,代碼行數:31,

示例8: getLastPasswordResetDateFromTokenClaims

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

Date getLastPasswordResetDateFromTokenClaims(Claims claims) {

Date lastPasswordResetDate;

try {

lastPasswordResetDate = new Date((Long) claims.get(CLAIM_KEY_LAST_PASSWORD_CHANGE_DATE));

} catch (Exception e) {

LOG.error("Failed to extract lastPasswordResetDate claim from token!", e);

lastPasswordResetDate = null;

}

return lastPasswordResetDate;

}

開發者ID:gazbert,項目名稱:bxbot-ui-server,代碼行數:11,

示例9: getAudienceFromToken

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

/**

* @param token

* @return

*/

public String getAudienceFromToken ( String token ) {

String audience;

try {

final Claims claims = getClaimsFromToken( token );

audience = ( String ) claims.get( CLAIM_KEY_AUDIENCE );

} catch ( Exception e ) {

audience = null;

}

return audience;

}

開發者ID:yujunhao8831,項目名稱:spring-boot-start-current,代碼行數:15,

示例10: getClaims

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

@Override

public Claims getClaims(String requestedPrincipal, String authToken) throws AuthenticationException, AuthorizationException {

Claims claims;

try {

claims = jwtDecoder.decodeAndVerify(authToken);

String principalIdFromToken = claims.get("usr", String.class);

if (!Objects.equals(requestedPrincipal, principalIdFromToken)) {

throw new AuthorizationException("User not authorized to perform action");

}

return claims;

} catch (JWTVerificationException e) {

throw new AuthenticationException("JWT Token not valid");

}

}

開發者ID:julianghionoiu,項目名稱:tdl-auth,代碼行數:16,

示例11: getUserIdFromToken

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

private String getUserIdFromToken(String token) {

String userId;

try {

final Claims clamis=getClaimsFromToken(token);

userId= (String) clamis.get(CLAIM_KEY_USER_ID);

}catch (Exception e){

userId=null;

}

return userId;

}

開發者ID:BENULL,項目名稱:LushX,代碼行數:11,

示例12: doFilterInternal

​點讚 2

import io.jsonwebtoken.Claims; //導入方法依賴的package包/類

@Override

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException {

//CORS

response.addHeader("Access-Control-Allow-Origin", "*");

if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equalsIgnoreCase(request.getMethod())) {

response.addHeader("Access-Control-Allow-Headers", "Authorization");

response.addHeader("Access-Control-Allow-Headers", "Content-Type");

response.addHeader("Access-Control-Max-Age", "1");

response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");

}

final String authHeader = request.getHeader(this.authHeader);

String username;

String authToken;

if (authHeader != null && authHeader.startsWith("Bearer ")) {

authToken = authHeader.substring(7);

try {

username = jwtTokenUtil.getUsernameFromToken(authToken);

} catch (Exception e) {

username = null;

authToken = null;

}

} else {

username = null;

authToken = null;

}

if (username != null && authToken != null && SecurityContextHolder.getContext().getAuthentication() == null) {

Claims claims = jwtTokenUtil.getAllClaimsFromToken(authToken);

if (jwtTokenUtil.validateToken(authToken)) {

List rolesMap = claims.get("role", List.class);

List roles = new ArrayList<>();

for (String rolemap : rolesMap) {

roles.add(Role.valueOf(rolemap));

}

UserDetails userDetails = new JWTUser(

username, null, JWTUserFactory.mapToGrantedAuthorities(roles), claims.get("enable", Boolean.class)

);

UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());

authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));

SecurityContextHolder.getContext().setAuthentication(authentication);

}

}

if (!request.getMethod().equalsIgnoreCase("OPTIONS")) {

chain.doFilter(request, response);

}

}

開發者ID:ard333,項目名稱:spring-boot-jjwt,代碼行數:52,

注:本文中的io.jsonwebtoken.Claims.get方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

;