Twitter OAuth 2.0 エラー プロンプト「渡されたトークン値が無効です」
P粉865900994
P粉865900994 2023-12-16 14:06:37
0
1
737

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

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

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

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

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

リーリー

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

リーリー

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

リーリー

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

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

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

何が

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

P粉865900994
P粉865900994

全員に返信(1)
P粉155710425

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

古くて使い古された:

リーリー

新しいホットスポット:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート