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

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    关于hibernate中多对多关系
    选择排序
    Offer是否具有法律效力?
    textarea文本域宽度和高度(width、height)自己主动适应变化处理
    序列相关的趣题 之三
    windows的定时任务设置
    Maven pom.xml 配置详解
    PS 图像特效-非线性滤波器
    PS 滤镜算法原理——拼贴
    PS 滤镜算法原理——曝光过度
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4919533.html
Copyright © 2011-2022 走看看