-
Notifications
You must be signed in to change notification settings - Fork 180
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: 认证控制