我正在使用 spring boot 和 oauth2 创建 github 单点登录,现在我有要测试的受保护路由,但是当我尝试访问它们时,它告诉我需要登录。
我尝试的是创建一个 GitHub 个人访问令牌,并在我的邮递员中的集成选项卡中选择 github 并添加新的集成。但这没有用。仍然要求我登录。
如何使用 Github 登录访问受保护的路由?
这就是我添加 github 个人访问令牌密钥并在 postman 中创建集成的方式。
如果您使用
oauth2Login
(并定义了 OAuth2 登录所需的客户端配置),您的请求受到会话保护(不是承载访问令牌)=> 您必须在请求中发送有效的会话 cookie需要授权。
您可以像平常一样使用浏览器完成 OAuth2 登录过程,并使用 Postman 拦截器捕获会话 cookie。示例教程在此视频中。
但是,如果您使用 Postman,您可能正在编写 REST API。当您使用 OAuth2 来确保安全时,这个 Spring 应用程序可能最好配置为无状态资源服务器而不是 OAuth2 客户端,并在其前面添加一个前端后端 (BFF),以提供
oauth2Login
等功能在基于会话的安全性和基于令牌的安全性之间架起桥梁(在我的教程的情况下是 spring-cloud-gateway
TokenRelay
过滤器)。
请参阅我的教程了解一些 OAuth2 背景和各种配置选项。