【问题标题】:Twitter no longer authorizes old Android devices / webview?Twitter 不再授权旧的 Android 设备/webview?
【发布时间】:2014-12-29 00:28:47
【问题描述】:

当我在 2.2 和 2.3.4 设备上重新运行我的应用程序时,我注意到了这一点。基本上我有一个加载了 twitter4j 的客户端 getAuthenticationURL 的 WebView。

如果一切正确并单击“登录”,webview 将加载另一个页面,要求用户授权。从那里,“授权应用程序”将返回应用程序的自定义回调和用户令牌。

单击“登录”按钮将不再将 web 视图发送到授权页面。它只会留在那里。当我调试我的 WebViewClient 并探测 onPageStarted 时,我注意到发送了一个请求。但是Twitter没有任何回应。另外,在我的 4.4 Nexus 平板电脑中,没有授权页面。 “登录”将授权并立即返回回调。

到目前为止,我找到了三种解决方法(所有这些测试都是通过全新安装完成的):

  • 点击取消,重启应用,重新加载相同的url+request token。这次没有登录。它将让 webview 直接加载授权页面。
  • 这是全部破解。基本上我需要输入错误的密码,然后我会被发送到密码重新确认页面。如果我这次输入正确的密码,我会看到那个授权页面。事实上,上面的第二个快照是通过这种方式获得的。
  • 如果我将该 url + 请求令牌粘贴到浏览器上,它也会跳过授权页面并立即返回我的回调。如果这适用于 startActivity-for-browser 方案,而不是嵌入式 webview,我还没有进行彻底的研究。 编辑:它有效,登录后,浏览器将发出警告,然后返回我的应用程序在 onNewIntent 中拦截的回调。没有授权页面。回调 url 也需要有回调主机,如 bla://callback

我很确定我能够在不久前使用旧设备浏览登录页面,包括授权。这个授权是坏的还是过时的?

【问题讨论】:

    标签: android webview twitter-oauth twitter4j


    【解决方案1】:

    在没有更好的答案的情况下,当前的解决方案将不得不做:单独的登录方法。我使用 Intent 浏览器用于 pre-ICS 和 WebView 用于其余部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-16
      • 2014-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多