gpt4 book ai didi

spring-security - 微服务架构中SPA的认证

转载 作者:行者123 更新时间:2023-12-05 06:10:02 28 4
gpt4 key购买 nike

我正在寻找一种最佳方法来为我们基于 spring boot 微服务的项目创建注册、身份验证和授权。微服务将为 SPA 应用程序提供 rest API,随后为移动应用程序(android 和 ios)提供 rest API。实际上,我们在 Postgres 数据库中拥有所有用户。

正如我提到的,用户注册和身份验证将由 SPA 和移动平台使用,因此我更喜欢 RESTful API。

我的想法是拥有一个 auth-service 来解决 auth* 操作,并为其他微服务提供公钥来解码和验证 JWT。

事实上,我们不需要向外部服务提供授权,使用像 Keycloak 这样的 OIDC 提供商是否有意义?或者自定义身份验证是更好的选择?

最佳答案

如果您想使用 Keycloak 提供的授权功能来支持 OIDC,则不会强制您使用它。您可以受益于其注册、身份验证或忘记密码流程以及易于配置的 OAuth/OIDC 功能。

关于 Keycloak 的另一个不错的特性是在客户端的平滑集成,它允许您的代码几乎无需更改即可工作。我没有评估他们的 Spring 适配器,但在我参与的项目中,因为它们都是基于 JEE 的,并且使用所有应用程序服务器提供的标准安全 API,我们真正受益于为我们的应用程序服务器使用 Keycloak 适配器。它处理您在问题中描述的所有逻辑,在请求到达我们的代码之前,这意味着一切都已经设置好(即 token 得到验证/验证并且主体和角色已经从中提取,我们可以通过 访问它request.getPrincipal()sessionContext.getCallerPrincipal()request.isUserInRole() 等)。

关于spring-security - 微服务架构中SPA的认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64574499/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com