`

OAuth 2.0 基础建模

阅读更多

 

这几天一直在做OAuth 2.0的压力测试,虽然过程中遇到些问题,但是总体来讲还算顺利。开始构建OAuth 模型也一直担心压力的问题。不过就目前压力测试来看还不错。顺便把OAuth 模型写点出来。

 

 

 

A.用户从淘宝的网站连接到客户的应用网站,应用网站判断用户没有访问令牌,则要求用户获取访问令牌。
B.用户被重定向授权服务器,授权服务器引导用户登陆和授权。并给用户生成一个授权码。
C.用户获取授权码后被重定向应用网站
D.应用网站判断用户有授权码,则应用网站用此授权码请求授权服务器获取访问令牌。
E.授权服务器返回访问令牌。
F.应用网站持此访问令牌请求用户资源信息。
G.Tip服务器返回用户所授权的资源信息。
H.应用网站显示用户资源信息。 

 

开放平台实现了上述的授权模型。在技术上总体采用过滤器的方式,一次请求,层层过滤。保证每次请求的决定安全。

 

授权模型的总体软件架构如下图所示。

 

 

 

 

 

 

 

各个过滤器的作用域如下:

 

Filter

作用域

备注

客户应用过滤器

针对每次请求,校验客户的合法性。

 

用户登陆过滤器

针对每次请求,校验用户的登陆状态。

 

用户允许授权

针对授权请求,校验用户是同意授权还是拒绝授权。

 

用户授权过滤

针对授权请求,校验是否通过了用户授权。

 

生成授权码

针对授权请求,生成授权码。

 

生成访问令牌

针对令牌请求,颁发令牌。

 

 

 

Oauth授权模型基本建立起来了,还有许多的后续工作还待完善跟进,譬如授权的Scope,监控等。

  • 大小: 31.1 KB
  • 大小: 18 KB
分享到:
评论

相关推荐

    Login-With-Google-system:使用password-google-oauth2.0策略,node.js,mongoose,expressjs的登录系统

    标题中的"Login-With-Google-system"是一个项目,它利用了Google的OAuth2.0授权机制,结合Node.js、Mongoose和Express.js构建了一个用户登录系统。这个系统的主要目的是让用户能够通过他们的Google账户安全地登录到...

    PyPI 官网下载 | djdg-django-oauth-0.0.13.tar.gz

    1. **OAuth2.0 Provider**:实现OAuth2.0规范,使得Django应用能够作为授权服务器,为第三方应用提供访问令牌。 2. **Authorization Flow**:库可能包含了授权码流程(Authorization Code Grant)、密码凭据流程...

    eu-16-Yang-Signing-Into-Billion-Mobile-Apps-Effortlessly-Wit

    OAuth2.0 是一种广泛使用的授权协议,旨在让用户在不分享其密码的情况下,允许第三方应用访问其受保护的资源。该协议涉及到三个主要角色:用户、身份提供者(IdP)和依赖方(RP)。用户是拥有资源的人,IdP 负责验证...

    健身达人微信小程序的设计与实现ssm后端源码案例设计.zip

    6. OAuth2.0认证:微信小程序调用后端API时,可能需要进行用户身份验证,这通常涉及到OAuth2.0协议,实现用户授权登录功能。 7. JSON数据交换格式:后端与前端之间的数据通信通常采用JSON格式,因为它轻量且易于...

    基于springboot+微信小程序的疫苗预约接种系统.zip

    此外,安全策略如OAuth2.0或JWT(JSON Web Tokens)可能用于用户认证和授权。 五、事务管理 在疫苗预约过程中,涉及到用户预约、库存更新等多个操作,这些操作需要具备原子性、一致性、隔离性和持久性,即ACID特性...

    Family.Show

    考虑到家谱数据的隐私和安全性,"Family.Show"很可能实施了严格的访问控制策略,比如OAuth2.0授权协议,以及HTTPS加密通信,以保护用户的个人信息不被未经授权的访问。同时,系统可能还使用了JWT(JSON Web Tokens)...

    matlab开发-XivelyRead

    2. **OAuth身份验证**:Xively API通常需要OAuth 2.0授权,确保安全的数据访问。MATLAB中实现OAuth身份验证可能需要使用额外的工具箱或者编写自定义代码来处理认证流程。 3. **JSON解析**:Xively API返回的数据...

    姚善良-简历-1.01

    用户中心项目则展现了他在身份认证、权限控制、日志管理等系统集成上的能力,他使用laravel、redis和OAuth2.0等技术,提供了统一的服务接口,简化了开发者的工作。 最后,金融曝光台项目中,姚善良负责后台数据接口...

    Python在线考试系统,采用django框架开发,可微信登录,内含使用说明

    这通常涉及到OAuth2.0授权协议,允许第三方应用安全地获取用户信息,同时保持用户的隐私。 系统内含【使用说明】,意味着开发者提供了详细的文档,指导用户如何部署、配置和使用该系统。这对于非开发人员来说尤其...

    java开发工程师简历模板(二十)

    - OAuth2.0、JWT身份验证 - SSL/TLS加密传输 10. **版本控制**: - SVN或Git的使用与协作 11. **文档编写**: - 使用Markdown或LaTeX编写技术文档 - UML建模语言理解与应用 12. **项目管理**: - Agile开发...

    wangshangshudian.rar_毕业设计

    安全方面,项目应实施用户身份验证和授权机制,如OAuth2.0或JWT,防止未授权访问。同时,使用HTTPS协议加密通信,保护用户的隐私数据。还需考虑防止SQL注入、XSS攻击等常见安全威胁。 最后,项目文档是必不可少的,...

    微软文档:安全开发文档-285页

    同时,**Microsoft标识平台**也被提及,它是Azure Active Directory的身份服务和开发人员平台,支持OAuth 2.0等身份验证协议,为开发者提供了强大的身份管理能力。 总结来说,微软的安全开发文档是开发人员在Azure...

    基于springboot+mybatisplus框架(本人主要负责模块 调用了华为云和高德开发平台等多个api).zip

    - **认证与安全**:调用华为云API通常需要API密钥,遵循OAuth 2.0协议,确保通信安全。 4. **高德地图API**: - **服务内容**:高德地图API提供了地理编码、反地理编码、路径规划、实时交通状况等多种功能,广泛...

    在线图书管理系统

    4. **身份验证与授权**:为了确保只有授权用户能进行操作,系统需要实现登录注册功能,涉及到用户认证和权限控制,如OAuth2.0或JWT。 5. **错误处理与日志记录**:良好的错误处理机制可以及时发现并解决问题,而...

    SIMS学生信息管理系统项目实例源码(毕业设计)

    4. 用户认证与授权:SIMS需要实现用户登录、权限控制功能,这可能利用OAuth2.0、JWT(JSON Web Tokens)等机制,确保用户信息安全并根据角色分配不同的操作权限。 5. 数据分析与报表:系统支持大数据分析,可能使用...

    仿QQ小程序

    这需要理解身份验证机制,如OAuth2.0,以及密码存储的安全策略,如哈希加盐加密。同时,为了实现好友系统,需要设计关系模型,并提供添加、删除好友以及查找好友的功能。 在文件"myQQ"中,可能包含了项目的所有源...

    Java BS架构企业管理软件设计综合实训课程

    6.2 OAuth2.0或JWT:实现用户授权,保护系统资源不被非法访问。 6.3 CSRF与XSS防护:防止跨站请求伪造和跨站脚本攻击。 七、持续集成与部署 7.1 Jenkins或GitLab CI/CD:自动化构建、测试和部署流程,提升开发效率...

    毕业设计--医疗资源调度系统.zip

    9. **安全机制**:HTTPS协议保证通信安全,JWT(JSON Web Tokens)或OAuth2.0用于身份验证和授权。 10. **测试与调试**:单元测试、集成测试和系统测试确保代码质量,调试工具和日志记录辅助问题定位。 11. **部署...

    java数字孪生后台管理源码.zip

    6. **安全控制**:确保数据的安全传输和访问控制,可能涉及到OAuth2.0、JWT等身份验证机制。 7. **数据库设计**:可能包括关系型数据库(如MySQL、PostgreSQL)和非关系型数据库(如MongoDB)的使用,用于存储设备...

    mysorce(我的作品)

    同时,为了确保数据安全,可能会使用HTTPS协议和OAuth 2.0等身份验证机制。 2. 家电远程控制系统网站及数据库:这部分可能包括用户界面(UI)设计、前端开发和后端服务器逻辑。前端可能使用HTML、CSS和JavaScript...

Global site tag (gtag.js) - Google Analytics