搭建自己的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

注意:每个过程都需要服务端验证。

如果不知道如何使用应用发送请求请参考豆瓣的文档。

相关推荐