- 
                Notifications
    You must be signed in to change notification settings 
- Fork 178
QuickStart
        sofn edited this page Oct 24, 2015 
        ·
        2 revisions
      
    - X-Engine-UID 内网模拟用户调用接口
- X-Engine-From 区分内外网,如不设置默认内网,可选值:INNER、OUTER
- X-Engine-APPID 客户端ID,App服务器端可能支持多个客户端,每个客户端应有唯一标示
- X-Engine-RemoteIP 真实IP,防止请求通过Nginx后获取不到真实客户端IP
- 
客户端Mauth认证 Header: Authorization:MAuth 1234567899abcdef 
 其中Mauth后的值是每次登陆后下发给客户端的,生成方法
- 
Basic认证 Header: Authorization:MAuth username:password http标准用户名、密码认证。生成方法 
- 
Cookie认证 上传Cookie: AUTH_COOKIE:1234567899abcdef 专为嵌套在客户端中的H5页面设计,值生成方法 
 客户端调到H5页面可通过服务器端接口转发: http://localhost:8080/proxy?url=http://hosts/the/real/path
- 
内网Header认证 以上认证方式都是提供给外网使用的,开放人员想在内网模拟用户调接口(开发人员可不知道用户的密码)可通过此种方式 
 Header: X-Engine-UID:123456
- 接口频次限制 在接口方法上添加注解: @RateLimit ,如果不加此注解则接口调用无限制 示例代码:
   @RateLimit({
               @RateLimitTypeConfig(value = RateLimitType.IP, rates = {@RateLimitRateConfig(100)}),
               @RateLimitTypeConfig(value = RateLimitType.USER, rates = {
                       @RateLimitRateConfig(value = 100, time = TimeUnit.MINUTES),
                       @RateLimitRateConfig(value = 10000, time = TimeUnit.HOURS)})
       })具体示例参见代码: 值生成方法
- 接口开放控制、认证控制
服务器端接口不是所有的都提供给外网调用,可不是所有的都需要通过认证才能调用,所以需要精确的控制
 在接口方法上添加注解: @BaseInfo(status = ApiStatus.PUBLIC, needAuth = AuthType.OPTION)
 如果不添加此注解,默认级别是status=ApiStatus.PUBLIC,needAuth=AuthType.REQUIRED,即:对外提供、需要认证
- status: 开放级别控制
- needAuth: 认证控制