2017-02-14 55 views
1

上周我更新了我们的Android应用程序,使用旧的旧版OAuth API(https://developer.linkedin.com/docs/oauth2-legacy)更新到新的V2版本(https://developer.linkedin.com/docs/oauth2)。LinkedIn OAuth 2,如果CAPTCHA向用户展示,则不会调用redirect_uri

表面上看起来可以正常工作,而我的redirect_url被正确引导,但是,如果LinkedIn决定通过验证码验证用户,则不会返回redirect_url,并且用户将被带到LinkedIn主页。与呼叫

  1. 开始使用OAuth https://www.linkedin.com/oauth/v2/authorization
  2. 输入电子邮件,但后来一帮错密码:

    要重现此。直到你触发CAPTCHA流程。

  3. 完整的CAPTCHA。当重定向到登录页面,在正确的密码输入

这将导致以下网址,LinkedIns侧被调用,通过CAPTCHA流去的时候:

  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= < - OH OH,这应该是登录成功,后面是我们的redirect_url

请注意,不通过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= < - YAY

有没有人见过这个问题?有谁知道如何解决这个问题,因为我完全处于亏损状态。似乎重定向在事物的LinkedIn方面正在消失。由于这曾经为我们使用传统OAuth工作 - 我猜测LinkedIn的一面是什么?任何帮助,将不胜感激!

回答

2

您可以启用JavaScript。它将使web验证中的验证码没有任何问题:

以下是使用验证码成功登录的截屏代码。

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

enter image description here

enter image description here

enter image description here