Google認証をしたいのですが…うまくいかず。

2016年12月26日 at 21:58

はじめまして。

社内イントラのサイトを作ってみたいのですが、社でG Suite(旧Google Apps)を利用していることから、Googleアカウントでログインさせるような仕組みがあれば素晴らしいと思っていたところに、Google認証の機能があるconcrete5の存在を数日前に知り、触り始めました。

サーバはGoogle Compute Engine上に立てています。(Cloud Lancherを使って数分で立ち上がりました)
なので、認証する側もされる側もGoogleの基盤上という環境となります。
ver. 5.7.5.9です。

こちらのサイトを見ながら、Googleのプロジェクト上にクライアントIDやシークレットIDなどの認証情報を登録し、また、concrete5の管理画面においてもGoogle認証タイプをセットしました。

ログインしようとすると、たしかにこちらのようなGoogleログインの画面は出るのですが、ボタンを押すとOAuthの連携画面が出る前に400エラーで跳ね返されてしまいます。

エラー画面に書かれているのは以下のような内容です。

400. That’s an error.

Error: redirect_uri_mismatch

The redirect URI in the request,http://mydomain(実際のドメイン名)/index.php/ccm/system/authentication/oauth2/google/callback, does not match the ones authorized for the OAuth client. Visithttp://console.developers.google.com/apis/credentials/oauthclient/clientID(実際のID).apps.googleusercontent.com?project=(実際のID) to update the authorized redirect URIs.

何をチェックすれば良いのかわからず、手詰まりの状態です。
有識者の方に助けていただけるとありがたいです。
よろしくお願いします。

タグ:

Re: Google認証をしたいのですが…うまくいかず。

2016年12月26日 at 22:52
concrete5の管理画面からプリティURLを有効にしてみてください
 

Re: Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 11:21
早速、返信ありがとうございます!

プリティURLを有効にし、.htaccessファイルをアップロードしてみたのですが、今度はログイン画面すら出ず、404エラーになってしまいました。

The requested URL /login was not found on this server.

と出力されています。
.htaccessファイルの置き場所が悪いのでしょうか?…
 

Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 11:36
nginxとか?
 

Re: Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 11:38
いや、Apacheですね。
 

Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 16:46
mod_rewrite は apache に入っていますか?
 

Re: Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 19:33
助け舟、ありがとうございます。

httpd.confに
LoadModule rewrite_module modules/mod_rewrite.so
…の行があれば良いのでしょうか?(初歩的な質問ですみません!)

それであれば有効になっています。
 

Re: Re: Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 20:15
concrete5のディレクトリの中にあったhttpd-app.confで、.htaccessファイルを置いたディレクトリの設定が
AllowOverride None
…となっていたので、
AllowOverride All
…に書き直してサービスを再起動してみたところ、ログイン画面が復活しました。
プリティURLも効いているようです。

ただ、Googleのアイコンを押すと当スレッドの最初と同じエラーメッセージ(index.phpが無いだけ)になりました。
振り出し…という感じでしょうか。
 

Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 20:17
私のブログ記事を見て設定されたようなので、index.phpがない(プリティURLが有効)状態なので、そのせいかなと思ったのですが、どうやら違うようですね。いずれにしても、Googleの方に設定したコールバックURLが、concrete5から申告されたコールバックURLと異なることが原因ですので、その辺りをチェックしていただければと。。。
 

Re: Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 20:19
ありがとうございます。
「concrete5から申告されたコールバックURL」←これはどうやって調べれば良いのでしょうか??
 

Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 20:25
https://www.example.com/ccm/system/authentication/oauth2/google/callback

です。(ドメインは変えてください)
 

Re: Re: Google認証をしたいのですが…うまくいかず。

2016年12月27日 at 21:00
解決しました!

Google側の設定で「ドメインの確認」がうまく通っていなかっただけのようでした。
特定のG Suiteドメインからのみしかログインできないようにもできましたし、素晴らしいですね。

ありがとうございました!