相关疑难解决方法(0)

我可以在发出访问令牌时包含用户信息吗?

我在一些oauth2实现中看到了授权服务器在发出访问令牌时返回的响应的附加信息.我想知道是否有办法使用spring-security-oauth2来实现这一目标.我希望能够在访问令牌响应中包含一些用户权限,以便我的消费应用程序不需要管理用户权限,但仍然可以将用户设置在他们自己的安全上下文中并应用他们自己的任何spring-security检查.

  1. 我如何获得有关访问令牌响应的信息?
  2. 我如何拦截oauth2客户端上的信息并将其设置在安全上下文中?

我想另一种选择是使用JWT令牌并与客户端应用程序共享适当的信息,以便他们可以解析令牌中的用户/权限并将其设置在上下文中.这让我更加不舒服,因为我更愿意控制哪些客户端应用程序可以访问此信息(仅限受信任的应用程序),而AFAIK只有授权服务器和资源服务器应该知道如何解析JWT令牌.

spring spring-security spring-security-oauth2

26
推荐指数
2
解决办法
3万
查看次数

使用Spring Security从JWT令牌中提取当前登录的用户信息

我使用Spring Security Oauth2实现了JWT和LDAP身份验证.它似乎工作正常,我可以使用我的LDAP凭据登录.

现在,有一个要求我需要使用当前登录的用户信息来保存数据库中的详细信息 - 特别是当该用户添加/更新新记录时.我尝试使用Spring安全方式来实现

SecurityContextHolder.getContext().getAuthentication().getDetails() 
Run Code Online (Sandbox Code Playgroud)

但它不会返回我在JWT中获得的所有信息.它只返回远程IP,JWT令牌值和经过身份验证的true.它甚至没有返回name().

我是JWT的新手,所以不确定我是否需要通过阅读该令牌来提取它,甚至我们如何实现它.

任何指针将不胜感激.

谢谢.

spring spring-security jwt spring-boot spring-security-oauth2

12
推荐指数
1
解决办法
7932
查看次数