问题标签 [two-legged]

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 投票
2 回答
3159 浏览

ruby-on-rails - Rails 两条腿的 OAuth 提供者?

我有一个带有我希望保护的 API 的 rails 2.3.5 应用程序。

没有用户——它是一个应用到应用风格的 web 服务(更像是亚马逊服务而不是 facebook),所以我想使用两条腿的 OAuth 方法来实现它。

我一直在尝试使用 oauth-plugin 服务器实现作为开始:

http://github.com/pelle/oauth-plugin

...但它的构建期望三足(网络重定向流)oauth。

在我深入研究对其进行更改以支持两条腿之前,我想看看是否有更简单的方法,或者是否有人有更好的方法让 Rails 应用程序实现为两条腿的 OAuth 提供程序。

0 投票
2 回答
10874 浏览

authentication - 两条腿认证是什么意思?

两条腿认证是什么意思?它在哪里以及如何在编程中使用?

0 投票
1 回答
2577 浏览

c# - 有人使用 DNOA 实现了 2 Legged OAuth 吗?

我正在尝试在 CSharp 中创建一个身份验证模块,我需要使用 DotNetOpenAuth(DNOA) 库验证请求中的签名,用于 2 Legged OAuth,它只有消费者密钥和秘密。

如果您有任何使用 DNOA 的 2 Legged OAuth 示例实现,那将很有帮助。如果没有,任何关于如何实施的想法也将起作用。任何帮助将非常感激。

0 投票
0 回答
2131 浏览

javascript - OAuth2 用户代理流程 + 两条腿的 OAuth

我对 OAuth2 的用户代理流程有 2 个问题。(OAuth2 的用户代理流程的当前 RFC 草案在这里: https ://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-11#section-2.2 )

1)

步骤 C:必须在片段中给出访问令牌,因为只有用户代理(浏览器)才能访问它。为什么它会到达服务器端(如果有任何服务器端)会出现这样的问题,还有一些简单的解决方法,以便客户端可以将它传递给服务器端(cookie、隐藏字段、. ..)

2)

我想实现 OAuth2 用户代理流程,但是使用两条腿的版本(request_token 就足够了,消费者应用程序可以充当他的用户,因此无需在服务提供商处对用户进行身份验证)

OAuth2 的用户代理流程和两条腿的版本相结合,我有一个主要的安全漏洞:

Web 浏览器处理所有重定向。这意味着即使服务提供商认为它将用户发送到指定的主机和域,该主机和域对于用户重定向到他们自己的机器或任何地方都是微不足道的,通过调整他们的 DNS 设置或 /etc/hosts文件。

让我们看看 3-legged 和 2-legged 版本:

  • 使用 3-legged OAuth 这不是一个主要问题,因为用户仍然需要在服务提供商处进行身份验证。攻击者可能会设置一个通向他的机器的虚假域,但他仍然需要用户的凭据。他可以将用户引诱到他的域,但他必须做出域查找的结果(由用户的用户代理完成),他只能通过访问用户的机器来做到这一点(这更困难)

  • 然而,使用 2-legged OAuth:攻击者可以轻松地使用无辜消费者应用程序的域设置 localhost (/etc/hosts) 并获取 request_token。用户与它无关。攻击者现在可以代表无辜消费者应用程序的所有用户进行调用。有谁知道如何确保这个差距?

问候,基卢斯

0 投票
1 回答
1289 浏览

oauth - Google 数据 API - 两条腿的身份验证令牌重用

我正在为 Google Contact Data API 使用两条腿的 OAuth,并在每个请求上生成令牌。

是可取的还是我应该存储令牌以便下次重复使用?

另外,如何检测过时的令牌?

我正在使用python。(和 Gdata Python 客户端库)。

编辑:好的,我想,令牌是在客户端使用加密生成的,而不是从服务器端收集的,所以可以在每个请求上生成令牌。我对么 ?这意味着,用户的令牌永远不会改变(除非我改变共享秘密)对吗?

0 投票
1 回答
1334 浏览

php - Provider/Client 2-Legged OAuth 我理解正确吗?(PHP实现示例)

我为一组数据提供了一个开发者 API,我想添加 2-legged oauth 身份验证,以便我可以对开发者应用程序进行身份验证以使用该 api。首先,对于这种类型的身份验证,这是最好的解决方案吗?

其次,从实现/流程的角度来看,我的理解是否正确:

  1. 一个随机的开发者,去我的网站并使用一个“注册”页面,当我提交给他们一个 api keysecret时,我可以以任何我希望的方式生成。

  2. 然后,他们使用 oauth 库(如此处找到的 php 库使用这些凭据对他们的请求进行签名。

    $consumer = new OAuthConsumer('thegeneratedkey', 'thegeneratedsecret');

$sig_method = 新 OAuthSignatureMethod_HMAC_SHA1;

  1. 然后,我的服务器使用 oauth 库来检查该请求的“签名”以验证开发人员应用程序。

$secret = '秘密'; // 忽略这一行。

这个对吗?

如果是这样,每次发出请求时都必须进行此身份验证,还是我可以生成某种令牌以减少从开发人员应用程序到我的 api 的每个 HTTP 请求的权重?

0 投票
1 回答
515 浏览

apache - 使用 apache http 服务器的两条腿授权

我有一个 api(在码头实例中运行),我使用两条腿的 oauth 协议来访问客户端。我写了一个简单的java客户端(使用oauth-signpost)连接api,连接成功。

我想将 api 放在 apache http 服务器后面。apache http 服务器配置为将请求转发到 api。

以下作品:

(没有 oauth)客户端 ---> Apache HTTP 服务器 --> 码头

(使用 oauth)客户端 ---> 码头

以下不起作用:

(使用 oauth)客户端 ---> Apache HTTP 服务器 ---> 码头

我收到以下错误消息

“签名方法 HMAC-SHA1 的签名无效”

你们中有人遇到过这个问题吗?是否可以签署请求但没有主机名和端口?

谢谢你。

0 投票
3 回答
1575 浏览

java - 从 Scribe 中的请求标头中删除 oauth_token

我们正在尝试连接另一家公司的自定义 API,该 API 使用两条腿 OAuth 来验证请求并向我们发送响应。

目前我们拥有的代码正在发送一个请求,但它没有在另一端进行身份验证,因此发送了一个 UNAUTHORIZED 响应。

到目前为止,我们调查的步骤:

  • 使用相同的凭据在 python 中使用 OAuth 实现连接到远程站点。
  • 要求另一家公司将我们的 OAuth 请求与另一家成功的 OAuth 请求进行比较,以查看我们的 OAuth 请求中是否缺少任何内容。

在上面的第二点之后,我们的请求和另一个工作请求之间的唯一区别是oauth_token参数存在于我们的请求中而不是其他请求中。此外,他说他们的大多数oauth_body_hash_value请求都有一个,但我们的请求中没有 - 尽管他们确实收到了没有它的工作请求。

有没有办法删除oauth_tokenScribe 中的参数?或者,oauth_body_hash_value总是需要?没有请求可以工作吗?

我已经包含了下面的代码,我对 OAuth 完全陌生,所以请随时告诉我是否还有其他问题。

请注意,TestAPI.class 扩展了 DefaultAPI10a 并且只为所有三个必需的方法返回“”。

0 投票
1 回答
751 浏览

oauth-2.0 - 两条腿的 oauth2.0 有/支持回调授权吗?

在三足流程中,您有一个 callbackAuthorize 允许您检索代码,您可以用它交换访问令牌。我想知道两条腿的 oauth 是否有类似的东西(它会用您的身份验证令牌回叫您),或者您是否只是提供了您的 client_id + client_secret 的授权 URL 并且响应是您的身份验证令牌?

0 投票
1 回答
5048 浏览

asp.net-mvc-4 - 为 WebApi 实现两条腿的 OAuth 2.0

我使用 VS2012RC 创建了一个 mvc4 webapi 项目。我试图在我的项目中实现两条腿的 Oauth 2。我按照教程“http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0-for-mvc-two-legged-implementation.aspx”,即使它适用于 mvc,我正在为 web api 实现它。但不工作

我为我的客户端创建了一个 html 页面。当 html 页面加载时,它会执行一个旨在返回“访问令牌”的 ajax 函数。

服务器端代码是,

}

RequestToken()方法看起来像,

LoginModelOAuth模型看起来像,

当我执行客户端代码时,我收到以下错误

所以我调试了服务器端代码,在服务器端我得到了一个与此代码相对应的错误

“var response = OAuthServiceBase.Instance.RequestToken();” , 错误是

我的 webconfig 文件看起来像,

它适用于web api吗?

如果没有,请向我推荐任何有用的教程。

谢谢。