• OAuth2实现原理


    现在开放平台非常流行,例如微信开放平台、微博开放平台等,开放平台都涉及用户授权问题,OAuth2就是目前的主流授权解决方案
    OAuth2是什么
    OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息
    OAuth在"客户端"与"服务提供商"之间,设置了一个授权层,"客户端"不能直接登录"服务提供商",只能登录授权层,以此将用户与客户端区分开 来,"客户端"登录授权层是使用令牌(token),"客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端"开放用户储存的 资料
    OAuth2的实现机制
    在OAuth2的授权机制中有4个核心对象
    (1)Resource Owner(资源拥有者:用户,只需要允许或拒绝第三方应用获得授权)
    (2)Client (第三方接入平台:请求者,例如网站,获取资源服务器提供的资源)
    (3)Resource Server (资源服务器,存储例如用户信息等资源。提供给第三方应用注册接口,需要提供给第三方应用app_id和app_secret)
    (4)Authorization Server (认证服务器,提供授权许可code、令牌token等)
    (1)用户在第三方应用上点击登录,应用向认证服务器发送请求,说有用户希望进行授权操作,同时说明自己是谁、用户授权完成后的回调url
    (2)认证服务器展示给用户自己的授权界面
    (3)用户进行授权操作,认证服务器验证成功后,生成一个授权编码code,并跳转到第三方的回调url
    (4)第三方应用拿到code后,连同自己在平台上的身份信息(ID密码)发送给认证服务器,再一次进行验证请求,说明自己的身份正确,并且用户也已经授权我了,来换取访问用户资源的权限
    (5)认证服务器对请求信息进行验证,如果没问题,就生成访问资源服务器的令牌access_token,交给第三方应用
    (6)第三方应用使用access_token向资源服务器请求资源
    (7)资源服务器验证access_token成功后返回响应资源
     
  • 相关阅读:
    C++ FFLIB之FFXML: 极简化TinyXml 读取
    使用ffpython嵌入和扩展python
    Json 备忘录
    一位软件工程师的6年工作总结
    Sql Server 备忘录
    走出软件作坊
    asp.net 使用Jquery 调用WebService返回JSON 类型数据
    .NET 页面间传值的几种方法
    CKeditor安全使用
    新浪短信Web Service
  • 原文地址:https://www.cnblogs.com/linybo/p/12100657.html
Copyright © 2020-2023  润新知