C语言 c++ php mysql nginx linux lnmp lamp lanmp memcache redis 面试 笔记 ppt 设计模式 问题 远程连接

Oauth 学习

 

官方流程图

 

Oauth:
    1.一种安全认证协议
    2.为用户资源的授权提供了一个安全开发简易的标准
    3.不会使第三方触及到用户的账号信息(用户名,密码)
    
    第一方:腾讯服务端
    第二方:腾讯用户
    第三方:app开发者(不接收用户名,密码 更安全)
    
三种角色:
    service provider 验证用户身份,信息 用户信息
    user 用户不希望把隐私信息公开,但用户却需要将信息公开给某网站
    consumer:第三方app,需要得到用户的私有信息,但还不能存储他的密码
    protect resource
    
    A B
    B代替A去银行取钱
    B到达银行后  银行询问A,1.确认用户名,密码
                            2.确认B的身份
    确认通过后银行把钱给B
    
    整个过程,B不用知道A的用户名,密码  银行也能确认身份  
    
    未授权的令牌
    授权过的令牌(登陆成功后)
    获取访问令牌(以后就可以直接访问用户的信息了)

三个url:
1、request token url:获取未授权的request token 的服务器地址
提供自己的 appkey,appid 来验证应用程序是否在server上注册,成功则返回 未授权的令牌

2、user authorization url:获取用户授权的 request token
根据用户输入的用户名、密码去server端验证,成功后返回授权过的令牌

3、access token url:使用授权的后的token去换去访问(access)token

加密算法:
sha1 单向


    
    
   

 

 

 

 

 

 

 

 

 

 

 

posted on 2012-12-13 22:59  思齐_  阅读(399)  评论(0编辑  收藏  举报