搭建自己的oauth服务 zz
http://www.laoqiu.com/tags/flask/
搭建自己的oauth服务
By老秋.1yearago
python,flask,oauth
开放API的网站,一般都提供OAuth服务,大家也许都知道如何连接别人的API,网站教程也很多。
但做为自己做站的,你需要的是如何塔建自己的Oauth服务了。下面我讲讲我用flask尝试的过程:
1.准备工作
用到的oauth2库
easy_installoauth2
需要用到两个表:提供api申请consumerkey的Api表,和记录用户授权access_token的token表Token
Api表需要记录用户、API名称、API基本信息、consumer_secret、回调地址等
Token表则需要记录用户授权动作中要使用到的两对token、token_secret和verifier,关联到user和api
2.授权流程
apikeyapply:用户申请api应用,提交表单过来,我们要生成consumer_key和consumer_secret,可以使用uuid生成
requesttoken:应用使用申请的consumer_key和consumer_secret用get方式请求未授权token,我们服务端获取到request后需要进行验证,通过后返回未授权的token_key和token_secret(也是服务器生成)
authorize:应用使用未授权的token_key和token_secret请求用户授权,这时生成一个允许应用授权的页面,需要用户登录后操作,用户点击"同意"时,服务器生成verifier并跳转到应用的回调地址,传出授权后的token_key/secret和verifier
access_token:应用使用授权的token换取access_token和access_secret
注意:每个过程都需要服务端验证。
如果不知道如何使用应用发送请求请参考豆瓣的文档。