spring 如何设计身份验证和授权服务?

xuo3flqw  于 2023-08-02  发布在  Spring
关注(0)|答案(1)|浏览(99)

我想做一个网站,需要首先实现注册和登录服务。我使用 Boot ,并采用grpc来实现不同服务之间的通信。以下是我的要求:
1.一些API可以在用户登录之后才可访问
1.我不想用session,jwt是我的首选
1.我需要支持第三方登录,像github,谷歌登录
是否适合采用Spring安全性oauth2和jwt?在成熟的商业应用中,一般采用什么技术栈来实现权限认证?

yptwkmov

yptwkmov1#

根据你的问题,你的调查是正确的。使用Spring Security来满足这些需求是个好主意。在我工作过的商业应用程序中,我们使用了第三方服务,如Firebase Authentication或Auth0**+* JWT,通过请求头 Authorization:(Bearer authentication)**+**Spring Security传递。在不太大的配置和调整(以及一些方法覆盖)之后,您将能够使用方便的注解,如@PreAuthorize()和参数isAuthenticated()permitAll()hasRole(String role)等等。

@PreAuthorize("isAuthenticated()")
    public List<GiftCardResponse> getUserGiftCards() {
        ...
    }

字符串

相关问题