ホームページ  >  に質問  >  本文

Twitter OAuth 2.0 エラー プロンプト「渡されたトークン値が無効です」

編集: ソリューションを表示します。問題は、Twitter ライブラリのインスタンス化方法にあります。

OAuth2 を使用して Twitter 認証を取得しようとしています。単純なテスト スクリプトでは動作させることができますが、WordPress プラグインで使用しようとすると動作しません。

私は PHP リーグの OAuth2 クライアントを、Twitter に接続するために作成したライブラリとともに使用しています。テスト スクリプトは Readme ファイルにあります。

テスト スクリプトは OAuth2 状態を $_SESSION に保存しますが、実際のアプリケーションはそれを WordPress 一時ファイルに保存します。パイプ経由でデータの整合性を確認しました:

認証 URL 生成後の Twitter ライブラリからのデータ:

リーリー

コールバック中に WordPress 一時的なデータから抽出されたデータ (少し異なる方法で保存):

リーリー

Twitter トークン エンドポイントからオブジェクトをリクエストします:

リーリー

上記のリクエストのテキスト:

リーリー ###間違い:### リーリー

ここで何か愚かなことを見逃していることはわかっています。しかし、

何が

なのかは一生わかりません。実際のアプリケーションにはテスト スクリプトよりもはるかに多くのコードがありますが、Twitter に送信する前を含め、スタック内の複数のポイントでデータを検証しました。他にテストする必要があるものはありますか、それとも何か忘れているものはありますか?

P粉865900994P粉865900994282日前692

全員に返信(1)返信します

  • P粉155710425

    P粉1557104252023-12-17 00:47:56

    間違いが見つかりました。テスト スクリプトでは、redirectUri が OAuth2 クライアントのコンストラクターに渡され、アプリケーションでは、getAuthorizationUrl 関数に渡されます。これは Twitter への最初の呼び出しでは機能しますが、(当然のことながら) getAccessToken 呼び出しにもそのデータが必要です。それで、これが修正です。

    古くて使い古された:

    リーリー

    新しいホットスポット:

    リーリー

    返事
    0
  • キャンセル返事