Ionic/Phonegap+LinkedInOAuth: Getting an error "unable to verify access_token" on mobile while web oauth works fine

I'm trying to build an Ionic/Phonegap app, and I would like to authenticate against LinkedIn using OAuth. On the web, I go to http://localhost:8080/api/login and it takes me through the OAuth dance, but on the mobile I get the following error:

{
  errorCode: 0, 
  message: "Unable to verify access token", 
  requestId: "AVY9SG1I4I", 
  status: 401, 
  timestamp: 1422647386788
}

Here are some observations I made from testing various scenarios:

  1. Multiple logins to /api/login seem ok on the web (Chrome)
  2. I have only ever got an authenticated resource from the response once when going through the Phonegap InAppBrowser. The other 20 odd times it gives the error above.
  3. Once I get the error on the mobile, the web starts throwing the above error as well, for about 5-10 minutes. After 5-10 minutes, it starts returning the correct authenticated results.

I am wondering if this has something to do with starting up an InAppBrowser every time which LinkedIn does not like?

On the client side:

.controller('SignInCtrl', function($scope, $state) {

  $scope.signIn = function(user) {
    console.log('Sign-In', user);
    window.open(
      'http://localhost:8080/api/login', '_blank', 'location=yes');
  };

})

On the server side, its a Google App Engine app using webapp2:

def get(self):
        auth_code = self.request.params["code"]
        #tokens = step2_exchange(auth_code)
        http = httplib2.Http()
        resp, tokens = http.request(
            "https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&code="+ auth_code +"&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flinkedinoauthcallback", 
            method='POST')
        tokens = json.loads(tokens)
        pdb.set_trace()
        print tokens
        http = httplib2.Http()
        headers = { 'Authorization': 'Bearer' + tokens['access_token']}
        resp, content = http.request("https://api.linkedin.com/v1/people/~/connections?modified=new&format=json", method='GET', headers=headers)
        print content
        self.response.headers['Content-Type'] = 'application/json'
        self.response.write(json.dumps(content))