Spring oauth2本地和外部令牌生成

时间:2017-03-22 10:21:59

标签: spring spring-security spring-security-oauth2

我计划使用外部身份提供程序(WSo2)或本地spring ouath令牌生成器来保护我的REST服务器。令牌生成模式(永恒/内部)将可配置。我采用下面列出的示例并修改了CORSFilter类以使用外部提供程序(WSO2)验证令牌。我不知道如何跳过本地令牌生成并访问我的资源服务器。我想授权和资源服务器需要是独立的模块来实现我所需要的。我对spring ouath来说是全新的,所以不确定这是不是正确的方法。我试图通过互联网找到更好的例子,但无法得到一个。任何指针/示例都会有所帮助。

网址(示例):http://websystique.com/spring-security/secure-spring-rest-api-using-oauth2/

public class CORSFilter extends OncePerRequestFilter {

    private final Logger LOG = LoggerFactory.getLogger(CORSFilter.class);

    @Override
    protected void doFilterInternal(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws ServletException, IOException {
        //Read the keygen mode if it is External validation do this else skip all this so that local token is generated.

        LOG.info("###token is"+ req.getHeader("Authorization"));
        String token = req.getHeader("Authorization");

        TokenValidator obj = new TokenValidator(token);//This class validates the Access token with WSO2
        boolean tokenStatus = obj.gettokenStatus();
        if(tokenStatus){
             res.setHeader("Access-Control-Allow-Headers", "*");
            res.setHeader("Access-Control-Max-Age", "3600");
            chain.doFilter(req, res);

        }else{
            LOG.info("token validation is not scuesfull");
            throw new SecurityException();
        }

    }

0 个答案:

没有答案