OAuth::問題 (parameter_absent)
-
05-10-2019 - |
質問
Rails アプリケーションの OAuth 0.3.6 と linkedin gem を使用していますが、OAuth が OAuth::Problem (parameter_absent) というエラーをスローするという問題が発生しています。問題は、呼び出されるたびにエラーがスローされるわけではなく、問題はローカルで問題を再現してテストできないことです。
ドキュメントには次のように書かれています:
[パラメータ_不在:必須パラメータが受信されませんでした。この場合、応答にはOAUTH_PARAMETERS_ABSENTパラメーターも含める必要があります。】
しかし、リクエストはトークンを取得するために毎回同じ方法で生成されるため、なぜこれが起こるのか理解できません。
ログ
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'
私はこの問題に直面している数人を見てきましたが、私はまだこれを解決する方法を見つけていません。これについて助けていただければ幸いです。
解決
parameter_absent エラーは、必要な OAuth パラメータの一部がエンドポイントに送信されていないことを意味します。リクエスト トークン エンドポイントについては、次のパラメータがすべて存在することを確認する必要があります。
- oauth_consumer_key
- oauth_signature_method
- oauth_signature
- oauth_timestamp
- oauth_nonce
accessToken エンドポイントの場合、次のパラメーターが必要です。
- oauth_consumer_key
- oauth_signature
- oauth_signature_method
- oauth_token
- oauth_timestamp
- oauth_verifier
他のヒント
私も同様の問題を抱えており、何が問題なのか疑問に思っていました。最後に、キー/シークレットを提供している運用サーバーで環境変数を設定するのを忘れていたことがわかりました。
これがあなたと同じケースであるかどうかはわかりませんが、環境変数を使用している場合は、それを確認することをお勧めします。
所属していません StackOverflow