开发授权详解


什么是授权Key

授权Key是在线开发中使用的应用密钥,即Key,它是服务的口令标识,是一种为了保障用户发布在云平台的服务的安全机制。

如果需要使用SuperMap Online的在线服务、API等资源进行在线Web开发,您需要先申请密钥key。key是服务的口令标识,由24位随机字母+数字组成,是一种在线服务的保护机制。

申请key

任何用户登录后,都可以申请开发key

其中,根据key的具体使用场景,可以设置其应用类别为:站点访问或服务请求。

站点访问

即允许使用key来发请求的网站或Web App,例如:http://www.mywebsite.com。

这种方式适用于生产环境下,只需要确定的域名即可,后续服务器IP的变更、升级等均不受限制。

访问源IP

即允许使用key来发请求的服务器IP,一般适用于开发过程中或测试环境下。如果服务器IP变更,则需同步修改key的IP设置,key字符串本身不会变化。

如果IP设置为0.0.0.0,则表示不限制发请求的服务器,任何机器都能使用这个key发请求。请谨慎使用,建议仅限于测试。

如何使用Key

开发者在访问该服务时只需在其服务地址后加上(key)的请求参数,例如以下访问请求:

http://www.supermapol.com/iserver/services/kx8modst/rest?key=VeXOcFHJrYLsMS3YyT9AR6zc

其中“?”前的部分是需要调用的服务地址,其后的部分(key=……)为访问需要的密钥请求参数,以此url发送请求即可进行访问。

Key的使用限制

key可用于两类服务:

  • GIS云分析服务,每个账户的使用限额(所有key):免费共计 10,000 次请求/天。

SuperMap Online提供了GIS云分析服务,如路径导航、地理编码、公交换乘等,面向开发者免费使用。只要申请了key,您就可以直接访问使用这些GIS服务。

  • 用户基于GIS云存储上传数据后发布的REST地图服务,每个账户下所有服务的访问限额(所有key):免费 5000 次请求/天(请求一张瓦片即为一次请求)。

也就是说,您上传的数据可以发布为REST地图服务,私有的服务在开发时并不能直接使用。您需要在开发应用前,对您的服务生成key,然后通过key使用服务。因为没有key就不能使用您的地图服务,所以开发授权机制可在访问层面保证您的地图服务的安全性。

此外,SuperMap Online公开的其他数据,如在线地图、实时数据服务、其他专题与示例数据,您可以免费访问,无需key的限制。

请求错误说明

以下是错误请求时返回的信息:

请求响应:

{
“succeed”:”false”
“error”:
“errorMsg”:”注册的key已达上限”
“code”:”400”
}

其中code为响应错误码,errorMsg为错误详情。相应错误码说明如下:

  • 200:表示服务器成功执行了客户端的 HTTP 请求。
  • 400:请求出错。通常是客户端的请求参数不合法或没有表达足够的信息。
  • 401:表示因为安全的原因,导致对资源的操作没有完成。通常是输入了错误的 key 或错误的服务,或是发送请求的 IP 不被 key 所认可。
  • 404:表示客户端请求的资源不存在,即 URI 无效。
  • 406:表示资源不支持客户端请求的表述格式。
  • 500:表示服务器端发生非预期情况,导致请求没有完成。