Tag - GateWay

TYK GateWay MicroService 微服务    2017-07-19 21:56:25    9

 

TYK中设置流量控制和访问控制有两种方式,

1、在生成key的时候设置访问权限


配置如下图:




然后点击create即可,然后访问,每小时只能访问两次

2、使用policies设置(实质是设置policie模板,然后在生成key的时候,使用模板覆盖自定义设置)


这里我对policie的设置如下


在生成key的过程中,选择Policy,会自动覆盖下面的自定义配置,下面的操作就和上面的一样了



 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn


TYK GateWay MicroService 微服务    2017-07-19 21:53:40    18

 

由于OAuth2认证方式流程暂时尚未跑通过,先以TYK中标准的认证方式"Auth Token"来做简单介绍

1、配置API网关代理认证方式



2、选择认证方式为"Auth Token","Auth Key Header Name"值是可以自定义的,这里我们使用"Authorization",然后到页面最上边,点击“update”进行保存,此过程不需要重启服务即可生效


3、获取Token,如下图,点击"Add key",添加key(在下一个页面选择key使用的API)

其中,"Rate Limiting"中的"Expires"选择key的有效期限,为了简便测试,这里我选择为"Never Expires"(永不过期)。

 

"Access Rights"中添加"access role",这里我选择我添加的API项目"myTest",然后点击add,然后点击最下方的"Create"



然后页面中如下图所示处,会显示新生成的token值,将其Copy出来,以便后续测试使用,这里生成的值为"56d58ee8e1382308e7000001eb4c2ee1789a47506d4dca2b32141a92"


4、使用restClient、curl等方式进行测试认证
4.1、如下图,使用Firefox的插件restClient进行测试,注意要添加header,key为"Authorization",value为上一步奏记录下的Token值


4.2、使用curl方式进行测试
命令如下:
curl --header "Authorization: 56d58ee8e1382308e7000001eb4c2ee1789a47506d4dca2b32141a92" http://192.168.10.147:8080/mytest/helloworld

结果如图所示:




 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

GateWay restful TYK    2017-07-19 20:58:01    4

源文件:https://github.com/TykTechnologies/tyk-swagger-definitions/blob/master/tyk_gateway_api.yml


 

swagger: '2.0'

info:
  version: "1.9"
  title: Gateway REST API

paths:
  /tyk/keys/:
    get:
      description: |
        Gets a list of *key* IDs (will only work with non-hashed installations)
      parameters:
        -
          name: api_id
          in: query
          description: Back-end to target
          required: true
          type: string
          format: string
        -
          name: x-tyk-authorization
          in: header
          description: tyk gateway shared secret
          required: true
          type: string
          format: string

      responses:
        200:
          description: Successful response
          schema:
            type: object
            properties:
              keys: 
                type: array
                items: 
                  type: string
                  
  /tyk/keys/create:
    post:
      description: |
        Create a n