有几个Web服务API可以注册API密钥.例如,UPS Web服务需要一个密钥,该密钥包含在对其服务的调用中 - 除了用户名和密码.
提供商使用的密钥是什么?也许UPS是唯一同时需要API密钥和用户名/密码的人?
一个想法是他们使用它来限制或衡量API的使用,但在我看来,用户配置文件中的设置可以轻松地做同样的事情 - 特别是因为你通常需要获得一个帐户w /用户名和密码才能获得首先是API.
有两个主要的用例.第一种是测量,跟踪和限制API使用.如果某人正在构建允许第三方访问它的服务,则服务提供商可能希望控制(或至少知道)谁具有访问权限,以便他们可以尝试并防止诸如拒绝服务攻击之类的事情.在度量和跟踪方面,可以获得有趣的信息,例如知道哪些应用程序对于访问服务是流行的或者人们最常使用哪些功能.
另一个用例与安全性和身份验证有关.对于服务提供商来说,让第三方应用程序和服务要求用户放弃主服务的用户名和密码是不明智的.这是一个巨大的曝光.这就是为什么许多服务正在对诸如OAuth之类的协议进行标准化,OAuth通过授权向用户的数据提供委托访问.虽然不是万无一失,但绝对优先将用户凭据分发给未知且不受信任的各方.