1

私はomniauthを使用しており、open_id戦略を使用してgoogleとyahooにログインしています。サイトでSSLを有効にするまで、これは正常に機能していました。いくつかの問題がありました。最初に、生成されているURLはまだhttpsではなくhttpを指しています。他の投稿のモンキーパッチを使用して修正しました( SSLモードでnginxの背後で実行するとGoogleのOmniauthとopen_idが壊れ、Apacheの背後にあるRailsアプリのOpenID

今ではURLは問題ないように見えますが、今では常に無効なクレデンシャルの失敗が発生します。私はnginxとunicornを使用しており、EC2でホスティングしています。ユニコーンのログにこれが表示されます。

(google) Request phase initiated.
WARNING: making https request to https://www.google.com/accounts/o8/id without verifying server certificate; no CA path was specified.
Generated checkid_setup request to https://www.google.com/accounts/o8/ud with assocication ...
(google) Callback phase initiated.
(google) Authentication failure! invalid_credentials encountered.

*上記の関連付けを削除したのは、それが秘密鍵か何かかわからなかったためです。

また、コールバック「/ auth / google/callback」へのグーグル投稿が表示されます。

最後に、サーバー証明書を確認せずに要求を行うことに関する警告について、別の投稿でこれを追加する必要があることを確認しました。

require "openid/fetchers"
OpenID.fetcher.ca_file = "/etc/ssl/certs/ca-certificates.crt"

これを実行すると、メッセージは消えますが、問題は解決しません。代わりに、これをSSL証明書にポイントする必要がありますか?

何が起こっているのか混乱していて、問題を特定するための適切なログ出力が見つからない...

4

0 に答える 0