如何通过令牌而不是cookie中的jsession访问spring oauth2客户端后端api?
Posted
技术标签:
【中文标题】如何通过令牌而不是cookie中的jsession访问spring oauth2客户端后端api?【英文标题】:How can i access spring oauth2 client backend api by token instead of jsession in cookie? 【发布时间】:2020-03-28 09:45:46 【问题描述】:我知道你可能被标题弄糊涂了。请看图片。
我有一个由 spring security 和 spring security oauth2 客户端保护的后端服务器。
@EnableWebSecurity
public class OAuth2ClientSecurityConfig extends WebSecurityConfigurerAdapter
@Override
protected void configure(HttpSecurity http) throws Exception
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.oauth2Login();
当我访问 localhost:8080/api/get/id 在 cookie 中使用 JSessionId 时,这工作正常。
但我想使用基于令牌的身份验证,以便我的 Angular 应用程序可以访问我的后端。我该怎么办?
登录后如何获取令牌而不是 cookie?
请给我一些建议,提前谢谢你。
【问题讨论】:
【参考方案1】:此解决方案有 3 个部分,如我的教程 + 代码示例中所述: https://authguidance.com/2017/09/24/basicspa-overview/
第 1 步:使用基于标准的授权服务器 (AS)
第 2 步:在 Angular 应用中使用 oidc 客户端库将用户重定向到 AS 以登录并获取访问令牌
第 3 步:验证 API 中的访问令牌
【讨论】:
以上是关于如何通过令牌而不是cookie中的jsession访问spring oauth2客户端后端api?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Http 和 Secure 将 Jwt 令牌存储在 Cookie 中,而不是 Javascript 中的 LocalStorage
使用带有令牌而不是 Cookie 的 Django 会话框架?
sessionStorage 与 cookie 中的 JWT 令牌?