问题标签 [rest-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2701 浏览

spring-security - 使用 Spring Security 保护 REST 端点

我正在尝试为 REST 端点提供安全性。我正在按照此页面的说明进行操作。在我的情况下,我没有视图,因此我没有创建控制器来指定视图,也没有在我的 AppConfig.java 中添加 viewResolver

实施后,它在调用安全 REST 端点时正确显示拒绝访问错误。但是,即使我在请求标头中指定了用户名/密码,我也会收到拒绝访问错误。我正在测试邮递员在基本身份验证中设置用户名/密码。我想念什么?

0 投票
1 回答
1994 浏览

rest - RESTful Web 参数篡改

我试图了解如何为经过身份验证的用户使用 restful 客户端来实现安全性。我遇到麻烦的场景是如何阻止用户更新不属于他自己的购买,因为 restful 客户端将购买 id 传回。对于熟练的用户,产品 ID 很容易被篡改。我对被夹在中间并不真正感兴趣,因为使用 https 可以防止或减轻它。我对尝试更新不属于他们的内容的用户非常感兴趣。

您如何在其他世界防止此类攻击?网络参数篡改

0 投票
1 回答
1427 浏览

c# - .Net rest api 调用不起作用

我正在尝试连接到发送 json 响应的 rest api。当我在浏览器中复制粘贴网址时。浏览器会弹出一个输入用户名和密码的窗口。

输入用户名和密码(活动目录 ID 和密码)后,服务会发送 JSON 响应。 Http请求和响应

但是尝试从代码连接,它返回以下错误

{StatusCode:401,ReasonPhrase:'未授权',版本:1.1,内容:System.Net.Http.StreamContent,标头:{ Keep-Alive:timeout=15,max=100 Connection:Keep-Alive 日期:4 月 20 日,星期三2016 年 11:38:45 GMT 服务器:Apache WWW-Authenticate: Basic realm="使用您的 AD-ENT 凭据登录,但不要在您的 ID 前加上域"
Content-Length: 455 Content-Type: text/html; 字符集=iso-8859-1 }}

0 投票
1 回答
37 浏览

api - 使用令牌的 API 身份验证

我在一个网站上工作,但我不确定是否了解有关身份验证的内容。

我有一个带有外部 API 的网站,我的网站可以向我的 API 询问信息以检索用户、文章等数据。

此外,用户可以在我的网站上创建帐户并要求 API 访问(当然对他的个人资料有一些限制)。所以我的想法是在用户帐户中提供一个密钥/令牌,以允许它从 API 发送/检索他的数据。(例如,Bugsnag、Google 分析等服务……)

  • 这是“O-Auth 2”的工作吗?我的网站就像一个带有密钥的客户,允许他检索更多数据(基本上是更好的范围)
  • 如果用户使用他的 API 令牌添加 Javascript 脚本,那么是什么保护用户使其密钥/令牌被其他用户从 DOM 窃取?

谢谢!

0 投票
1 回答
273 浏览

security - 使用 OpenAM 12.0 J2EE 策略代理保护 REST APIS

我是 OpenAM 的新手,正在尝试使用 OpenAM 保护我的网络服务。我已经使用链接中的以下信息安装了 J2EE 策略代理。

https://wikis.forgerock.org/confluence/display/openam/Installing+Tomcat+6.0+Policy+Agent

我需要为我的 REST API 提供安全性。那么我们应该在 OpenAM 控制台的什么地方配置 REST API。

请给我一些链接,我可以在其中获得一些信息。

0 投票
2 回答
1359 浏览

authentication - OAuth 2.0 Authorization code Grant中“code”的生命周期

授权码 Grant :我知道该代码是用短期令牌交换真正的长期访问令牌。我已经浏览了Oauth 2.0但找不到此信息,所以在这里询问:

  • 代码的生命周期是什么?
  • 是不是只能一次性使用?
  • 代码可以交换多少次以获得访问令牌?
  • 为该代码提供访问令牌后,该代码会发生什么情况?

在 Kong API gateway 上使用 oAuth 2.0 插件。它使代码在特定时间内保持活动状态,并且到那时可以使用相同的代码生成多个访问令牌。这是预期的行为吗?

感谢您的任何建议。

0 投票
1 回答
1551 浏览

api - 如何只允许自己的页面访问 API?

我正在开发提供 REST API 的 Spring Boot Web 应用程序。我的大部分页面(thymeleaf 模板)都使用这个 API 与后端通信(使用 AJAX 请求)。我已经阅读了不同的方法,例如基本身份验证、OAuth2 等。这些方法描述了用户身份验证,之后用户可以访问 API。但我不希望用户使用浏览器或 REST 客户端(即 postman chrome 扩展,它可以访问浏览器的 cookie,通常存储访问令牌)直接与我的 API 通信。

我有这样的东西:
(1)用户->(2)MyOwnPages->(3)RestAPI。

有没有办法防止直接沟通 1-3 ?
我能否以某种方式确定该请求是从我的页面发出的(即向每个请求添加某种访问令牌)?有没有最佳实践?

谢谢!

0 投票
1 回答
130 浏览

android - 如何在后端验证请求?

我有一个安卓应用程序。它有一个后端服务器。

验证请求是通过我的应用程序发出的最佳方法是什么?

目前我使用谷歌身份验证令牌来验证用户。还有其他更好的方法吗??后端使用 PHP 并托管在 VPS 上(不使用任何 BaaS 服务)。

0 投票
1 回答
989 浏览

rest - 查询字符串中的身份验证令牌

我们当前的 REST API 实现使用 queryString 中的 apiKey 来处理所有类型的请求(PUT、POST、GET)。我觉得这是错误的,但无法解释原因(也许 apiKey 可以在服务器和客户端之间的某处兑现)。就像是:

POST /objects?apiKey=supersecret {name: 'some'}

那么,这是一个安全问题吗?请描述 HTTP 和 HTTPS 连接情况

0 投票
1 回答
2493 浏览

oauth - 用于 REST Web 服务的 OAuth 2.0

我正在为现有应用程序实现 REST 层。我的用户名和密码存储在数据库中,我想在调用我的 REST 服务时验证这些凭据。请注意,这是一个独立的应用程序。

经过调查,我想出了两种方法。

  • 使用 HTTPS 的基本实现 - 这种方法确保传递的用户名和密码不会被中间人攻击篡改。
  • 使用身份验证令牌(JWT) - 用户最初传递他的用户名和密码,服务器返回身份验证令牌。一旦用户拥有可用于后续请求的身份验证令牌。
  • 使用 OAuth 2.0 - 我对这种方法很困惑。在阅读文档和规范后,我发现由于我的应用程序是独立的,我需要实现授权服务器、资源服务器等。

我被要求在这里实现 OAuth,但我不相信在这种情况下需要 OAuth。我更倾向于只实现 JWT(tokens)

在这种情况下,OAuth 真的是强制性的吗?我对 OAuth 的理解是当您已经拥有 Facebook/Google 等服务时使用它。

有人可以确认我的思路是否正确以及在这种情况下是否需要 OAuth 2.0?