gpt4 book ai didi

node.js - 寻找 JWT Auth 微服务示例

转载 作者:搜寻专家 更新时间:2023-10-31 22:38:07 25 4
gpt4 key购买 nike

我想使用 NodeJS、Mongo 和 JWT 构建身份验证/授权服务。该服务将是一个微服务,它不仅在允许请求之前处理来 self 的 API 网关的请求,而且还处理来自可能想要检查身份验证和角色的其他服务的请求。我假设所有其他服务都将使用此 Auth 服务来验证 JWT 以及角色等。

希望这张图能更好地解释我正在寻找的东西。 enter image description here

任何人都可以为我指出可以帮助我了解如何使用 NodeJS 执行此操作的资源吗?

最佳答案

如果您只有一个客户端应用程序,那么您可以执行以下步骤

  • 制作一个用于生成 jwt token 的身份验证微服务。

  • jwt 在其有效负载中包含所有基本用户信息,即 Role、UserId 等。

  • jwt token 将在每个授权请求的授权 header 中发送。

  • 在处理任何请求之前,您可以使用中间件验证和解码 jwt token 。现在您可以轻松地在 req 对象中设置用户的信息,并且可以轻松地在您的 Controller 中访问用户角色及其 ID。

  • 如果 token 无效,那么您可以在中间件中抛出错误,它会提供未经授权的 json 响应。

  • 您可以调用身份验证 api 来验证和解码您的 token ,或者您可以在中间件的每个微服务中编写 3 到 4 行代码。

这里有一些jwt示例实现的链接,您应该按照上面的步骤自定义这些示例代码。

5-steps-to-authenticating-node-js

authenticate a nodejs api with json web tokens

如果您有多个客户端应用程序

  • 您应该使用提供单点登录解决方案的 openid connect 标准来验证具有相同用户名和密码的多个应用程序。

  • here是一个 openid connect Playground ,用于了解授权流程。

关于node.js - 寻找 JWT Auth 微服务示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47007159/

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