当前位置: 首页 > 知识库问答 >
问题:

使用JWT和OpenID Connect在微服务中进行客户端身份验证

耿玄裳
2023-03-14

我最大的问题是身份验证(目前)。在阅读了大量文档之后,似乎最好的解决方案是使用OpenID Connect对用户进行身份验证,以检索可以随请求一起传递给微服务的JWT。

此外,为了避免拥有多个endpoint,您可以将和API网关部署为最终用户只有一个endpoint。好了,现在我有两个关于这个体系结构的问题。

身份验证的标准流程为:

非常感谢!

共有1个答案

仲孙英才
2023-03-14

我正在实现一个类似的解决方案。我不确定它是否能完全解决你的问题,但是,我希望它能有所帮助:

>

  • 您可以实现一个新的身份验证微服务来将oAuth2访问令牌转换为JWT令牌。这个微服务还将对这个JWT令牌进行签名。

    您的API网关将把所有客户端请求路由到身份验证服务,该服务将从IDM验证此令牌,并将其转换为签名的JWT令牌。

  •  类似资料:
    • 我有一个移动(本机)和Web应用程序(SPA),它与后端微服务(在核心2.0中开发)对话,以进行身份验证/授权和其他与域相关的功能,该功能已使用Opendi的配置。这两个应用程序都获得了访问令牌。我遇到的问题是,所有微服务都应该接受无记名访问令牌和登录用户的身份验证/授权(中央身份验证服务),在身份验证微服务中生成的访问令牌(开放身份验证2.*)。那么,我在微服务中缺少哪些更改,其中REST AP

    • 但请求呢?和是用户的属性,但应将它们发送到endpoint。如果我将资源发送到endpoint,则没有多大意义。 对此有没有办法,遵循JSONAPI并保持API的意义?

    • 并输出到控制台: 我试图设置断点并找出网关和身份验证器中的问题所在,但这没有帮助,因为我的应用程序类中的任何断点都没有执行。只有当我将日志设置为调试时,我才在日志中发现一个异常: 我不明白这个异常的真正含义,我发现很多人都得到了相同的异常,但它可能在不同的情况下被抛出。 https://raw.githubusercontent.com/pavelmorozov/springbootgateway

    • 如何用Apache CXF实现这一点?

    • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。

    • 问题内容: 我想使用带有身份验证的其余api。我正在尝试包括标头,但没有得到任何回应。它抛出的输出通常是在没有身份验证时抛出的。谁能建议我一些解决方案。下面是我的代码 问题答案: 该请求模块将使您的生活更轻松。现在,它包括“ 基本身份验证”作为选项,因此您不必自己构建标题。 安装请求执行