【问题标题】:Using SAML with JWT for Node API将 SAML 与 JWT 一起用于 Node API
【发布时间】:2017-08-23 17:28:12
【问题描述】:

我正在通过 passport-wsfed-saml2 策略 https://github.com/auth0/passport-wsfed-saml2 使用 SAML2 构建 Angular 2 应用程序。当我从 SAML 收到用户信息时,我会生成一个 JWT 令牌,用于在我也在编写的 API 上对用户进行身份验证。

所以我有两台服务器,APP/Auth Server 为我的应用程序提供服务并生成我的 JWT 令牌,API Server 有我的 API。两台服务器都有 JWT 密钥的副本,因此当用户从 APP/Auth 服务器 向 API 服务器 发送请求时,我会通过以下方式验证他们随请求发送的令牌用秘密验证它。

现在我的问题是,让您的应用从您用来生成 JWT 令牌的同一台服务器上提供服务是不好的做法吗?如果是这样,我应该在这里做什么?我是否应该在我的 API 端对用户进行更多身份验证?

这件事让人感觉很脏……任何帮助都将不胜感激。

【问题讨论】:

  • 您在什么时候将您的 jwt 令牌添加到 saml 身份验证过程中?

标签: node.js api jwt saml-2.0 federated-identity


【解决方案1】:

将应用程序和身份验证系统放在同一个服务中本身并不是一种不当行为。一般来说,推荐解耦服务,但这并不意味着部署可以对服务进行分组,当然取决于上下文

如果您担心在服务器之间共享密钥,您可以使用非对称密钥对(私有和公共)。仅需要 Auth Server 知道私钥才能签署 JWT。 API Server 可以使用公钥来验证令牌。

【讨论】:

  • 感谢您的意见,我们选择保持结构不变并使用您建议的非对称密钥对。谢谢!
猜你喜欢
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-02
  • 2015-07-18
  • 2018-11-01
  • 2019-11-24
  • 1970-01-01
相关资源
最近更新 更多