Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.4k views
in Technique[技术] by (71.8m points)

OAuth2实现单点登录求解

最近小弟在构建一个新的项目,想单独做一个统一认证中心,想用OAuth2实现单点登录,作为边写项目边学习OAuth2。
目前考虑到的问题:
1、每个子系统是分配不同的clientId还是相同的?如果是不同的clientId,返回的access_token是不同的吧?如果相同会不会有什么影响呢?
2、似乎只有在请求资源服务器的时候,才会校验access_token吧?不然也不知道access_token是否被注销了吧?
3、如果实现统一注销全部客户端?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

以下不知道正不正确,只是自己的理解。
首先需要先区分,单点登录与OAuth2这两个东西。
单点登录指的是多个客户端公用一套用户认证系统。
OAuth2 是一个用来授权的协议,授权值得是客户端凭借我给的凭证能够拿去一些不敏感的数据。比如三方登录,我们通过授权后就可以获取微信,QQ用户的基本信息。然后就可以简化我们自己写登录注册这一步,但是逻辑还是需要自己写,我们最主要的目的是使用QQ一件登录这么一个功能,用户信息一般来说还是会自己保存在自己的数据库,具体登录注销这个操作,是你自己的服务来写,而不是只用三方的Oauth2接口就好了。

简单的来说OAuth2是授权系统面向第三方使用者的,单点登录只是一个登录服务。登录服务无非就是前段传递一个标识,这个标识用什么方法做都可以。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...