在上一讲中,我们已经完成了一个完整的案例,在这个案例中,我们可以通过Angular单页面应用(SPA)进行登录,然后通过后端的Ocelot API网关整合IdentityServer4完成身份认证.在本讲中,我们会讨论在当前这种架构的应用程序中,如何完成用户授权. 回顾 <Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(一)> <Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(二)&g…
上文已经介绍了Identity Service的实现过程.今天我们继续,实现一个简单的Weather API和一个基于Ocelot的API网关. 回顾 <Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(一)> Weather API Weather API实现非常简单,直接用Visual Studio 2019 Community Edition自带的ASP.NET Core Web Application模板创建就行了,我们的目的不是为了实…
在前面两篇文章中,我介绍了基于IdentityServer4的一个Identity Service的实现,并且实现了一个Weather API和基于Ocelot的API网关,然后实现了通过Ocelot API网关整合Identity Service做身份认证的API请求.今天,我们进入前端开发,设计一个简单的Angular SPA,并在Angular SPA上调用受Ocelot API网关和Identity Service保护的Weather API. 回顾 <Angular SPA基于Ocel…
好吧,这个题目我也想了很久,不知道如何用最简单的几个字来概括这篇文章,原本打算取名<Angular单页面应用基于Ocelot API网关与IdentityServer4+ASP.NET Identity实现身份认证与授权>,然而如你所见,这样的名字实在是太长了.所以,我不得不缩写"单页面应用"几个字,然后去掉ASP.NET Identity的描述,最后形成目前的标题. 不过,这也就意味着这篇文章会涵盖很多内容和技术,我会利用这些技术来走通一个完整的流程,这个流程也代表着在微…
本文介绍Ocelot中的认证和授权(通过IdentityServer4),本文只使用最简单的IdentityServer,不会对IdentityServer4进行过多讲解. 1.Identity Server 4 (1)新建一个新的WebApi项目命名为IdentityServer,添加 IdentityServer4 Nuget包.(2)添加Config类,添加如下代码: public static IEnumerable<ApiResource> GetApiResources() { r…
简介 api网关是提供给外部调用的统一入口,类似于dns,所有的请求统一先到api网关,由api网关进行指定内网链接. ocelot是基于netcore开发的开源API网关项目,功能强大,使用方便,它包含了负载均衡.路由.请求聚合.服务发现.权限认证等功能. 基础准备 开发环境:vs2017 netcore:2.1 新建项目    netcore安装ocelot install-package Ocelot  安装ocelot组件 配置ocelot 1.添加ocelotSettings.json…
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 上一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和使用,考虑到很多团队都在使用Ocelot作为API网关(包括我司)做了很多限流和鉴权的工作,因此本篇介绍一下如何使用Ocelot接入替代Nginx Ingress作为统一入口. 一.准备工作 我们仍然以上一篇的两个ASP.NET Core WebAPI示例作为K8s集群中的后端服务示例,这里我们来快速地准备一个…
本文介绍Ocelot中的限流,限流允许Api网关控制一段时间内特定api的总访问次数.限流的使用非常简单,只需要添加配置即可. 1.添加限流 修改 configuration.json 配置文件,对 UpstreamPathTemplate 为 /webapib/values 的配置修改如下: { // ... "UpstreamPathTemplate": "/webapib/values", "UpstreamHttpMethod": [ &…
本文介绍Ocelot中的配置管理,配置管理允许在Api网关运行时动态通过Http Api查看/修改当前配置.由于该功能权限很高,所以需要授权才能进行相关操作.有两种方式来认证,外部Identity Server或内部Identity Server. 1.外部Identity Server 修改 Startup 中的 ConfigureServices 方法如下: public void ConfigureServices(IServiceCollection services) { servic…
.Netcore 2.0 Ocelot Api网关教程(1) 路由介绍 上一篇文章搭建了一个简单的Api网关,可以实现简单的Api路由,本文介绍一下路由,即配置文件中ReRoutes,ReRoutes是Ocelot配置文件中最重要的部分,实现了由上游到下游的路由转发. 上一篇文章中使用的configuration.json文件如下: { "ReRoutes": [ { "DownstreamPathTemplate": "/api/values"…