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


Java DecodedJWT.getSubject方法代码示例

本文整理汇总了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;
}
 
开发者ID:ceefour,项目名称:java-web-services-training,代码行数:21,代码来源:CountriesController.java

示例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);
        }
    }
 
开发者ID:ceefour,项目名称:java-web-services-training,代码行数:40,代码来源:JwtAuthFilter.java


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