zoukankan      html  css  js  c++  java
  • OAuth2.0和SSO授权

    链接地址:http://www.cnblogs.com/ydhliphonedev/archive/2013/08/02/3232128.html

    一、OAuth2.0授权协议

      一种安全的登陆协议,用户提交的账户密码不提交到本APP,而是提交到授权服务器,待服务器确认后,返回本APP一个访问令牌,本APP即可用该访问令牌访问资源服务器的资源。由于用户的账号密码并不与本APP直接交互,而是与官方服务器交互,因而它是安全的。

    图示:

    授权图示

    流程:

      1、获取未授权的Request Token。

        url:request token url。

        param:appKey/appSecret,签名方法/签名(如HMAC-SHA1),timeStamp(时间戳:距1970/0/0/0/0/0的秒数),nonce(随机生成的string,防止重复请求)

        response:Oauth_Token/Oauth_Secret

      2、获取用户授权的Request Token。

        url:user authorizition url。

        param:Oauth_Token(上个步骤返回的令牌),callback_url(授权成功后返回的地址)

        response:Oauth_Token(被用户授权或否决的令牌)

      3、用已授权的Request Token换取AccessToken。

        url:access token url。

        param:appKey,Oauth_Token(上个步骤返回的令牌),签名,TimeStamp,nonce

        response:Access_Token/Secret

    二、SSO授权技术

      全称:Single Sign On,用户只需登陆一次即可访问相互信任的子系统。用户访问系统1时,登陆成功后会返回一个ticket,当用户访问系统2时,会把ticket带上,待验证合法后即可访问系统2。听起来跟cookie有点像,没错,Web-SSO便有基于cookie的实现方案。

      以新浪微博为例,很多手机APP在点击新浪授权时,会跳到新浪客户端的登陆页面,这里就用到SSO技术啦。在本APP授权新浪微博时,会先检测手机是否安装了新浪微博客户端。

      [[UIApplicationsharedApplication] openURL:xxx]可以打开另一个APP。这里sinaweibosso://login为客户端的url并传递三个参数,AppKey,RedirectURI,ssoCallbackScheme。

      ssoCallbackScheme是返回的App Url地址,即自己定义的sinaweibosso.appKey。

      登陆成功后,客户端会直接把AccessToken返回给本App,就完成了一次授权。  

    by sschu

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    find the safest road
    杭电1874(畅通工程续)
    Red and Black
    运行和控制 Nginx 命令行参数和信号
    对中文版“Siri”打个招呼吧!
    《星际迷航》语音翻译器成真
    程序员丰厚的待遇能持续多久?
    Nginx 日志分析 AWStats + JAWStats 安装配置
    RHEL 5.4 + Nginx + Mediawiki
    麻省理工科技创业之:Win 8新概念
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4919533.html
Copyright © 2011-2022 走看看