【问题标题】:How to get oauth_verifier without manual intervention如何在没有人工干预的情况下获取 oauth_verifier
【发布时间】:2012-01-20 01:04:11
【问题描述】:

我正在尝试获取 LinkedIn 的访问令牌 这是代码的一部分,

OAuthService service = new ServiceBuilder().provider(LinkedInApi.class).apiKey("My_Api_Key").apiSecret("My_secret_key").build();

System.out.println("LinkedIn Service created");         
Token token = service.getRequestToken();

System.out.println("Got Request token");            
System.out.println(service.getAuthorizationUrl(token));
//https://api.linkedin.com/uas/oauth/authorize?oauth_token=some_value
Verifier verifier = new Verifier("verifier_you_got_previously");

我能够获得一个请求令牌,以及https://api.linkedin.com/uas/oauth/authorize?oauth_token=some_value 的授权 URL 要获取 Verifier 对象,我需要将验证器值传递给构造函数。我如何获得这个值?这是一个 oob 请求,因此没有为服务设置回调。 获取oauth_verifier的授权Url应该怎么做?

【问题讨论】:

  • 如果您只想登录,请使用内联登录。
  • 您正在使用 scribe,为此只需阅读 scribe developer.linkedin.com/thread/1745的作者的这篇文章
  • 您可以查看developers.linkedin.com 中的Javascript API 教程 内联登录是其中最简单的。它在正文的 onload 函数中被调用。如果你仍然有疑问,我会分享你的代码......
  • @UmeshAwasthi 那个帖子真的过时了。对不起,我从来没有更新过:(
  • @PabloFernandez:这很好,即使我自己也在使用 scribe 来完成我几乎所有的应用程序出色的工作 :)

标签: java oauth scribe


【解决方案1】:

您的服务器没有获得验证程序。您需要将您的用户重定向到authorizationUrl,然后让他们以某种方式提供给您。

这就是 OAuth 的工作原理,你无法欺骗系统。

【讨论】:

  • @Pablo,我不明白这是如何工作的。我已经成功地在 webview 中加载了 authorizationURL,然后用户已经登录,现在我得到一个带有文本框和授权码的页面。如何获得验证者?我的网址中不存在。我只有[代码]。我正在使用 Scribe。
  • @Eenvincible 您是否想在此处添加任何内容。有任何解决方案
  • Uri uri = this.getIntent().getData();String code = uri.getQueryParameter("code");验证者验证者 = 新验证者(代码);然后在 AsyncTask 中使用它 - 请记住,此代码是在请求恢复后在 onResume 中获取的。
【解决方案2】:

使用 HTTP 客户端对授权 URL 进行 POST 请求。

【讨论】:

  • 这行不通,因为您没有向用户发送 LinkedIn 凭据
猜你喜欢
  • 2022-12-12
  • 2017-07-07
  • 2012-04-16
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 2011-05-15
  • 2014-09-03
相关资源
最近更新 更多