• Azure API Management (2) API Managment 保护内网服务,且通过JWT验证


      《Windows Azure Platform 系列文章目录

      之前客户有1个需求,我这里研究了一下可以实现,先记录一下。

      环境准备:

    • 创建1个新的Azure资源组,创建Azure VNet,有2个Subnet
      • subnet-1部署API Management
      • subnet-2部署一台Azure VM。这台VM仅有内网IP地址
    • 在Azure VM上准备一个HTPP API,返回一串JSON,具体如下图:

      

     

      搭建API Management

      1.设置SKU为Developer,注意:仅为演示使用,Developer SKU没有SLA保障。

      设置API Management name,访问URL如下:

      

     

      2.选择与VNet集成,Type为External,即该API Management提供公网访问,我们需要配置加入到subnet-1,如下图:

      

      3.等待API Management创建完毕

      4.创建完毕后,选择API Management,点击API,点击Add API,点击HTTP API。图略

      5.在Web Service URL输入虚拟机内网IP地址。如下图:

       

      6.增加Operation,如下图:

      

     

       7.增加Action,如下图:

      

      8.修改API Inbound Rule,设置All APIs,针对所有API都生效

      

     

      9.在弹出的窗口中,选择CORS。Allowed Origins设置为*,点击保存

      10.然后继续点击步骤5中的Inbound Processing,点击Add Policy,选择Full

      修改下面1-5部分

      

      11.登录到http://tool.chinaz.com/Tools/Base64.aspx

      12.在左边输入字符:PasswordMSFTleizhang20211109,把该字符设置为Base64编码

      把下图右侧部分,复制到上面步骤10的截图5里

      

      13.然后打开https://jwt.io/,在下图箭头部分,输入步骤11中,被base64编码后的值

      勾选下图的secret based64 encoded,再把下图中左侧encoded部分复制到剪切板

       

     

      14.复制API Management的build in access key,如下图

       

      

    15.最后,我们打开postman,输入访问的url

    方法为GET。访问地址在步骤1说明了

    Ocp-apim-subscription-key的值,在步骤14中复制了

    Authorization,设置为Bearer[空格]AccessKey,这里的Access Key,就是步骤13的左侧部分

     

       访问结果就是我们需要的JSON内容

      

  • 相关阅读:
    SL版优酷蛋幕视频基本组成(一)
    C++符号优先级
    静态与非静态对程序效率的影响
    SQLite语法备忘录
    优酷
    通过终端,查看SQLITE3的存储文件
    ASP.NET (C#开发环境)Request对象 之 ServerVariables集合
    SQL高级查询
    SQL Server定时执行SQL语句
    保存Session不过期和web.config 中SessionState的配置
  • 原文地址:https://www.cnblogs.com/threestone/p/15531389.html
Copyright © 2020-2023  润新知