【问题标题】:LinkedIn OAuth 2, redirect_uri not called if CAPTCHA was shown to userLinkedIn OAuth 2,如果向用户显示验证码,则不会调用 redirect_uri
【发布时间】:2017-04-24 04:37:56
【问题描述】:

上周我将我们的 Android 应用程序从使用旧的旧 OAuth API (https://developer.linkedin.com/docs/oauth2-legacy) 更新为新的 V2 版本 (https://developer.linkedin.com/docs/oauth2)。

从表面上看,这似乎有效,并且我的 redirect_url 被正确定向,但是,如果 LinkedIn 决定通过 CAPTCHA 验证用户,则不会返回 redirect_url,并且用户会被带到 LinkedIn 主页。

重现这个:

  1. 通过调用 https://www.linkedin.com/oauth/v2/authorization 启动 OAuth
  2. 输入了一封电子邮件,然后输入了一堆错误的密码。执行此操作,直到您触发 CAPTCHA 流程。
  3. 完成验证码。当重定向回登录页面时,输入正确的密码

这会导致在通过验证码流时从 LinkedIn 端调用以下 URL:

  1. https://www.linkedin.com/uas/login?session_redirect=
  2. https://www.linkedin.com/uas/consumer-captcha-v2?challengeId=
  3. https://www.linkedin.com/nhome/?trk=

请注意,不通过 CAPTCHA 的身份验证流程看起来像这样并且确实有效。

  1. https://www.linkedin.com/oauth/v2/authorization-postlogin?app_id=
  2. https://www.linkedin.com/uas/login?session_redirect=%2Foauth%2Fv2%2Flogin-success%3Fapp_id
  3. https://www.linkedin.com/oauth/v2/login-success?app_id=
  4. http://www.ourCoolCallback/linkedin?code=

有人看过这个问题吗?有谁知道如何解决这个问题,因为我完全不知所措。似乎重定向在 LinkedIn 方面丢失了。由于这曾经为我们使用旧版 OAuth 工作 - 我猜 LinkedIn 方面有些东西是无聊的?任何帮助,将不胜感激!

【问题讨论】:

    标签: android oauth linkedin captcha


    【解决方案1】:

    您可以启用 JavaScript。它将毫无问题地在 webview 中启用 CAPTCHA:

    以下是带有屏幕截图的代码,显示使用 CAPTCHA 成功登录。

            webView.clearCache(true);
            webView.clearHistory();
            webView.getSettings().setJavaScriptEnabled(true);
            webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 2013-11-04
      • 2017-11-04
      相关资源
      最近更新 更多