• Stephen Bussey
  • NEWBIE
  • 30 Points
  • Member since 2014

  • Chatter
    Feed
  • 1
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 1
    Replies
I'm using a ruby gem called omniauth to perform OAuth for my connected app. As a final step after completing authentication, omniauth performs a POST to the "identity URL", e.g. POST https://test.salesforce.com/id/<org id>/<user id>?oauth_token=<oauth token>.  It's on this final POST that we're seeing a failure for one of our customers; The response body simply says "Missing_Oauth_Token".  We haven't seen this issue with any other customer.

After some digging in, I found that the same identity request works when using a GET request or when providing the OAuth token in the request header.  It only fails with a POST.  This customer is on cs18, so there could be in issue with that instance; However, we've had other customers connect to cs18 without problems.  Additionally, this same customer is able to connect to his production instance without issue.

Please help!


Howdy, I noticed at SF hackathon that Ruby+SF Oauth would sometimes fail with "Oauth_Missing_Token". It would only fail about 50% of the time. Pat and I talked about it and we think it has to do with periods being in the body of POST request in the final bearer token exchange of OAuth. The omniauth-salesforce gem was passing it in POST body instead of Header. I fixed that here: https://github.com/realdoug/omniauth-salesforce/pull/13.

This was not really an issue in my production logs until today, 10/20. With no other oauth changes, we went from 0 errors to 100% failure rate with OAuth connecting. Changing it from POST to Header fixed it. Therefore, I can only think that there is an issue with how POST is processed on the receiving end.
I'm using a ruby gem called omniauth to perform OAuth for my connected app. As a final step after completing authentication, omniauth performs a POST to the "identity URL", e.g. POST https://test.salesforce.com/id/<org id>/<user id>?oauth_token=<oauth token>.  It's on this final POST that we're seeing a failure for one of our customers; The response body simply says "Missing_Oauth_Token".  We haven't seen this issue with any other customer.

After some digging in, I found that the same identity request works when using a GET request or when providing the OAuth token in the request header.  It only fails with a POST.  This customer is on cs18, so there could be in issue with that instance; However, we've had other customers connect to cs18 without problems.  Additionally, this same customer is able to connect to his production instance without issue.

Please help!