hello-world.jp.net
webエンジニアのメモ。とりあえずやってみる。

[ruby]OmniAuth利用時に Authentication failure! timeout: Net::OpenTimeout, execution expired が発生

公開日時

OmniAuthを使ったTwitter認証機能を試していた際に、

外で作業していた時は問題なくログインできていたのですが、家に戻ってから試すと

Authentication failure! timeout: Net::OpenTimeout, execution expired

のエラーが発生する現象に遭遇しました。

調べてみると、過去に HerokuからTwitterのAPIにアクセス出来ない問題 というのがあったりしていたようで、「まさかTwitterからIPから制限がかかってしまったのか」と思ったのですがローカル環境の仮想マシンだしなぁ... と思って仮想マシンを調べていたら、resolv.confが外出先のDNS情報のままで更新されていませんでした。

DHCPの場合、OS起動時に自動更新されるようですが、Macをスリープ状態にしてネットワーク環境を変えたので仮想マシンのネットワーク情報がうまく更新されなかった模様。

仮想マシンを再起動したらresolv.confが正しく更新され、無事にログインできました。

チョット焦りました。

参考


Related #OmniAuth

[rails]omniauth-twitterで大きいサイズ(bigger)のプロフィール画像を取得する

ruby2.1, rails4.1.1で確認 omniauth-twitterを使ってtwitter認証を行った際にプロフィール画像を取得したかったのですが、デフォルト設定だと、`auth['info']['image']` に入ってくる画像URLの画像サイズが小さいので、大きい画像を取得するようにしました。

[rails]omniauth-google-oauth2を使ってGoogleアカウント認証をやってみる

これまでomniauthを使ったtwitter認証やfacebook認証は何度かやったことがあったのですが、Google認証はやってなかったので、「 omniauth-google-oauth2」を使ってGoogleアカウント認証をやってみました。

OmniAuthで認証した後に、tweetしたりfollowしたりする

昨日、 RailsでOmniauthを使ってTwitterログインする方法をまとめました。

RailsでOmniauthを使ってTwitterログインする

Ruby2.0, Rails4で確認