ユーザーがDeviseとOmniauthで認証し、ソーシャルネットワークアカウントをアプリに接続できるようにするアプリケーションに取り組んでいます。Wordpress 統合を追加したかった (彼らの Web サイトには、OAuth 2.0 認証と REST API アクセスをサポートしていると記載されています)。
残念ながら、このプロバイダーには Omniauth 戦略がありませんでした。私は他のいくつかの gem を調べ、自分で作成することにしました - それほど複雑ではないようでした。ソースコードはここにあります。
必要な情報をすべて追加し ( Wordpress docsに従って)、アプリ ID とシークレットにサインアップしました。ここで最初の問題に遭遇しました。Wordpress は、リダイレクト URI としてライブのパブリック ドメインを要求しました。最初に開発モードでテストしたかったので、localhost で十分でした。ダミーのアドレスを入力してから、それを localhost に戻しました (驚いたことに、更新時に検証せず、作成時に検証しませんでした)。
認証情報を初期化子 (config/initializers/devise.rb) に追加しました:
config.omniauth :wordpress, "my_app_id", "my_app_secret"
動作しているように見えました-期待どおりの認証ダイアログが表示され、アプリケーションについて言及されていました。しかし、[承認] をクリックしてアプリケーションにリダイレクトされたときに、無効な資格情報というエラーが表示されました。
資格情報を確認しましたが、正しいものでした (タイプミスなし、適切な順序)。アプリのシークレットをリセットしました - うまくいきません。別の 2 つのアプリケーションを作成しましたが、まだ何もありません。
私はすでにアイデアを使い果たしました。このようなエラーの原因は何ですか? redirect_uri のローカルアドレスが原因である可能性はありますか?