すべてが正常に機能し、Omniauthは突然機能しなくなりました。コードを変更しませんでした。
Twitterアプリの設定を確認しました。メインのプロダクションURLへのコールバックURLと、NoにロックされたコールバックURLがあります。すべてのキーが正しいです。
何か案が? ????
OAuth :: Unauthorized
403禁止します
私はこのURLを追加して(開発用にも)解決できました:
本番用:
https://mydomain/users/auth/Twitter/callback
http://mydomain/users/auth/Twitter/callback
開発用:
http://localhost:3000/users/auth/Twitter/callback
TwitterのコールバックURLで、2つのコールバックURLを追加する必要があり、コールバックURLはアプリケーションのパスでなければなりません。
私は同じ問題に直面していましたが、2番目のコールバックURLを追加すると、修正されました。
https:// mysitecom/auth/Twitter/callback に2番目のコールバックURLを追加すると、問題が修正されました(今のところ)
———-
更新:これは実際に約10分間問題を解決しました。同じ問題を今すぐ体験する
私は本番ではなく開発に取り組んでおり、omniauthおよびomniauth-Twitter gemを使用してこの問題に遭遇しました。しかし、これらの2つのコールバックURLの場合:
http://127.0.0.1:3000
http://localhost:3000/auth/Twitter/callback
問題は回避されます。奇妙なことに、RailsAppsチュートリアルではTwitterで「localhost」を使用することに対して警告しているためです。
https://domain/oauths/callback
コールバックURLリスト。コールバックロックオプションを有効にしてください。
Unicodeドメイン名。 Twitterでエラーが発生します:サポートされないドメイン名形式です。私のサーバーで送信するコールバックURLとTwitterアプリでコールバックURLを正確に一致させる必要があります。解決策:config/initialization/Twitter.rb
OmniAuth::Strategies::Twitter.class_eval do
def callback_url
return my_custom_Twitter_app_callback_url_string_variable
end
end
これはほぼ確実にこの変更に関連しています: アクションが必要-Twitterユーザーでサインインするには、コールバックURLをホワイトリストに登録する必要があります 。
リンクから:
30日以内に、ホワイトリストに追加されていないURLが失敗するように、ホワイトリストの適用を開始します。これは、oauth/request_tokenエンドポイント112への呼び出しでプログラムでURLをオーバーライドできないことを意味します。提供されるcallback_urlパラメーターは、ホワイトリストに登録されたコールバックURLのいずれかと一致する必要があります。通常、このような変更については30日以上前に通知しますが、このタイムラインにより、開発者とユーザーに安全で安心な体験を提供し続けることができます。
Apps.Twitter.com 488のアプリケーション設定ページで、コールバックURLをホワイトリストに追加できます。
ホワイトリストに登録したURLのみが受け入れられることをテストするには、「コールバックロックを有効にする」設定を有効にします。コールバックURLは自動的にロックされ、ホワイトリストは6月12日に施行されます。 「コールバックロックを有効にする」設定はこの日に削除されます。
これを127.0.0.1
を使用した開発で動作させることができなかったため、127.0.0.1
(たとえば、dev.example.com
)を指すDNS A
レコードを作成し、 https://apps.Twitter.com のコールバックURL設定。