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