我正在开发几个RESTful API供第三方调用,这些API需要进行身份验证(apikey和基于secret的验证),以及授权(HTTP方法和URI为基础)。
是否有现成的软件可以重复使用,避免我们自己实现安全层?
我正在开发几个RESTful API供第三方调用,这些API需要进行身份验证(apikey和基于secret的验证),以及授权(HTTP方法和URI为基础)。
是否有现成的软件可以重复使用,避免我们自己实现安全层?
HTTP可以为您提供授权支持,因此您无需重新发明轮子
可以使用以下任一选项:
摘要认证具有优势,它不会以明文形式传输密码,并处理重放攻击(使用nonce)。
我们使用HTTP Auth Digest(Tomcat servlet容器直接支持它),并且我们对它感到满意。
编辑:一些客户端存在Digest的问题(不太简单),因此现在我会选择Basic和SSL。 Basic的优点还在于您可以进行预先身份验证(在第一个请求中发送用户:pwd)。
无论你使用什么技术,你都可以实现一些像 AWS 使用的系统。
实现并不太困难,但需要考虑到每个对服务器的请求都需要查询存储以检索 SAK。其中一种选择是使用 NoSQL 数据库或类似的解决方案(如 Redis 或 memcache)来存储用户 ID / sak。