http://www.laoqiu.com/tags/flask/
搭建自己的oauth服务
By 老秋. 1 year ago
python, flask, oauth
开放API的网站,一般都提供OAuth服务,大家也许都知道如何连接别人的API, 网站教程也很多。
但做为自己做站的,你需要的是如何塔建自己的Oauth服务了。下面我讲讲我用flask尝试的过程:
1. 准备工作
用到的oauth2库
easy_install oauth2
需要用到两个表:提供api申请consumer key的Api表,和记录用户授权access_token的token表Token
Api表需要记录用户、API名称、API基本信息、consumer_secret、回调地址等
Token表则需要记录用户授权动作中要使用到的两对token、token_secret和verifier,关联到user和api
2. 授权流程
apikey apply: 用户申请api应用,提交表单过来,我们要生成consumer_key和consumer_secret, 可以使用uuid生成
request token: 应用使用申请的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
注意:每个过程都需要服务端验证。
如果不知道如何使用应用发送请求请参考豆瓣的文档。
搭建自己的oauth服务
By 老秋. 1 year ago
python, flask, oauth
开放API的网站,一般都提供OAuth服务,大家也许都知道如何连接别人的API, 网站教程也很多。
但做为自己做站的,你需要的是如何塔建自己的Oauth服务了。下面我讲讲我用flask尝试的过程:
1. 准备工作
用到的oauth2库
easy_install oauth2
需要用到两个表:提供api申请consumer key的Api表,和记录用户授权access_token的token表Token
Api表需要记录用户、API名称、API基本信息、consumer_secret、回调地址等
Token表则需要记录用户授权动作中要使用到的两对token、token_secret和verifier,关联到user和api
2. 授权流程
apikey apply: 用户申请api应用,提交表单过来,我们要生成consumer_key和consumer_secret, 可以使用uuid生成
request token: 应用使用申请的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
注意:每个过程都需要服务端验证。
如果不知道如何使用应用发送请求请参考豆瓣的文档。