首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何准确地实现REST身份验证的挑战响应?

如何准确地实现REST身份验证的挑战响应?
EN

Stack Overflow用户
提问于 2013-08-03 10:31:05
回答 1查看 2.1K关注 0票数 1

我希望我的REST服务器能够只与我的iOS应用程序通信。用户数量将不超过1000人,而且市场规模很小,而且总体上不受欢迎。这就是为什么我认为,除了简单的挑战--响应身份验证(HTTP、OAuth 2.0、SSL)之外的任何事情都是过火的。但我不太清楚这个问题该如何解决。以下是我的想法:

  • 客户端应用程序(用户)发送请求: api.example.com/auth?username=john
  • 服务器使用一个随机生成的字符串进行响应:“翻滚和生成字符串”。
  • 客户端获取字符串,将其附加到用户名中,然后添加一个秘密字符串,在应用程序中进行硬编码,并使用MD5对整个字符串进行散列。
  • 客户端将字符串传递给服务器: api.example.com/auth?username=john&response=thenewMD5hashstring
  • 服务器生成相同的MD5哈希字符串,如果匹配,则在数据库中将该用户标记为身份验证,从此将处理来自该用户的所有API请求。

我有正确的想法吗?还是我完全错了?请记住,我想要基本的安全,任何太花哨的东西都会对这么小的项目造成太大的损失。

而且,我不会把任何敏感数据像个人信息一样保存在我的数据库中。

EN

回答 1

Stack Overflow用户

发布于 2013-11-10 19:46:34

您只需通过Authorization头对每个请求使用HTTP,并通过SSL进行所有交互。如果你想要基本的安全,就没有必要超越它。

你心目中的计划有几个问题。

  • 最后一步基本上是服务器端会话,在REST中是不可接受的。
  • MD5实际上是坏的,除了完整性检查之外,任何东西都不应该使用。
  • 在REST中,如果协议适合您的需要,则应该使用协议提供的标准化身份验证方法。重新发明它来使用URI参数,就像您所想到的那样,这是不必要的。
  • 您所想到的散列方案只有在您想要签署请求时才有意义,以保证它没有被篡改。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18031867

复制
相关文章

相似问题

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