Rad*_*Rad 6 spring spring-security
我\xe2\x80\x99有一个似乎很受欢迎的问题,但我无法\xe2\x80\x99找到答案。好吧,有很多关于它的信息,但我不确定最好的方法是什么。所以这里\xe2\x80\x99是场景。
\n\n我们有一个单页应用程序 (SPA) 和一个 RESTful Web 服务 (API)。我们通过 OAuth2/JWT 使用外部身份验证/授权服务提供商。但我需要在成功登录后将用户 ID(由外部身份验证提供程序提供)保留在服务器端的数据库中。而且我还需要在成功登录后在安全上下文中丰富Authentication/Principal对象(例如通过添加电子邮件)。
网上有很多关于这种情况的内容。但我们已经有用于身份验证/授权的 SDK,并且它运行得很好(没有自定义代码等)。我只需要向身份验证对象添加一些内容。正确的做法是什么?谢谢。
\n作为记录,这就是我们所做的:
正如我所说,已经有一个 SDK 完成了身份验证机制的所有繁重工作。我们只需要在认证成功后丰富认证对象即可。AuthenticationProvider因此,我们将(在 SDK 中实现)包装在我们的实现中(受 启发PreAuthenticatedAuthenticationProvider),并且在成功身份验证后,我们使用 UserDetails 实现丰富了结果(受 启发PreAuthenticatedGrantedAuthoritiesUserDetailsService)。剩下的就很简单了。
PS:如果您不喜欢这个想法,请告诉我。
| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |