api-gateway实践(7)鉴权场景和网关场景梳理、OAuth2待澄清问题列表

一、身份鉴权验证

1、业务请求

1.1、父元素声明了 "/GroupA/VersionB/*",子元素声明了 "/GroupA/VersionB/Cxxx",access="ROLE_XXXX"

身份识别:

有效token

无token、无效token

    权限鉴别:

有权限:

无权限:

1.2、父元素声明了 "/GroupA/VersionB/*",子元素没有声明的 "/GroupA/VersionB/Dxxx"

身份识别:

有效token

无token、无效token

    权限鉴别:

有权限:

无权限:

1.3、token申请请求

身份识别:

权限鉴别:

1.4、登录/登出请求

身份识别:

权限鉴别:

2、ResourceServer的作用

2.1、请求的 ResourceServer.resourceId从哪里来?

2.2、ResoourceServer解决什么问题?

3、Scope的作用

3.1、请求的 Scope 从哪里来?

3.2、Scope 解决什么问题?

二、网关职责验证

1、pre拦截请求,解析参数

1.1、解析身份:

客户:client_id,client_secret,resourceIds,scopes

用户:username,password,user_privillege

1.2、解析请求:Group、Version和Api

1.3、记录访问开始日志

1.4、更新访问数据

2、pre策略检查

2.1、并发控制:检查未完成并发数

2.2、总数控制:检查累计总量

2.3、断路控制:是否在短路保护中

3、routing请求处理

3.1、路由获取:找到url,获取backend

3.2、组装参数:请求参数

3.3、发起调用:处理访问协议

3.4、处理返回:响应构造,标记调用状态?

4、post请求后处理

4.1、api 断路状态标记???(多台机器)

4.2、api 统计数据更新

4.2、记录访问结束日志

5、异常处理总结

时间: 2024-10-12 17:43:39

api-gateway实践(7)鉴权场景和网关场景梳理、OAuth2待澄清问题列表的相关文章

【Netty4 简单项目实践】六、断掉未鉴权的TCP长连接--ChannelHandelContext中的定时器用法

在TCP长连接模式下,我们需要及时释放那些未授权的TCP链接,让系统运行得更稳健一些. 首先是connect上来的TCP报文需要设置一个存活期,通过在pipleline上设置超时处理器ReadTimeoutHandler ch.pipeline().addLast(new ReadTimeoutHandler(120)); 使得一个TCP在120秒内没有收到数据就断掉. 这样做的目的是让连接者必须发TCP报文才能维持连接. 下一步在业务层对ChannelHandlerContext进行鉴权.与H

【转】API Gateway 的路由和过滤(Zuul--1)

转自:https://blog.csdn.net/pengjunlee/article/details/87084646 Zuul是什么? API Gateway 是随着微服务(Microservice)这个概念一起兴起的一种架构模式,它用于解决微服务过于分散,没有一个统一的出入口来进行流量管理的问题. API Gateway可以作为整个系统对外的唯一入口,它是一个介于客户端和服务器之间的中间层,用来处理一些与业务无关的边缘功能,例如:智能路由.登录鉴权.流量监控与限流.网络隔离,等等. API

apigw鉴权分析(1-4)新浪微博开放平台 - 鉴权分析

一.访问入口 http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E 微博开放接口的调用,如发微博.关注等,都是需要获取用户身份认证的. 目前微博开放平台用户身份鉴权主要采用的是OAuth2.0. 另外,为了方便开发者开发.测试自己的应用,我们还提供了Basic Auth的身份鉴权方式,但Basic Auth仅适用于应用所属的开发者自己调用接口. OAuth2.0概述 OAuth2.0较1

微服务架构中的安全认证与鉴权

转载:http://www.bootdo.com/blog/open/post/125 从单体应用架构到分布式应用架构再到微服务架构,应用的安全访问在不断的经受考验.为了适应架构的变化.需求的变化,身份认证与鉴权方案也在不断的变革.面对数十个甚至上百个微服务之间的调用,如何保证高效安全的身份认证?面对外部的服务访问,该如何提供细粒度的鉴权方案?本文将会为大家阐述微服务架构下的安全认证与鉴权方案. 单体应用 VS 微服务 随着微服务架构的兴起,传统的单体应用场景下的身份认证和鉴权面临的挑战越来越大

谈谈微服务中的 API 网关(API Gateway)

转载至:http://www.cnblogs.com/savorboard/p/api-gateway.html 背景 我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest Api 风格的接口来被 H5, Android, IOS 以及第三方应用程序调用. 但是在UI上进行展示的时候,我们通常需要在一个界面上展示很多数据,这些数据可能来自于不同的微服务中,举

基于token的鉴权机制 — JWT介绍

前言:在实际开发项目中,由于Http是一种无状态的协议,我们想要记录用户的登录状态,或者为用户创建身份认证的凭证,可以使用Session认证机制或者JWT认证机制. 什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景.JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可

WebAPI常见的鉴权方法,及其适用范围

在谈这个问题之前,我们先来说说在WebAPI中保障接口请求合法性的常见办法: API Key + API Secret cookie-session认证 OAuth JWT 当然还有很多其它的,比如 openid connect (OAuth 2.0协议之上的简单身份层),Basic Auth ,Digest Auth 不一一例举了 1.API Key + API Secret Resource + API Key + API Secret 匹配正确后,才可以访问Resource,通常还会配合时

HTTP基本认证和JWT鉴权

一.HTTP基本认证 Basic Authentication--当浏览器访问使用基本认证的网站的时候, 浏览器会提示你输入用户名和密码. http auth的过程: · 客户端发送http请求 · 服务器发现配置了http auth,于是检查request里面有没有"Authorization"的http header · 如果有,则判断Authorization里面的内容是否在用户列表里面,Authorization header的典型数据为"Authorization:

.net core 微服务之Api网关(Api Gateway)

原文:.net core 微服务之Api网关(Api Gateway) 微服务网关目录 1. 微服务引子 2.使用Nginx作为api网关 3.自创api网关(重复轮子) 3.1.构建初始化 3.2.构建中间件 4.结语 引用链接 1. 微服务引子 首先恭喜你,进入微服务的开发世界.微服务属于架构演进中的一种阶段,其特点是根据业务模块水平划分服务种类,每个服务可以独立部署并互相隔离,并对外提供轻量的Api调用,服务具有高可用特性. 微服务应遵循的设计原则: 单一职责原则: 每个微服务只需要实现自