質問

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

他のヒント

私も同様の問題を抱えており、何が問題なのか疑問に思っていました。最後に、キー/シークレットを提供している運用サーバーで環境変数を設定するのを忘れていたことがわかりました。

これがあなたと同じケースであるかどうかはわかりませんが、環境変数を使用している場合は、それを確認することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top