【问题标题】:Accessing JWT Token during verification验证期间访问 JWT Token
【发布时间】:2015-02-13 01:58:42
【问题描述】:

我正在使用以下示例使用 Spring Cloud OAuth2 实现:

https://github.com/spring-cloud-samples/authserver

https://github.com/spring-cloud-samples/sso

第一个是 OAuth 服务器,它在对用户进行身份验证时生成 JWT 令牌。第二个是正在消耗的资源。该资源根据 OAuth 规范将用户的身份验证中继到 authserver。

一切似乎都运行良好,导致我提出其他问题:

  1. 在authserver中,在认证过程中,如何获取clientId和clientSecret的访问权限?
  2. 我能否确定用于生成 JWT 令牌的值?
  3. 在 SSO 中,如何在用户通过身份验证后访问令牌的内容(例如主体)?

【问题讨论】:

    标签: java spring-security spring-boot spring-security-oauth2 spring-cloud


    【解决方案1】:

    对 3) 的回答:将方法签名更改为包括:

    @AuthenticationPrincipal  User principal
    

    这样,身份验证凭据将传递给 Spring 调用的控制器方法。另一种方式是通过安全上下文:

    SecurityContext securityContext = SecurityContextHolder.getContext(); 
    Authentication authentication = securityContext.getAuthentication();
    

    至于2),我的猜测是,为了影响用于计算JWT令牌的参数,需要实现一个自定义的AccessTokenConverter。如果我的理解是正确的,默认的 DefaultAccessTokenConverter 不允许这样做。我欢迎对此提出任何其他意见。

    【讨论】:

      猜你喜欢
      • 2021-03-10
      • 2021-08-24
      • 2018-11-18
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 2018-11-19
      相关资源
      最近更新 更多