首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RESTful API认证

RESTful API认证
EN

Stack Overflow用户
提问于 2011-09-30 06:11:53
回答 2查看 19K关注 0票数 16

我在这个题目上发现了不少问题,但却找不到任何答案:

我应该用用户的用户名和密码,还是用API密钥来验证用户呢?每种方法的优缺点是什么。

我之所以这样问,是因为在我的API中,有几种方法我想锁定并验证用户是否可以访问某些文档或操作。我有点不愿意通过让用户发送带有用户名和密码的HTTP头来进行身份验证,因为它感觉不安全,对用户来说更麻烦一些。另一方面,如果我使用API密钥,用户创建密码的意义是什么?因为他们将不再使用它来访问API的特性。

更新

如果其他读者对我最终使用的内容感到好奇,我决定复制亚马逊如何进行验证(很好的解释这里https://www.ida.liu.se/~TDP024/labs/hmacarticle.pdf)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-30 06:15:45

您可以在SSL上使用HTTP身份验证,这是足够安全的。但是,它使API的使用变得有点困难,因为它需要客户端库支持SSL。如果同时期望调用太多,SSL也会影响性能。

API密钥选项与没有SSL的HTTP身份验证一样不安全。如果您不关心安全性,那么API密钥对于API的使用者来说是最容易的。

票数 7
EN

Stack Overflow用户

发布于 2011-09-30 06:16:11

一种很好的方法是有一个登录方法,使用用户名和密码(希望通过TLS)。如果他们成功的话,就给他们一个到期的令牌;其他API调用必须包含此令牌才能成功。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7606559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档