-
Notifications
You must be signed in to change notification settings - Fork 0
Home
fundawang edited this page Mar 16, 2013
·
27 revisions
此模块旨在实现纯服务器端的简单 OAuth 接口,使得第三方应用可以调用网站提供的数据。
- 模块接口地址为 /simpleoauth
- 鉴权成功时,返回 HTTP 200/OK,MIME 类型为 json(application/json)。
- 鉴权失败时,返回 HTTP 403/Access Forbiden,MIME 类型为不可知。第三方应用应根据 HTTP 响应头来判断调用鉴权是否成功。
- 第三方应用应首先通过可靠途径获取 APPID 和 APPKEY。其中 APPKEY 是服务器和第三方应用约定的密钥,不在互联网上传递。
- 第三方应用通过模块提供的 grant_access 接口,输入APPID,由服务器返回 access_token。第三方应用应保存此 access_token 及其失效时间。
- 第三方应用通过调用相应的接口(如signup,score),输入 access_token,获取用户信息。
此接口所有输入输出的内容,都需要通过服务器和第三方应用事先约定的 APPKEY 进行 MD5 摘要运算,生成 sign,以确保内容的可靠。
将所有输入内容,去掉 op 参数,所有参数的内容与 APPKEY 一起进行字典排序,然后拼接在一起,进行 MD5 运算。得出的结果即为 sign 的内容。
如 gran_access 接口,输入的参数仅有 APPID,若 APPID 为2013abc123
,APPKEY为123456
,则排序后为123456
,2013abc123
,拼接后为 1234562013abc123
,对此字符串进行 MD5 摘要计算,其结果为 c0a5d8a81740dd2ea3c35b6408bc1273
。