安全地向 RESTFUL API 提供凭据

2024-03-18

我创建了一个 RESTful 服务器应用程序,它可以在有用的 URL(例如 www.site.com/get/someinfo)上处理请求并提供服务。它是在春天建造的。

但是,这些访问受密码保护。我现在正在构建一个客户端应用程序,它将连接到这个 RESTful 应用程序并通过 URL 请求数据。我怎样才能传递凭据?目前,它只是向用户弹出用户/密码框,但我希望用户能够在客户端应用程序上的框中输入用户名和密码,并让客户端应用程序在以下情况下向 RESTful 应用程序提供凭据:它请求数据。客户端是使用Struts 构建的。

Cheers

编辑-我认为我把问题说得不够清楚。我已经强制使用 HTTPS,我的问题更多的是,在代码中,当我从 www.site.com/get/someinfo 请求数据时,如何在发出请求的同时传递我的凭据?


你或多或少有3个选择:

  1. HTTP 认证 http://en.wikipedia.org/wiki/Basic_access_authentication
  2. 理想情况下,推出您自己的协议HMAC http://en.wikipedia.org/wiki/Hmac基于挑战/响应
  3. OAuth http://oauth.net/

OAuth 目前容易受到网络钓鱼攻击的一种变体的影响,这种攻击在很大程度上是目标无法检测到的。因此,在协议修改之前我不会推荐它。

OAuth 也应该是一个关于设计安全协议有多么困难的教训,因此我不太愿意推荐您自己的路线。

剩下的就是 HTTP 身份验证,如果您可以使用它,这可能是最好的。

话虽如此,互联网上的几乎所有内容都使用基于表单的身份验证,许多人甚至不使用 https 来实现传输级安全,因此也许简单地以明文形式发送密码文本就足以满足您的目的。即使如此,我仍然鼓励使用 https,因为这至少减少了中间人攻击的危险。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安全地向 RESTFUL API 提供凭据 的相关文章

随机推荐

  • 如何解决 java.lang.IllegalStateException: 将图像上传到 Firebase 存储时出现任务尚未完成错误?

    将 firebase storage 更新到最新版本 16 0 1 后 我开始出现此错误 我没有更改代码中的任何内容 只是在升级 gradle 构建依赖项后出现此错误 询问 Firebase uploadTask addOnComplete
  • 按钮中的文本和图标垂直对齐

    我无法将字体精美的图标与 Bootstrap 框架下按钮内的文本垂直对齐 我尝试了很多方法 包括设置行高 但没有任何效果
  • 模板参数、#define 和代码重复

    我有很多这样的代码 define WITH FEATURE X struct A ifdef WITH FEATURE X declare some variables Y endif void f void A f do somethin
  • Perlin Noise 2D:将静态变成云

    我正试图将注意力集中在柏林噪音上 本文 https web archive org web 20160529013225 http freespace virgin net hugo elias models m perlin htm有所帮
  • 每次添加消息时AWS死信队列Cloudwatch警报

    我想触发一个AWS cloudwatch每次有消息添加到我的 DLQ 时都会发出警报 我正在使用云形成来部署我的 sqs dlq 资源 但我不知道如何配置此类警报 配置警报时需要使用 NumberOfMessagesSent 请参阅Clou
  • 以 Grid 作为模板的 ItemsControl :向 Grid 添加控件

    Windows Phone 7 1 项目 XAML 我有一个以网格为模板的项目控件 绑定到数据元素的集合 一切正常 但是 我必须向网格添加一张额外的图像 该图像不会绑定到集合 某种标题图像 我有这个代码
  • 每个构建类型的 resConfigs

    我怎样才能覆盖resConfigs每个构建类型 我读到口味允许这样做 但我不使用它们 我只想为我的调试构建另一组受支持的语言 这是我尝试过的 buildTypes debug resConfigs de en allow also germ
  • 附加数据框中所有行中的单词或字符列表

    有没有一种方法可以在不使用 for 循环的情况下附加数据框中不同行中存在的列表 我可以通过使用 for 循环来实现这一点 但我想以更有效的方式实现这一点 可能不使用 for 循环 d col1 1 2 3 4 5 col2 a a b c
  • 如何转义url中的#符号?

    我有 符号作为参数传递到我的 URL 中 但它会丢弃 后面的所有参数值 请建议我解决方案 以下是我的网址 GetConnectiont customerID customer1 activenode Sv50 parent server f
  • 在 Python Pandas Dataframe 中动态添加列的数据处理

    我有以下问题 假设这是我的 CSV id f1 f2 f3 1 4 5 5 1 3 1 0 1 7 4 4 1 4 3 1 1 1 4 6 2 2 6 0 所以 我有可以按 id 分组的行 我想创建一个如下所示的 csv 作为输出 f1 f
  • 修改ggplot2 Y轴以使用整数而不强制执行上限[重复]

    这个问题在这里已经有答案了 我正在尝试修改 ggplot2 中的轴 以便它是一个小数点 并且每个整数都有一个标签 但是 我想这样做没有上限 以便它会自动调整不同计数的数据 我的问题和问题之间的区别这里提出的问题 https stackove
  • 在 Linux 中的类路径上使用 javac 和多个特定的 jar(波浪号在冒号后不扩展)

    我正在尝试通过类似于以下的命令编译一个使用两个 jar 文件 trove 和 apache commons 集合 的 java 源文件 javac cp m2 repository gnu trove trove 3 0 0 trove 3
  • 如何获取ASCII后面的二进制代码(C#)

    我试图找出如何将控制台的输入转换为二进制 如何在 C 中进行这样的转换 先感谢您 string s Console ReadLine byte bytes Encoding ASCII GetBytes s 请注意 控制台使用的编码实际上不
  • pgsql 返回表错误:列引用不明确

    我不断收到此错误 列引用 人 不明确 我需要返回一个表 个人整数 当我使用 SETOF 整数时它工作正常 但在这种情况下它不起作用 我的另一个函数 recurse 完美地返回一组整数 CREATE OR REPLACE FUNCTION t
  • 来自基类的用户定义转换运算符

    介绍 我知道 不允许用户定义的与基类之间的转换 MSDN 给出了对此规则的解释 你不需要这个运算符 我确实了解用户定义的转换to不需要基类 因为这显然是隐式完成的 但是 我确实需要转换from一个基类 在我当前的设计 非托管代码的包装器 中
  • Matplotlib 轴位置和颜色条对齐

    我正在尝试将多个颜色条与使用其中之一生成的子图对齐gridspec or fig add subplots 我想添加颜色条fig add axes在 matplotlib v2 02 中 因为它允许详细的对齐控制 但是 我需要获取图形位置才
  • 熊猫从日期时间列中获取第二个最小值[重复]

    这个问题在这里已经有答案了 我有一个带有日期时间列的数据框 我可以通过使用获得最小值 df Date min 我怎样才能得到第二个 第三个 最小值 Use nlargest or nsmallest 对于第二大的 series nlarge
  • Symfony2 和控制器中的 DRY 方法

    我正在使用 Symfony2 为我的公司开发一个小型 CMS 我真的很喜欢这个框架 我喜欢表单类并重用它们 毕竟这都是关于表单的 但是 是的 有一个 但是 我感觉我在做同样的事情 复制并粘贴到所有控制器中 我们讨厌的代码重复 随着所有业务逻
  • MbUnit:比较双打的最优雅的方式?

    The code Assert AreEqual 9 97320998018748d observerPosition CenterLongitude produces Expected Value Actual Value 9 97320
  • 安全地向 RESTFUL API 提供凭据

    我创建了一个 RESTful 服务器应用程序 它可以在有用的 URL 例如 www site com get someinfo 上处理请求并提供服务 它是在春天建造的 但是 这些访问受密码保护 我现在正在构建一个客户端应用程序 它将连接到这