我正在尝试在CSharp中创建一个身份验证模块,我需要使用用于2 Legged OAuth的DotNetOpenAuth(DNOA)库来验证请求中的签名,它只有消费者密钥和密钥.
如果您使用DNOA进行任何示例实施2 Legged OAuth,那将会很有帮助.如果没有,任何关于如何实施的想法也会起作用.任何帮助将非常感激.
我有一个带有我希望保护的API的rails 2.3.5应用程序.
没有用户 - 它是应用程序样式webservice的应用程序(更像是亚马逊服务而不是facebook),所以我想使用两条腿OAuth方法实现它.
我一直在尝试使用oauth-plugin服务器实现作为开始:
http://github.com/pelle/oauth-plugin
...但它建立了期待三条腿(网络重定向流)oauth.
在我深入研究对其进行更改以支持两条腿之前,我想看看是否有更简单的方法,或者是否有人有更好的方法让rails应用程序实现成为一个两条腿的OAuth提供程序.
我已按照 nodemailer 站点上的说明进行操作,但是 Google 服务帐户的 OAuth2 对我来说根本不起作用。
使用 smtp.gmail.com 作为主机时,我在将“主机”设置为 mail.google.com或“401,用户/密码不接受,无法创建访问令牌”错误的某种组合时获得 ECONN 超时。
对于 3LO 似乎有无穷无尽的答案,但我没有为 2LO 的工作尝试过。现在,说了这么多。
var nodemailer = require("nodemailer");
var { google } = require("googleapis");
var accessToken;
var expires;
var key = require(“path/to/secrets.json");
var privateKey = key.private_key;
var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, ["https://mail.google.com/"], null);
jwtClient.authorize(function(err, tokens) {
if (err) {
return; …Run Code Online (Sandbox Code Playgroud) 我们正在尝试与另一家公司的自定义API建立联系,该API使用两条腿OAuth来验证请求并向我们发送回复.
目前我们的代码是发送一个请求,但它没有在另一端进行身份验证,因此发送了一个UNAUTHORIZED响应.
到目前为止我们调查的步骤:
在上面的第二点之后,我们的请求和另一个工作请求之间的唯一区别是该oauth_token参数存在于我们的请求中而不存在于其他请求中.此外,他说,他们有一个oauth_body_hash_value在大多数他们的要求,但是这并不存在于我们的-虽然他们没有得到它的工作要求.
有没有办法删除oauth_tokenScribe 中的参数?或者,oauth_body_hash_value总是需要吗?请求可以不用吗?
我已经包含了下面的代码,我对OAuth来说是全新的,所以请随时告诉我是否还有其他问题.
请注意,TestAPI.class扩展了DefaultAPI10a,只返回所有三个必需方法的"".
public class TestImporter {
private static final String REQ_URL = "http://test.com/";
private static final String KEY = "KEY";
private static final String SECRET = "SECRET";
// test variables
private static final String VAR1 = "Test123";
public static void main(String[] args) {
OAuthService service = new ServiceBuilder()
.provider(TestAPI.class)
.apiKey(KEY)
.apiSecret(SECRET)
.build();
Token token = new Token("", "");
OAuthRequest request …Run Code Online (Sandbox Code Playgroud) 我正在为Google Contact Data API使用双腿OAuth,并在每个请求上生成令牌.
它是可取的还是我应该存储令牌以便下次重复使用它?
另外,如何检测过时令牌?
我正在使用python.(和Gdata Python客户端库).
编辑:好的,我想,令牌是在客户端生成的,带有加密而不是从服务器端收集,因此可以在每个请求上生成令牌.我对么 ?这意味着,令牌永远不会为用户改变(除非我改变共享秘密)对吗?
two-legged ×6
oauth ×4
2-legged ×1
c# ×1
java ×1
nodemailer ×1
oauth-2.0 ×1
provider ×1
ruby ×1
scribe ×1