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
注意:每个过程都需要服务端验证。
如果不知道如何使用应用发送请求请参考豆瓣的文档。
分享到:
相关推荐
独立的授权服务器,资源服务器,客户端单点登录系统。 采用Oauth2进行token认证,模拟用户信息进行登录。
springboot和apache的开源项目org.apache.oltu.oauth2组合搭建的oauth2环境,一般的oauth配置下就可以用了,但是我这个项目,是用原理上讲如何搭建oauth2,哪个controller转发到哪个controller,为什么这样,都有...
项目采用spring cloud、oauth2、spring security # 依赖环境 JDK8、 Maven、 Mysql、 Redis 、nacos 注册中心采用阿里巴巴 nacos 缓存使用的是redis oauth2数据存储在数据库中 username: test password: 123456...
包括三个简单的项目以及mybatis用于自动生成bean、dao、mapping所需的文件,项目分别为: 1、ssm的简单搭建。 2、oauth2.0的客户端。 3、oauth2.0的服务端。
Springboot整合Spring security+Oauth2+JWT搭建认证服务器,网关,微服务之间权限认证及授权
主要介绍了Springboot Oauth2 Server 搭建Oauth2认证服务,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
oauth2-server, 一个 PHP OAuth 2.0服务器实现 PHP OAuth服务器一个 PHP OAuth 2.0服务器实现。 安装包可以以用 Composer 安装,也可以以通过直接修改 composer.json 或者使用 composer require 命令来安装。co
Java的oauth2.0 服务端与客户端的实现.zip 封装了oauth2.0的基本架构和实现,对照我的博客http://blog.csdn.net/jing12062011/article/details/78147306使用该源码。 下载项目压缩包,解压,里面两个maven项目:...
全面认识第三方授权机制 oauth2.0 协议,如何在 php 上搭建 oauth2.0服务端!对应博文如下:https://blog.csdn.net/xh870189248/article/details/85126364
oauth2.0的服务端跟客户端Demo
codeigniter-oauth2-server, 用于CodeIgniter的OAuth2.0 服务器 OAuth2服务器,服务器,OAuth2.0 服务器的一个CodeIgniter包,对于 OAuth2.0 客户端:https://github.com/philsturgeon/codeigniter-oauth2对于 OAuth
资源为在eclipse开发环境中使用Java搭建OAuth Server和OAuth Client 参考代码为http://code.google.com/p/oauth/ OAuth Server为遵守OAuth 1.0协议的OAuth认证服务器 OAuth Client分为Desktop版本和Webapp版本
跟oauth2.0 client对应,该资源会有一个唯一标示与oauth2.0 client中的资源ID做对应;
yii2-oauth2-server, 用于实现OAuth2服务器的包装器( https yii2-oauth2-server用于实现OAuth2服务器的包装器( https://github.com/bshaffer/oauth2-server-php 插件)安装安装这里扩展的首选方法是通过 Composer 。...
里边是我做的基于oauth协议制作的demo,包括客户端和服务端的交互,核心代码,导入后可直接使用
基础版只实现了基础的第三方授权登陆(具体测试请采用3.1版本为服务端thinkox为客户端) 后期将升级生命周期与第三方应用加入功能 发个效果图: 第一步: 第二步(目前是登陆情况下): 第三步:
使用HttpClient获取oAuth2.0中的、token及refreshToken
django-oauth-toolkit:为 Django 用户准备的 OAuth2
基于Owin中间件的OAuth2.0身份认证,文章位置https://blog.csdn.net/u013938578/article/details/82956188