LoginSignup
1
0

More than 1 year has passed since last update.

Twitter loginをlocalhost:3000(safari)でpreflight is not success等が表示された時の対処法

Last updated at Posted at 2020-04-08

はじめに

(*注意:この記事は学習の一環として実装した物の一部を記事にしています。本記事には正しくない情報、方法を含んでいる可能性があります。)

概要

どうも、Ruby on Rails を使って勉強をしているモノです。
現在、ポートフォリオ、自作webサービスを作っております。

Omniauth-twitterを使ってTwitter login機能を実装してます。localhost:3000(safari)からTwitter APIへアクセス, Twitterからのcallbackを行う際のsafariのLogのエラーが表示されました。

twitter omniauthを利用してappを作成する際
website URLはherokuにしているのでlocalhost:3000CORS制限(TwitterにUser情報をアクセスする際の制限)がかかっているのかと思っておりました。

解決する為にCORS用のコードが必要なのかと調べて数日費やしましたが、一瞬でsafariのブラウザの環境設定で解決することができたので書いておきます。

開発環境

  • Ruby on Rails
  • safari(localhost:3000)
  • Twitter API(twitter login機能)
  • devise

{Twitter API,CORSについては省略します。}

解決方法

解決方法はいたって簡単です。
localhost:3000(safari)もしくはsafariブラウザ上のメニュー

  1. safari環境設定をクリック
  2. 詳細クリックして[メニューバーに"開発"メニューを表示"]にチェックマークを入れる。
  3. チェックマークを入れるとsafariメニューに開発タグは増える
  4. 開発メニューをクリック
  5. 開発タグのの[クロスオリジンの制限を無効にする]をクリック

これで再度、localhost:300(safari)を起動してlogを確認すると先ほどのエラーログが消えてると思います。

参考URL

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0