什么是单点登录?

本文介绍了OAuth 2.0授权机制在单点登录(SSO)中的应用,详细阐述了为什么需要单点登录以及服务接口的登录设计。讨论了OAuth 2.0的授权码、隐式、密码、客户端凭证和设备码等不同模式,并以授权码和隐式方式为例,解释了它们在前后端分离应用中的使用场景。同时,文章强调了安全性问题,如不保存密码,而是使用有时效性的token来实现“记住密码”功能。
摘要由CSDN通过智能技术生成

OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据。

阮一峰的文章写的已经非常清楚了,我简单总结一下我对SSO的观点。

为什么需要单点登录?

简单阐述一下动机,比如你要开发一个邮件App,用户通过"登录"可以获取自己gmail邮件,最简单的就是你给用户一个登录界面输入用户在google的用户名和密码,但这个时候用户就会担心现在你(App的供应商)有了用户名和密码,就可以用这个密码去gmail登录进而看到所有用户邮件,这个肯定不行, 但其实google也希望第三方App在不接触最终用户的用户名和密码的情况下来扩展自身生态。

基于资源方、第三方(ISV)和终端用户的几方面诉求,就产生了OAuth (RFC6749),现在的OAuth2.0在2012年定稿,所以已经非常成熟了。

但很多人接触OAuth是来自于另外一个场景,公司需要开发两个网站共享一套登录,所以很多人会认为OAuth是用来做身份验证的。

其实不管哪种场景,殊途同归,就好比刀可以切菜,也可以砍人。你把底层的原理想明白就ok。

服务接口的登录设计

我是在做前后端分离的时候才真正开始接触单点登录,当时后端采用node,前端采用react,如果在不借助cookie和session的方式下如何设计登录和授权方式。最终兜兜转转才发现OAuth2就是最好的解决方案:

  • backend service: 对应资源方
  • react webapp: 对应第三方App
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值