IBM Single Sign On 服务是否允许使用 JWT 令牌,而不是基于 cookie 的会话方法?
我有一个 web 项目,后端在 Node.js 中,前端在 Angular.js 中作为单独的应用程序。所以我需要一个与 JWT 令牌一起工作的 SSO。
IBM Single Sign On 服务是否允许使用 JWT 令牌,而不是基于 cookie 的会话方法?
我有一个 web 项目,后端在 Node.js 中,前端在 Angular.js 中作为单独的应用程序。所以我需要一个与 JWT 令牌一起工作的 SSO。
您想要使用提供单点登录功能的IBM Cloud App ID服务(IBM SSO 服务已被弃用)。它提供符合 openID Connect 和 OAuth2 的身份验证。访问和身份是 JWT(JSON Web Token)。
我建议您查看相关的App ID Node.js SDK。有一些示例显示了与护照框架的集成。我已经看到它与 Angular.js 应用程序一起使用。
您的问题有两个部分:(1) IBM SSO 是否使用 JWT 令牌和 (2) 我们能否将 JWT 用作 Angular 应用程序的会话令牌。
(1) IBM SSO 服务已被弃用,取而代之的是IBM Cloud App ID,它管理不同类型身份(包括匿名和基于目录)的身份以及概要文件管理。该服务符合 OAuth2/OIDC,因此客户端获得的访问和身份令牌都是 JWT。
(2) 查看这篇关于如何使用 App ID 保护 Angular+Nodejs 应用程序的博客。这里重要的一点是您是否想使用从 App ID 获得的 JWT 作为会话令牌。请记住,您的 App ID 访问令牌为承载者提供了会话身份之外的能力(它也为承载者提供了对端点的访问权限) /userinfo
,/attribute
因此除非您可以将此信息公开给前端,否则请创建和管理您自己的 JWT会话或使用 Express 会话。