博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用ocelot作为api网关
阅读量:5237 次
发布时间:2019-06-14

本文共 2038 字,大约阅读时间需要 6 分钟。

  • 新建网站项目然后添加ocelot 的nuget包
  • 新建ocelot.json的网关的配置文件
    {  "GlobalConfiguration": {    "BaseUrl": "https://api.mybusiness.com"  },  "ReRoutes": [    {      "DownstreamPathTemplate": "/api/values",      "DownstreamScheme": "http",      "DownstreamHostAndPorts": [        {          "Host": "localhost",          "Port": 60907        }      ],      "UpstreamPathTemplate": "/users",      "UpstreamHttpMethod": [ "Get" ],      "AuthenticationOptions": {        "AuthenticationProviderKey": "finbook",        "AllowedScopes": []      }    },    {      "DownstreamPathTemplate": "/connect/token",      "DownstreamScheme": "http",      "DownstreamHostAndPorts": [        {          "Host": "localhost",          "Port": 52619        }      ],      "UpstreamPathTemplate": "/connect/token",      "UpstreamHttpMethod": [ "Post" ]    }  ]}

     

  • 添加配置文件进入netcore管道
    public class Program    {        public static void Main(string[] args)        {            BuildWebHost(args).Run();        }        public static IWebHost BuildWebHost(string[] args) =>            WebHost.CreateDefaultBuilder(args)                 .ConfigureAppConfiguration((hostingContext, builder) =>                 {                     builder                     .SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)                     .AddJsonFile("Ocelot.json");                 })                .UseStartup
    () .Build(); }
    public void ConfigureServices(IServiceCollection services)        {            services.AddOcelot();        }

     

  • 集成identityserver
    services.AddAuthentication()   .AddIdentityServerAuthentication(authenticationProviderKey, options=> {                    options.Authority = "http://localhost:52619/";                    options.ApiName = "geteway_api";                    options.SupportedTokens = SupportedTokens.Both;                    options.ApiSecret = "secret";                    options.RequireHttpsMetadata = false;//是否是https请求                });

     

  • 参考自大佬文章

转载于:https://www.cnblogs.com/chongyao/p/10436927.html

你可能感兴趣的文章
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
Android控件之GridView探究
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
snmpwalk命令常用方法总结
查看>>
网站产品设计
查看>>
C++按格式接收输入字符(京东,滴滴,360笔试必用)
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
Java IO流学习总结
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>
递归函数,二分运算,正则表达式
查看>>
Flutter之内置动画(转)
查看>>
MySql优化相关概念的理解笔记
查看>>