node-sso(单点登录)

序言: 此文章所介绍的sso,未达到企业级别那么完善,只是一个入门指引,提供了较好思路和实现过程

1.这篇文章涉及到的技术
mysql或mssql, node, redis, nginx, 基于node的express框架, js

sso核心思想: 所有子系统都通过一个认证中心passport进行登陆,可以访问该子系统的唯一标志在于cookie中是否有passport颁发的token令牌,且令牌只能由认证中心passport颁发。cookie会始终携带在顶级域名(www.xxx.com, xxx.com即为顶级域名)相同的网站中。

2.具体参考博文:
前端之SSO(单点登录) 实践
对应github链接

3.注意: 数据库中需要有id,username,pass,token字段, 测试是否成功时需要在启动passport服务(npm run start)基础上,启动starta和startb,在两个网页之间进行验证

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js单点登录是指在Node.js环境中实现的单点登录功能。单点登录SSO)是指用户只需要登录一次,就可以在多个应用系统中访问所有相互信任的应用系统。在Node.js中实现单点登录可以通过与前端页面的配合来完成。 通常,单点登录的实现需要以下几个步骤: 1. 创建一个登录页面,用户在该页面输入用户名和密码进行登录。 2. 在Node.js服务器端使用一定的身份验证方式对用户进行认证,比如验证用户名和密码是否匹配等。 3. 认证成功后,服务器会为该用户生成一个认证凭证,并将该认证凭证存储在会话中。可以使用Redis等作为会话存储。 4. 服务器将认证凭证返回给前端页面,前端页面可以使用Cookie或者其他方式保存该认证凭证。 5. 当用户访问其他应用系统时,应用系统会向服务器发送认证凭证。 6. 服务器接收到认证凭证后,验证其有效性,如果有效则返回给应用系统用户的身份信息。 7. 应用系统使用该身份信息进行用户的认证和授权。 在Node.js中实现单点登录可以使用express框架,结合Redis作为会话存储。通过在服务器端验证用户的登录信息,并生成认证凭证,将认证凭证存储在会话中,从而实现单点登录的功能。 需要注意的是,单点登录的实现需要确保各个应用系统之间相互信任,且使用合适的身份验证方式来保护用户的信息安全。同时,应该考虑并处理可能出现的安全风险,比如跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等。 总结起来,Node.js单点登录是指在Node.js环境中通过验证用户的身份信息,并生成认证凭证,从而实现用户只需登录一次就可以访问多个应用系统的功能。通过使用express框架和Redis等作为会话存储,可以实现该功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值