首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在cookie中存储API的用户名和密码?

在cookie中存储API的用户名和密码?
EN

Stack Overflow用户
提问于 2011-04-27 14:46:54
回答 1查看 588关注 0票数 1

我已经编写了一个web应用程序,它可以在不同的域中与API接口。

此API请求某些调用的用户名和密码(涉及POST,例如将照片上传到API)。对于这些调用,API使用https。

我是否可以在web应用程序中存储用户名和密码,这样用户就不必每次上传照片时都重复登录?

我能想到的是:

  1. 很明显的方法是将两者都放在cookie中,但显然这是一个安全漏洞,无论是明文还是散列。
  2. 如果它是一个安全的网站,我可以使用会话ID:我能说服API所有者允许会话ID,还是跨域不可能?

也许我只需要让用户在每次调用API时重新输入他们的用户名和密码。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-27 16:01:36

如果我正确理解您的体系结构,您的用户将把API调用发送到运行在不同域中的服务。您不是这个请求的中间人,您只是提供接口,例如,作为web应用程序中的表单字段。用户可以发送API调用,而您甚至不知道他这样做了。

在这种情况下,如果不在浏览器中存储某种身份验证信息(cookie、表单字段等),就无法实现这一点。或者让用户为每个请求输入它们。它们必须来自某个地方,并且您的服务器没有参与到请求中。

你能做的就是改变架构,开始扮演中间人,就像一个代理。而不是仅仅提供界面,让用户发送他们的请求到您的web应用程序,而不是直接与服务通信。web应用程序添加凭据并将请求转发给服务。服务的答案将发送给您的web应用程序,后者可以将其重定向到用户。

在这个场景中,web应用程序负责身份验证。如果已标识发送请求的用户并具有所需权限,则web应用程序将向请求添加凭据。服务的凭据只从您的web应用程序传递到服务,甚至可以对用户自己隐藏。

当然,这样的变化有几个含义。web应用程序的负载将增加,逻辑将变得更加复杂。必须考虑到这些权衡。

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

https://stackoverflow.com/questions/5805994

复制
相关文章

相似问题

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