OAuth授权机制

本文详细介绍了如何使用OAuth协议获取快盘的授权流程,包括三步操作:获取未授权的临时token、用户验证token及用临时token换取access_token。每个步骤都提供了必要的接口说明、参数解释和示例,以便开发者轻松实现授权过程。


关于OAuth

OAuth协议旨在为用户资源提供一个安全开放的标准。目前支持OAuth 1.0a。

三歩走

1.requestToken

接口说明:获取未授权的临时 token

接口协议:HTTPS GET

URL 结构:https://openapi.kuaipan.cn/open/requestToken

接口参数:

NameRequiredType and LimitDescription
oauth_consumer_keyYstring第1步的 consumer_key
oauth_signature_methodNstring请用 "HMAC-SHA1"
oauth_signatureYstring本次请求的签名,生成方法请参考附录-签名生成算法
oauth_timestampYint时间戳,正整数,和标准时间不超过5分钟
oauth_nonceYstring[ 0-9A-Za-z_ ]随机字符串,长度小于32字节。每次请求请使用不同的nonce
oauth_versionNstring请填 "1.0"
oauth_callbackNstring回调函数

请求示例(换行和缩进只是为了更好的展示):

https://openapi.kuaipan.cn/open/requestToken?
        oauth_nonce=33233984&
        oauth_timestamp=1331181769&
        oauth_consumer_key=662d78dbbc7944a4ba7a5d491b158a0c&
        oauth_signature_method=HMAC-SHA1&
        oauth_version=1.0&
        oauth_signature=4zGJGW3NpedYuUHULGnp8Bae98k%3D

返回HTTP的状态码含义,请参考附录-HTTP状态码

若HTTP状态码为200,消息体返回参数(当前只支持返回JSON化字符串):

NameRequiredType and LimitDescription
oauth_tokenYstring未授权的token
oauth_token_secretYstring对应secret
oauth_callback_confirmedYJSON booleanTrue/False,callback是否接收

JSON示例:

{
        "oauth_token_secret": "b3697c3165ad473a864ae4d295003d0d",
        "oauth_token": "8519c219d45545ce8d4fb423140c9061", 
        "oauth_callback_confirmed": False
}

2.authorize

接口说明:用户验证 token。这个接口返回是一个 web 页面,要求快盘用户登陆和授权。

接口协议:HTTPS GET

URL 结构:

https://www.kuaipan.cn/api.php?ac=open&op=authorise&oauth_token=<YourTemporaryToken>

接口描述:此页面中会要求用户登陆,然后选择同意或者拒绝对应用授权。授权成功后:

A:web应用会重定向到 oauth_callback 所指定的URL(含返回参数)。

B:客户端应用(oauth_callback不传)会在网页中给出授权码,用户需要手工将验证码输入到应用中才能完成授权流程。

授权地址(引导用户授权):

https://www.kuaipan.cn/api.php?ac=open&op=authorise&oauth_token=8519c219d45545ce8d4fb423140c9061

返回参数:

如果指定 callback,则会把下面2个值post到指定的 callback,否则可以跳到第三步。

NameRequiredType and LimitDescription
oauth_tokenYstring用户授权的 token
oauth_verifierYstring验证码,用于 accessToken

3.accessToken

接口说明:用临时 token 换取 access token。

接口协议:HTTPS GET

URL结构:https://openapi.kuaipan.cn/open/accessToken

接口参数:

NameRequiredType and LimitDescription
oauth_consumer_keyYstring第1步的 consumer_key
oauth_signature_methodNstring请用 "HMAC-SHA1"
oauth_signatureYstring本次请求的签名,生成方法参考RFC58493.4 HMAC-SHA1签名部分,或参考附录-签名生成算法
oauth_timestampYint时间戳,正整数,和标准时间不超过5分钟
oauth_nonceYstring[ 0-9A-Za-z_ ]随机字符串,长度小于32字节
oauth_versionNstring请填 "1.0"
oauth_tokenYstring临时 token
oauth_verifierNstring上一步返回的验证码,为了简化用户操作,可以不填verifier,但是前提是必须有用户通过了授权

请求示例:(换行和缩进只是为了更好的展示)

https://openapi.kuaipan.cn/open/accessToken?
        oauth_nonce=95000720&
        oauth_timestamp=1331181774&
        oauth_consumer_key=662d78dbbc7944a4ba7a5d491b158a0c&
        oauth_signature_method=HMAC-SHA1&
        oauth_version=1.0&
        oauth_token=4e5cac43baf441cc88fba684855e248d&
        oauth_signature=0wziZZcdm4IrR2v5WlksFbEiAgI%3D

接口返回:

返回HTTP的状态码含义,请参考附录-HTTP状态码

若HTTP状态码为200,消息体返回参数(当前只支持返回JSON化字符串):

NameRequiredType and LimitDescription
oauth_tokenYstring已经授权的 token
oauth_token_secretYstring对应 secret
charged_dirNstring可见的根目录 ID
user_idYstring用户id

JSON示例:

{
        "oauth_token_secret": "e76ccab72f9f44f1a445d15b798c4fd2", 
        "oauth_token": "fe6265afa5c74866a62573b34ca411fb", 
        "user_id": 101, 
        "charged_dir": "0"
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值