统一认证授权及单点登录的技术选择
2017-07-03 11:56
232 查看
主要认证授权技术
LtpaToken全称:IBM Lightweight Third-Party Authentication。是一个羽量的token生成规则,作用有点像OAUTH2.0的第四种规则Client Credentials,即直接产生Access Token
一个非常灵活的认证规则,轻量级用户单点登录,适用于简单实现几个类,实现统一算法的URL登陆跳转。
OAUTH2.0
OAUTH2.0协议在第三方调用开发上比较简单,比较轻量级,各个语言的支持非常丰富,认证类型有4种,可以比较灵活的选择,业内比较偏向选择这个方案。
OpenID
OpenID只起到了认证的作用。
OpenID和OAUTH的区别
很多人把OpenID和OAUTH混淆了,国内搜索出来的站点基本上是摩棱两可,讲不清楚。
实际上区别很明显:
OpenID认证(即证明你是你,用于登陆Login时认证),OAuth是授权(即授予访问权限的功能/数据/URL/等。无需处理原始身份登陆认证)。
OAuth可以用于外部合作伙伴或企业内部第三方网站允许访问受保护的数据,而不必重新验证用户。
SAML
SAML协议较OAUTH来说比较复杂,,但是功能也十分强大,支持认证,权限控制和用户属性。
CAS
CAS(Central Authentication Service) 是 Yale 大学发起的一个开源项目。
使用起来较繁琐,在3.5版已包含OAUTH2.0认证算法。
但如果仅仅是集成第三方认证,没必要用CAS。
OAUTH2.0的基本概念
介绍,这篇比较好:http://www.cnblogs.com/linianhui/p/oauth2-authorization.html
重点需要了解OAUTH2的4种授权流程(许可类型)
Authorization Code
Implicit
Resource Owner Password Credentials
Client Credentials
看看这些例子就能很快了解这些许可类型的区别:
豆瓣Authorization Code接口
https://developers.douban.com/wiki/?title=oauth2
QQ Implicit互连接口
http://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8implicit_grant%E6%96%B9%E5%BC%8F%E8%8E%B7%E5%8F%96access_token
微信Client Credentials接口
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183
可见,微信的接口最简单易用,便于集成。
相关文章推荐
- 基于shiro-cas的单点登录、单点登出、统一认证授权系统
- 单点登录(SSO)的核心--kerberos身份认证协议技术参考(二)
- 统一身份认证技术实现集合
- 思考如何做单点登录,统一认证,且兼顾权限--个人小结,非解决方案
- 新浪开放平台---oauth2认证流程 casperjs自动登录和授权 api需要注意的问题及bug
- 如何实现共享软件网络授权认证,包括注册新用户、登录、修改密码等操作
- WEB页面统一认证登录方法
- 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
- iphone开发我的新浪微博客户端-用户登录OAuth授权认证篇(1.3)
- 一起谈.NET技术,ASP.NET中的认证与授权
- asp.net 统一认证及单点登录平台解决方案系列<一>
- 单点登录(SSO)的核心--kerberos身份认证协议技术参考(一)
- 统一用户认证和单点登录解决方案
- 单点登录、统一认证解决方案(四)
- 单点登录统一用户认证UCenter 的配置
- 统一身份认证技术实现集合
- 统一用户认证和单点登录解决方案
- 腾讯即将推出人脸认证登录技术
- 通用权限管理系统组件 中实现统一身份认证(Single Sign On,单点登录)附源码