我正在为自己的服务开发Web API。由于API将仅限于一组特殊用户,因此我需要验证凭据。
我在Stripe这样的支付网关中看到了很多示例,他们使用一种简单的方式对用户进行身份验证:使用https网站,他们会向用户发送“令牌”标记。通过http auth,并将请求数据作为GET / POST参数。该用户令牌为每个用户生成一个,并且可以随时重新生成。
这是一种允许访问我的API的安全方式吗?实现起来似乎很简单,但我看不出它的缺陷或者我错过了什么? 也许使用一些不对称加密更安全?
谢谢!
答案 0 :(得分:1)
要进行身份验证,您必须向API提供API和用户之间共享的内容。它可能是:
我会选择基于令牌的身份验证。它需要一些工作才能拥有一个功能控制台,客户端可以获得他们的令牌,但最终更好地与认证标准保持一致(并且如果需要,可以灵活地使用客户端oAuth)