Oauth2 + jwt 和 spring boot

Posted

技术标签:

【中文标题】Oauth2 + jwt 和 spring boot【英文标题】:Ouath2 + jwt and spring boot 【发布时间】:2020-06-19 15:55:18 【问题描述】:

我想在 oauth2 + jwt 中安全地在后端实现。

我想在 Spring Boot 中实现以下身份验证流程,但我不知道该怎么做: 1. 用户被认证。 2. 收到该请求,并使用该登录名和密码验证凭据的 ws 受到攻击。 3.如果正确,在数据库中搜索一系列数据和权限 4.如果正确则授予访问权限并生成jwt令牌

我对此感到迷茫,尽管我读了这么多书,但我不知道该怎么做。 我可以遵循任何手册或帖子吗?

【问题讨论】:

【参考方案1】:

您是在运行自己的(自定义)身份验证服务器,还是计划允许用户通过 Google、Facebook 等提供商进行身份验证?如果是后者,那么您根本无法期望收到用户/密码凭据,因此您可能误解了 OAuth 流程。您通常会收到来自提供商(例如 Google)的“授权码”。

另外,“验证凭据的 ws 被攻击”是什么意思?

这个Google use-case diagram 描述了一个常见的流程。它是this guide 的一部分。

无论哪种方式,Spring Boot 本身并不处理 OAuth/安全性,但它有一个严密的 与 Spring Security 集成,这是一个很好的安全框架,尤其是当您已经在使用 Spring 时。 Spring Security 可以处理 OAuth、JWT 等。

一些可能有助于您入门的指南:

https://www.baeldung.com/spring-security-oauth-jwt https://spring.io/guides/tutorials/spring-boot-oauth2/

【讨论】:

以上是关于Oauth2 + jwt 和 spring boot的主要内容,如果未能解决你的问题,请参考以下文章

用Spring Cloud OAuth2和JWT保护微服务

Spring Boot 2 和 OAuth2/JWT 配置

Spring OAuth2 和 JWT 认证信息

Spring Boot OAuth2 + JWT 和 UserDetailsS​​ervice

SpringCloud(10)使用Spring Cloud OAuth2和JWT保护微服务

如何在 Spring Boot 中实现 oAuth2 和 JWT 身份验证? [关闭]