zoukankan      html  css  js  c++  java
  • 统一认证授权及单点登录的技术选择

    主要认证授权技术

    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

    可见,微信的接口最简单易用,便于集成。

  • 相关阅读:
    结构体
    指针
    数组
    银行取款机系统
    函数
    基础
    IOS系统的安装和Vi的操作模式以及简单的指令
    1203.4——循环语句 之 for
    1203.3——循环语句 之 while
    1203.2——条件语句 之 switch语句
  • 原文地址:https://www.cnblogs.com/starcrm/p/7110448.html
Copyright © 2011-2022 走看看