Im working with OAuth 0.3.6 and the linkedin gem for a Rails application and I have this issue where OAuth throws an error saying that OAuth::Problem (parameter_absent). The thing is it doesn'开发者_高级运维t throw the error on every occasion its called and the problem is I am unable to reproduce the issue locally to test it.
The documentation says that :
[parameter_absent: a required parameter wasn't received. In this case, the response SHOULD also contain an oauth_parameters_absent parameter. ]
but the request is generated the same way each time to obtain the tokens so I fail to understand why this happens.
Log
OAuth::Problem (parameter_absent):
oauth (0.3.6) lib/oauth/consumer.rb:167:in `request'
oauth (0.3.6) lib/oauth/consumer.rb:183:in `token_request'
oauth (0.3.6) lib/oauth/tokens/request_token.rb:18:in `get_access_token'
linkedin (0.1.7) lib/linked_in/client.rb:35:in `authorize_from_request'
app/controllers/users_controller.rb:413:in `linkedin_save'
I have seen a few people facing this issue but I am yet to figure out a way to resolve this. Would appreciate some help on this.
The parameter_absent error means that you are not sending all of the required OAuth parameters to the endpoint. For the request token endpoint you need to insure that all of these parameters are present:
- oauth_consumer_key
- oauth_signature_method
- oauth_signature
- oauth_timestamp
- oauth_nonce
For the accessToken endpoint the following parameters are required:
- oauth_consumer_key
- oauth_signature
- oauth_signature_method
- oauth_token
- oauth_timestamp
- oauth_verifier
I has similar problem and was wondering what is wrong. Finally got to know that I forgot to set the Environment variable on the production server that was serving the keys/secrets.
Not sure that this is the same case with you, I would recommend you to check the env vars if you are using them.
精彩评论