`
aiou
  • 浏览: 194762 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

搭建自己的oauth服务 zz

 
阅读更多
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全套(授权服务器+资源服务器+客户端独立版)

    OAuth2 是一个授权框架,广泛应用于现代Web...通过Java Boot的便捷性和Spring Security的专业性,开发者可以快速搭建和配置OAuth2环境。同时,利用Redis的高效缓存能力,可以优化令牌的存储和验证过程,提升系统性能。

    springboot+oltu.oauth2搭建oauth2环境

    springboot和apache的开源项目org.apache.oltu.oauth2组合搭建的oauth2环境,一般的oauth配置下就可以用了,但是我这个项目,是用原理上讲如何搭建oauth2,哪个controller转发到哪个controller,为什么这样,都有...

    ssm搭建、Oauth2.0客户端和服务端

    OAuth2.0是一个授权框架,它允许第三方应用在用户授权下访问其存储在服务提供商上的资源,而无需获取用户的登录凭据。这个框架主要包括四个角色:资源所有者(User)、资源服务器(Resource Server)、客户端...

    Springboot整合Spring security+Oauth2+JWT搭建认证服务器,网关,微服务之间权限认证及授权

    本教程将探讨如何使用Spring Boot结合Spring Security、OAuth2和JWT(JSON Web Token)来搭建一个认证服务器、API网关以及微服务之间的权限认证和授权机制。 首先,Spring Security是Spring框架的一个模块,专门...

    微服务框架搭建 基于oauth2 认证中心服务

    项目采用spring cloud、oauth2、spring security # 依赖环境 JDK8、 Maven、 Mysql、 Redis 、nacos 注册中心采用阿里巴巴 nacos 缓存使用的是redis oauth2数据存储在数据库中 username: test password: 123456...

    Oauth客户端服务端搭建demo

    OAuth(开放授权)是一种开放标准,允许用户提供一个令牌,而不是用户名和密码来访问他们存储在特定服务提供者的数据。...通过学习和实践这个demo,你可以深入理解OAuth的工作方式,并能将其应用到自己的项目中。

    详解Springboot Oauth2 Server搭建Oauth2认证服务

    在搭建 Oauth2 认证服务时,主要涉及以下几个核心组件和步骤: 1. **客户端管理**: - `clientdetails` 表用于存储客户端信息,包括 `appId`(客户端ID)、`resourceIds`(资源ID集合)、`appSecret`(客户端密钥...

    oauth2.0 资源服务

    OAuth2.0是一种授权框架,广泛应用于Web应用和API接口...在Java环境中,利用Spring Security OAuth2框架可以便捷地实现资源服务的搭建和权限控制。理解并熟练运用OAuth2.0机制,对于开发安全的Web应用和服务至关重要。

    oauth2-server, 一个 PHP OAuth 2.0服务器实现.zip

    oauth2-server, 一个 PHP OAuth 2.0服务器实现 PHP OAuth服务器一个 PHP OAuth 2.0服务器实现。 安装包可以以用 Composer 安装,也可以以通过直接修改 composer.json 或者使用 composer require 命令来安装。co

    webapi基于Owin中间件的oauth2.0身份认证

    **OAuth2.0简介** OAuth2.0是一种授权框架,广泛应用于Web API的身份验证和授权。...OAuth2.0的核心是将认证和...在实践中,理解OAuth2.0的工作流程和Owin中间件的用法是至关重要的,这有助于构建健壮、安全的Web服务。

    oauth2.0的授权服务

    OAuth2.0是一种广泛应用于互联网的身份验证和授权协议,它为第三方应用提供了安全访问用户资源的途径,而无需获取用户的登录凭证。OAuth2.0的核心是授权流程,它定义了四种授权类型:授权码(Authorization Code)...

    Java的oauth2.0 服务端与客户端的实现 (完整源码、demo)

    Java的oauth2.0 服务端与客户端的实现.zip 封装了oauth2.0的基本架构和实现,对照我的博客http://blog.csdn.net/jing12062011/article/details/78147306使用该源码。 下载项目压缩包,解压,里面两个maven项目:...

    基于Django2.1.2的OAuth2.0授权登录

    OAuth2.0是一种开放标准,用于授权第三方应用访问用户存储在另一服务提供商(如社交媒体网站)上的私有资源,而无需共享用户的登录凭证。在Django框架中实现OAuth2.0授权登录,可以让开发者轻松地为他们的Web应用...

    httpclient请求oauth服务器中的token

    在IT行业中,OAuth2.0是一种广泛使用的授权框架,它允许第三方应用安全地访问资源所有者的受保护资源,而无需获取其凭据。HttpClient是Apache提供的一款强大的HTTP客户端库,常用于Java应用程序中发送网络请求。本文...

    djangooauthtoolkit为Django用户准备的OAuth2

    它利用Django的内置功能,如模型、表单和视图,使得开发者能够快速集成OAuth2到自己的Django项目中。 4. **客户端注册**:使用django-oauth-toolkit,开发者可以方便地创建和管理OAuth2客户端,这些客户端可以是...

    对接AliGenie天猫精灵服务器控制智能硬件esp8266② 全面认识第三方授权机制 oauth2.0 协议,如何在 php 上搭建 oauth2.0服务端!

    全面认识第三方授权机制 oauth2.0 协议,如何在 php 上搭建 oauth2.0服务端!对应博文如下:https://blog.csdn.net/xh870189248/article/details/85126364

    基于Spring Boot的快速搭建Oauth2授权服务设计源码

    该项目为基于Spring Boot框架的Oauth2授权服务快速搭建解决方案,包含1504个文件,涵盖346个Java源文件、106个JavaScript文件、81个HTML文件、38个CSS文件、40个XML文件、21个属性文件、13个YAML文件等,旨在高效...

    codeigniter-oauth2-server, 用于CodeIgniter的OAuth2.0 服务器.zip

    codeigniter-oauth2-server, 用于CodeIgniter的OAuth2.0 服务器 OAuth2服务器,服务器,OAuth2.0 服务器的一个CodeIgniter包,对于 OAuth2.0 客户端:https://github.com/philsturgeon/codeigniter-oauth2对于 OAuth

    Spring security oauth源码

    在实际开发中,你可以根据这些源码学习如何自定义OAuth流程,例如实现自己的授权策略、令牌存储方式,或者集成其他认证机制如OpenID Connect。同时,了解这些源码也有助于调试和解决Spring Security OAuth在实际项目...

Global site tag (gtag.js) - Google Analytics