当前位置: 首页>>代码示例>>Java>>正文


Java Jwt.getBody方法代码示例

本文整理汇总了Java中io.jsonwebtoken.Jwt.getBody方法的典型用法代码示例。如果您正苦于以下问题:Java Jwt.getBody方法的具体用法?Java Jwt.getBody怎么用?Java Jwt.getBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在io.jsonwebtoken.Jwt的用法示例。


在下文中一共展示了Jwt.getBody方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: validateJwtToken

import io.jsonwebtoken.Jwt; //导入方法依赖的package包/类
protected void validateJwtToken(String token, String username) {
    Assert.assertNotNull(token);
    Assert.assertFalse(token.isEmpty());
    int i = token.lastIndexOf('.');
    Assert.assertTrue(i > 0);
    String withoutSignature = token.substring(0, i + 1);
    Jwt<Header, Claims> jwsClaims = Jwts.parser().parseClaimsJwt(withoutSignature);
    Claims claims = jwsClaims.getBody();
    String subject = claims.getSubject();
    Assert.assertEquals(username, subject);
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:12,代码来源:AbstractControllerTest.java

示例2: authenticate

import io.jsonwebtoken.Jwt; //导入方法依赖的package包/类
/**
 * Performs local and Keycloak accounts linking
 *
 * @return typically Response that redirect user for OAuth provider site
 */
@GET
@Path("authenticate")
public Response authenticate(
    @Required @QueryParam("oauth_provider") String oauthProvider,
    @Required @QueryParam("redirect_after_login") String redirectAfterLogin,
    @Context HttpServletRequest request)
    throws ForbiddenException, BadRequestException {

  Jwt jwtToken = (Jwt) request.getAttribute("token");
  if (jwtToken == null) {
    throw new BadRequestException("No token provided.");
  }
  DefaultClaims claims = (DefaultClaims) jwtToken.getBody();
  final String clientId = claims.getAudience();
  final String nonce = UUID.randomUUID().toString();
  final String sessionState = claims.get("session_state", String.class);
  MessageDigest md;
  try {
    md = MessageDigest.getInstance("SHA-256");
  } catch (NoSuchAlgorithmException e) {
    throw new RuntimeException(e);
  }
  final String input = nonce + sessionState + clientId + oauthProvider;
  byte[] check = md.digest(input.getBytes(StandardCharsets.UTF_8));
  final String hash = Base64.getUrlEncoder().encodeToString(check);
  request.getSession().setAttribute("hash", hash); // TODO: for what?
  String accountLinkUrl =
      UriBuilder.fromUri(keycloakConfiguration.get().get(AUTH_SERVER_URL_SETTING))
          .path("/realms/{realm}/broker/{provider}/link")
          .queryParam("nonce", nonce)
          .queryParam("hash", hash)
          .queryParam("client_id", clientId)
          .queryParam("redirect_uri", redirectAfterLogin)
          .build(keycloakConfiguration.get().get(REALM_SETTING), oauthProvider)
          .toString();
  return Response.temporaryRedirect(URI.create(accountLinkUrl)).build();
}
 
开发者ID:eclipse,项目名称:che,代码行数:43,代码来源:KeycloakOAuthAuthenticationService.java

示例3: getTokenBody

import io.jsonwebtoken.Jwt; //导入方法依赖的package包/类
public static Map<String, Object> getTokenBody(String jwsToken) {
    String jwtToken = jwsToken.substring(0, jwsToken.lastIndexOf(".") + 1);
    Jwt<Header, Claims> untrusted = Jwts.parser().parseClaimsJwt(jwtToken);
    return untrusted.getBody();
}
 
开发者ID:EhsanMashhadi,项目名称:RepositoryPattern,代码行数:6,代码来源:JwtTokenHelper.java

示例4: onClaimsJwt

import io.jsonwebtoken.Jwt; //导入方法依赖的package包/类
@Override
public Map<String, Object> onClaimsJwt(@SuppressWarnings("rawtypes") Jwt<Header, Claims> jwt) {
    return config.getRequireSigned() ? super.onClaimsJwt(jwt) : jwt.getBody();
}
 
开发者ID:apiman,项目名称:apiman-plugins,代码行数:5,代码来源:ConfigCheckingJwtHandler.java

示例5: doFilter

import io.jsonwebtoken.Jwt; //导入方法依赖的package包/类
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
    throws IOException, ServletException {

  final HttpServletRequest httpRequest = (HttpServletRequest) request;
  final String token = tokenExtractor.getToken(httpRequest);
  if (shouldSkipAuthentication(httpRequest, token)) {
    filterChain.doFilter(request, response);
    return;
  }

  final HttpSession session = httpRequest.getSession();
  Subject subject = (Subject) session.getAttribute("che_subject");
  if (subject == null || !subject.getToken().equals(token)) {
    Jwt jwtToken = (Jwt) httpRequest.getAttribute("token");
    if (jwtToken == null) {
      throw new ServletException("Cannot detect or instantiate user.");
    }
    Claims claims = (Claims) jwtToken.getBody();

    try {
      User user =
          getOrCreateUser(
              claims.getSubject(),
              claims.get("email", String.class),
              claims.get("preferred_username", String.class));
      subject =
          new AuthorizedSubject(
              new SubjectImpl(user.getName(), user.getId(), token, false), permissionChecker);
      session.setAttribute("che_subject", subject);
    } catch (ServerException | ConflictException e) {
      throw new ServletException(
          "Unable to identify user " + claims.getSubject() + " in Che database", e);
    }
  }

  try {
    EnvironmentContext.getCurrent().setSubject(subject);
    filterChain.doFilter(addUserInRequest(httpRequest, subject), response);
  } finally {
    EnvironmentContext.reset();
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:44,代码来源:KeycloakEnvironmentInitalizationFilter.java


注:本文中的io.jsonwebtoken.Jwt.getBody方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。