• WEB使用OAuth2协议实现开放接口的设计方案(待完善)


    术语

    developer:开发者,第三方应用的开发者。

    openPlat:开放平台,发放App Key(相当于第三方应用的ID)、App Secret(私钥,验证ID是否唯一有效,需要妥善保管)。

    Authorization Server:授权服务端,发放CodeAccess Token,验证App KeyApp SecretCode的有效性。

    Resource Server:资源服务器,验证Access Token,提供资源的访问接口。

    Client:客户端(第三方应用),发送访问受保护资源的请求,获取CodeAccess Token

    Resource Owner:资源拥有者,对保护资源有访问许可控制的实体(一般是指个人)。

    Protected Resource:受保护的资源,能够通过OAuth2.0获取访问控制权的资源。

    Authorization Code:授权码

    Refresh Token:刷新令牌,Access Token失效后刷新Access Token的一个标识。

    Access Token:访问令牌

    API:资源封装为接口对外开放,得到访问授权的第三方应用可以调用API

    架构

     

    开放平台

    功能

    发放App KeyApp Secret

    第三方应用在WEB提供的开放平台注册,提供回调地址;开放平台生成App KeyApp Secret,并返回给第三方应用。授权服务器通过App KeyApp Secret、回调地址验证第三方应用是否被授权了。

    接口设计

    获取App KeyApp Secret的接口

    传入的参数:

    Client name:第三方应用的名称

    Callback_url:回调地址

    content:介绍内容

    以及第三方应用的其他属性。

    传出的参数:

    App key:第三方应用的ID

    App Secret:密钥

    页面设计

    申请获取App KeyApp Secret页面

    收集以下参数:

    Client name:第三方应用的名称

    Callback_url:回调地址

    content:介绍内容

    以及第三方应用的其他属性。

     

    返回App KeyApp Secret页面

    呈现第三方应用的App KeyApp Secret给开发者。

    授权服务端

    功能

    发放Code

    授权服务器验证用户的凭证(一般是用户名、密码,授权服务器存储了大量的用户信息,每个用户都有自己的受保护的资源)有效,则给发放Code,并将Code返回给第三方应用。Code是明文传输。

    发放Access Token

    第三方应用使用Code去换取Access Token。此时验证第三方的IDApp KeyApp Secret)、Code的有效性。

    验证App KeyApp Secret

    授权服务器保存已经注册的第三方应用的App KeyApp Public Secret(公钥),通过私钥验证第三方应用是否已经注册。

    验证Code 

    验证Authorization Code是否有效。

    接口设计

    设计两个接口:a、获取Code的接口;b、获取Access Token的接口。

     

    获取Authorization Code的接口

    客户端向资源拥有者请求授权,资源请求直接发给资源拥有者,若资源拥有者同意该客户端授权,则给客户端返回一个访问许可。

    传入的参数:

    App Key

    App Secret

    Callback_url

    返回的信息:

    未登陆、微授权:跳转到登陆页面;

    已经登陆、未授权:跳转到授权页面;

    已经登陆、已经授权:跳转到传入的callback_url页面,并返回一个访问许可。

    获取Access Token的接口

    客户端向用户出示自己的私有证书和Authorization Code请求访问令牌;授权服务器验证客户端的私有证书和访问许可的有效性,验证有效则向客户端发送一个访问令牌,令牌包括了作用域、有效时间以及其他属性。

    传入参数:

    App Key:应用的ID

    App Secret:第三方应用的私钥。

    Callback_url:回调url

    传出的参数:

    Access TokenAccess Token中包含了AppId和用户信息UserIdd等。

    获取到Access Token

    之后,就可以向资源服务器出示Access Token,访问受保护资源。

    页面设计

    设计两个页面:a、登陆页面;b、授权页面

    登陆页面

    展示给资源拥有者,输入用户名的、密码。登录成功后,如果未授权,则跳转到授权页面;如果已经授权,直接跳转到callback_url页面,并返回一个访问许可。

    授权页面

    展示给资源拥有者,如果用户已经授权,则直接跳转到callback_url页面,并返回一个访问许可;如果未授权,则出现授权页面,授权成功后,跳转到callback_url,并返回一个访问许可。

    第三方应用接入WEB

                                                                  

    接口设计

    与授权服务器的接口

    与资源服务器的接口

    WEB的接口

    页面设计

    引导用户登录的页面

    资源展示的页面

     

  • 相关阅读:
    Aspose.BarCode v5.7.0 修复关于PDF417条码的各种问题
    Jensen 不等式
    用博客记录生活
    Appium隐式等待和显示等待
    app自动化03
    app自动化02
    APP测试之adb命令原理和appium原理介绍
    app自动化01
    自动化测试-高级篇
    WebDriver中级篇2
  • 原文地址:https://www.cnblogs.com/yuanloo/p/4330098.html
Copyright © 2020-2023  润新知