如何使用OpenID Connect进行身份验证,如何使用JWT进行其他所有操作

时间:2018-06-20 06:57:02

标签: jwt jhipster openid-connect

我想通过以下方式使用“微服务架构” https://www.jhipster.tech/api-gateway/

  • 我公司的OpenID连接提供商可以对前端SPA中的用户进行身份验证
  • 用于授权的JWT(即从用户身份验证之日起的JWT)

我不确定应该如何配置,或者甚至根本不可能...

1 个答案:

答案 0 :(得分:0)

在设计整个系统时,您必须采取许多架构决策。但是,如果您要使用OpenID Conenct,则几乎没有什么共同点。

首先,您已经确定必须具有OpenID Connect提供程序(IDP)。您有几种选择。为此,您可以使用自己的IDP。否则,您的微服务可能由一个API网关控制(看看它确实有一个Hipster架构),该网关为此内置了IDP。无论如何,必须从应用程序终结点使用ID令牌来验证最终用户。

现在进入微服务消费,我看到可以使用两个选项。如果您的api网关为所有微服务建立了安全性,则网关必须基于访问令牌执行授权部分。但是,如果您直接使用微服务(无需与网关交互),则每个微服务都将单独处理授权。两者都有优点和缺点,但取决于您自己进行调查和决定。

总而言之,您的SPA使用ID令牌进行最终用户身份验证。一旦通过身份验证,您就可以使用访问令牌(最好是您所说的JWT)使用微服务。一旦微服务收到请求,它将基于访问令牌JWT授权该请求。为此,必须验证JWT索赔,其签名以及可以对发布令牌的IDP使用token introspection

相关问题