【问题标题】:Twitter API call to get access_token of OAuth only with javascriptTwitter API 调用仅使用 javascript 获取 OAuth 的 access_token
【发布时间】:2012-06-07 04:24:54
【问题描述】:

我想知道是否可以在一个简单的 ajax 调用中使用 Twitter OAuth 对用户进行身份验证。我需要使用 javascript,因为我正在使用 Phonegap 在 iOS 上构建应用程序。这是 Facebook 用于在用户登录并授权应用后直接检索该用户的 access_token 的 api。

如果有这个 API 调用的 Twitter 等效项是什么?

https://www.facebook.com/dialog/oauth?
    client_id=YOUR_APP_ID
   &redirect_uri=YOUR_REDIRECT_URI
   &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
   &response_type=token

我已经尝试过应用 3 legged 身份验证,当然无济于事。我不喜欢使用 pin 授权方法。

任何帮助将不胜感激,非常感谢大家!

【问题讨论】:

    标签: javascript cordova oauth twitter twitter-oauth


    【解决方案1】:

    xAuth 将满足您的需求。根据 Twitter 的说法,“xAuth 允许桌面和移动应用程序跳过 request_token 和授权步骤,并直接跳转到 access_token 步骤。”唯一需要注意的是,您需要向 Twitter 请求许可才能让您的应用使用 xAuth。

    【讨论】:

    • xAuth 的问题是我需要在我的应用程序中请求用户的用户名和密码并将其发布到 Twitter。
    • 是的。但它确实是跳到 Twitter 上的 access_token 步骤的唯一选择。
    【解决方案2】:

    +1 对 Mark S 来说是因为 xAuth 是用户体验和易于实施的一个引人注目的选项。如果你能得到 Twitter 的批准,我肯定会这样做。

    您还可以使用 custom URL 注册您的 iOS 应用程序,您可以将其用作授权步骤的回调。这将允许您直接将 oauth_verifier 接收到您的应用程序,而无需通过用户输入 PIN。

    另一个技巧是简单地从任何有效的回调中刮取 oauth_verifier。 WebView 加载后,您可以检查 WebView 的 address 属性以获取 oauth_verifier 参数。一旦验证者是您的,您将能够获得访问令牌。

    【讨论】:

    • 感谢乔恩的回答。我目前正在使用单独的浏览器窗口获取 oauth_verifier。但是当我尝试调用 Twitter 的 API 来获取 access_token 时,什么也没有发生。它只是打破。这就是我在这一点上寻找替代品的原因。
    猜你喜欢
    • 2022-08-12
    • 2012-06-03
    • 1970-01-01
    • 2012-03-08
    • 2022-11-11
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多