本文整理汇总了Java中com.auth0.jwt.interfaces.DecodedJWT.getSubject方法的典型用法代码示例。如果您正苦于以下问题:Java DecodedJWT.getSubject方法的具体用法?Java DecodedJWT.getSubject怎么用?Java DecodedJWT.getSubject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.auth0.jwt.interfaces.DecodedJWT
的用法示例。
在下文中一共展示了DecodedJWT.getSubject方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getUserId
import com.auth0.jwt.interfaces.DecodedJWT; //导入方法依赖的package包/类
@ModelAttribute("userId")
public String getUserId(@RequestHeader("Authorization") String authorization)
throws UnsupportedEncodingException {
Preconditions.checkNotNull(authorization,
"Authorization header is required");
String[] splitted = authorization.split(" ");
if (!"Bearer".equals(splitted[0])) {
throw new AccessDeniedException("Authorization must be Bearer");
}
String token = splitted[1];
Algorithm algorithm = Algorithm.HMAC256("secret");
JWTVerifier verifier = JWT.require(algorithm)
.build(); //Reusable verifier instance
DecodedJWT jwt = verifier.verify(token);
String userId = jwt.getSubject();
LOG.info("User: {}", userId);
return userId;
}
示例2: doFilter
import com.auth0.jwt.interfaces.DecodedJWT; //导入方法依赖的package包/类
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (request instanceof HttpServletRequest) {
boolean allowed = true;
HttpServletRequest httpReq = (HttpServletRequest) request;
HttpServletResponse httpResp = (HttpServletResponse) response;
if (!"OPTIONS".equals(httpReq.getMethod())) {
String authorization = httpReq.getHeader("Authorization");
Preconditions.checkNotNull(authorization,
"Authorization header is required");
String[] splitted = authorization.split(" ");
if (!"Bearer".equals(splitted[0])) {
throw new AccessDeniedException("Authorization must be Bearer");
}
String token = splitted[1];
Algorithm algorithm = Algorithm.HMAC256("secret");
JWTVerifier verifier = JWT.require(algorithm)
.build(); //Reusable verifier instance
DecodedJWT jwt = verifier.verify(token);
String userId = jwt.getSubject();
LOG.info("User: {}", userId);
allowed = "hendy".equals(userId); // any custom logic here
}
if (allowed) {
chain.doFilter(request, response);
} else {
httpResp.setStatus(403);
httpResp.setHeader("Content-Type", "application/json");
httpResp.getWriter().write(
"{\"error\": \"Unauthorized\", \"message\": \"Access denied\"}");
// mapper.writeValue(httpResp.getWriter(),
// new Error("Unauthorized", "Access denied"));
}
} else {
chain.doFilter(request, response);
}
}