当API要求客户端对其进行身份验证时,我已经看到使用了两种不同的方案,并且我想知道哪种情况适合我的情况。
示例1.一个公司提供的API,允许第三方使用HTTP Basic使用令牌和机密进行身份验证。
示例2. API通过HTTP Basic接受用户名和密码来认证最终用户。通常,他们会获得令牌以供将来请求。
我的设置:我将有一个JSON API,它将用作移动和Web应用程序的后端。对于移动应用程序和Web应用程序来说,似乎都附带令牌和秘密发送的好习惯,因此只有这两个应用程序才能访问阻止任何其他第三方的API。
但是移动和Web应用程序允许用户登录和提交帖子,查看其数据等。因此,我希望他们也可以通过HTTP Basic在每次请求时登录。
我会以某种方式同时使用这两种方法还是仅在每个请求上发送最终用户凭据(用户名和令牌)?如果仅发送最终用户凭据,是否将它们存储在客户端的Cookie中?
请注意,Cookie不是HTTP协议的一部分,而仅仅是浏览器的常用功能。因此,如果您不打算为Web进行部署,请不要理会它们。
—
Yam Marcovic 2012年
如果不建议使用cookie,则如何/在何处存储凭据以传递给api?
—
Paul Sylling 2012年
Cookies只是浏览器用户无缝存储会话令牌的一种方式。如果您正在与开发人员进行交互,则不必是无缝的。您可以设置授予“票证”的公共连接服务,开发人员可以将其票证保留在内存中或任何需要的地方。请注意,我没有实际的Web服务经验,并且可能有针对此类内容的标准解决方案。
—
Yam Marcovic 2012年
您对最终用户身份验证和api身份验证的问题有何看法?我仍然不确定
—
Paul Sylling 2012年