如何创建一个接受基本身份验证标头或 oauth2 访问令牌的端点?

克里斯·里斯利

我已经使用 Spring Boot 安全性设置了一个 OAuth2 身份验证服务器,并且一切正常。我接下来要做的是创建一个超级用户,该超级用户只需一个基本的 auth 标头即可将请求发送到每个端点,而不会影响其他用户的身份验证流程。这可能与 Spring Boot 安全性有关吗?

谢谢,克里斯

拉尼埃

是的,有可能。

一种选择是使用 ROLES,因此您可以选择使用 @Secured 注释访问每个端点的用户。

其他选项包括实现您自己的过滤器以在请求之前运行。这是一个使用 JWT 令牌过滤器和验证的简单示例:

public class JWTConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {

@Override
    public void configure(HttpSecurity http) {
        JWTFilter customFilter = new JWTFilter();
        http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class);
    }

}

public class JWTFilter extends GenericFilterBean {

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
        throws IOException, ServletException {
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
// Here go your implementation
        String jwt = resolveToken(httpServletRequest);
        if (isTokenValid(jwt)) {
            Authentication authentication = getAuthenticationFromToken(jwt);
            SecurityContextHolder.getContext().setAuthentication(authentication);
        }
        filterChain.doFilter(servletRequest, servletResponse);
    }

private String resolveToken(HttpServletRequest request) {
        String bearerToken = request.getHeader("YOUR-AUTHORIZATION-HEADER");
        if (StringUtils.hasText(bearerToken) && bearerToken.startsWith("Bearer ")) {
            return bearerToken.substring(7, bearerToken.length());
        }
        return null;
    }


本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTTP标头中的Spring OAuth2访问令牌

来自分类Dev

HTTP标头中的Spring OAuth2访问令牌

来自分类Dev

LinkedIn OAuth2:“无法验证访问令牌”

来自分类Dev

如何编写需要OAuth2访问令牌的RSpec测试?

来自分类Dev

如何编写需要OAuth2访问令牌的RSpec测试?

来自分类Dev

如何在 OAuth2 的 cookie 中存储访问令牌?

来自分类Dev

OAuth2 INTRIDEA gem和HTTP基本身份验证标头

来自分类Dev

OAuth2访问令牌

来自分类Dev

使用 spring-boot-starter-oauth2-client 检索 OAuth2 3-legged 身份验证的访问令牌

来自分类Dev

Spring OAuth2每个对令牌端点的请求都会生成访问令牌

来自分类Dev

如何使用OAuth或OAuth2身份验证通过IMAP访问Yahoo Mail

来自分类Dev

如何在资源服务器上验证WSO2 oauth2访问令牌

来自分类Dev

如何将OAuth1令牌/秘密对迁移到Dropbox API的OAuth2访问令牌?

来自分类Dev

如何在 Spring Boot 中使用预定义的令牌绕过 Oauth2 身份验证?

来自分类Dev

春天引导2.0.3的oauth2安全:使用访问令牌头时,甚至获得401错误

来自分类Dev

Node.js oauth2模块,用于无头获取访问令牌

来自分类Dev

Google OAuth2验证服务器流中的访问令牌

来自分类Dev

使用Django OAuth2 Toolkit生成单一访问令牌

来自分类Dev

Spring OAuth2 Security中如何在SuccessHandler登录后立即获取访问令牌?

来自分类Dev

如何将内容添加到Spring oauth2访问令牌?

来自分类Dev

如何使用OAuth2从奇妙清单中获取访问令牌

来自分类Dev

OAuth2访问令牌格式

来自分类Dev

从 API 获取访问令牌 (oauth2)

来自分类Dev

如何使用oauth2令牌与HTTParty创建连接

来自分类Dev

Spring Boot 2 + OAuth2:配置令牌的身份验证代码交换

来自分类Dev

Django 1.7 Google OAuth2令牌验证失败

来自分类Dev

Google OAuth2 JWT令牌验证异常

来自分类Dev

如何在OAuth2中使用“刷新令牌”

来自分类Dev

OAuth2(Bearer)令牌如何转换为ACL

Related 相关文章

  1. 1

    HTTP标头中的Spring OAuth2访问令牌

  2. 2

    HTTP标头中的Spring OAuth2访问令牌

  3. 3

    LinkedIn OAuth2:“无法验证访问令牌”

  4. 4

    如何编写需要OAuth2访问令牌的RSpec测试?

  5. 5

    如何编写需要OAuth2访问令牌的RSpec测试?

  6. 6

    如何在 OAuth2 的 cookie 中存储访问令牌?

  7. 7

    OAuth2 INTRIDEA gem和HTTP基本身份验证标头

  8. 8

    OAuth2访问令牌

  9. 9

    使用 spring-boot-starter-oauth2-client 检索 OAuth2 3-legged 身份验证的访问令牌

  10. 10

    Spring OAuth2每个对令牌端点的请求都会生成访问令牌

  11. 11

    如何使用OAuth或OAuth2身份验证通过IMAP访问Yahoo Mail

  12. 12

    如何在资源服务器上验证WSO2 oauth2访问令牌

  13. 13

    如何将OAuth1令牌/秘密对迁移到Dropbox API的OAuth2访问令牌?

  14. 14

    如何在 Spring Boot 中使用预定义的令牌绕过 Oauth2 身份验证?

  15. 15

    春天引导2.0.3的oauth2安全:使用访问令牌头时,甚至获得401错误

  16. 16

    Node.js oauth2模块,用于无头获取访问令牌

  17. 17

    Google OAuth2验证服务器流中的访问令牌

  18. 18

    使用Django OAuth2 Toolkit生成单一访问令牌

  19. 19

    Spring OAuth2 Security中如何在SuccessHandler登录后立即获取访问令牌?

  20. 20

    如何将内容添加到Spring oauth2访问令牌?

  21. 21

    如何使用OAuth2从奇妙清单中获取访问令牌

  22. 22

    OAuth2访问令牌格式

  23. 23

    从 API 获取访问令牌 (oauth2)

  24. 24

    如何使用oauth2令牌与HTTParty创建连接

  25. 25

    Spring Boot 2 + OAuth2:配置令牌的身份验证代码交换

  26. 26

    Django 1.7 Google OAuth2令牌验证失败

  27. 27

    Google OAuth2 JWT令牌验证异常

  28. 28

    如何在OAuth2中使用“刷新令牌”

  29. 29

    OAuth2(Bearer)令牌如何转换为ACL

热门标签

归档