質問: ### 前提・実現したいこと Google App Engine(GAE)を利用して、社内システムを構築する際に ログインは社員のみ(G Suiteに登録されているアカウント)可能ログイン認証機能の構築 ・CMSを構築し社員のみ更新ができるようにしたい。 ・G Suiteビジネスプラン導入済み ・ログイン認証をgoogleアカウントで行う。 ### 発生している問題・エラーメッセージ Error: redirect_uri_mismatch The JavaScript origin in the request, http://localhost:8080, does not match the ones authorized for the OAuth client. Visit 上記エラーは解決したが一番重要な社員のみ(G Suiteに登録されているアカウント)可能な ログイン認証機能が誰でもログインできてしまう状況。 ### 試したこと 以下は設定済み(GCP) ・クライアント ID ・クライアント シークレット ・承認済みのリダイレクト URI ・承認済みの JavaScript 生成元(こちらの設定が不備のため、redirect_uri_mismatchが発生していた) 以下は設定済み(GAE) Google 認証 ・Google Appsドメイン ・独自ドメインを設定 -- 追記 app.yamlにlogin: requiredの設定でできるようなの以下のように設定した状態で アクセスしてもページが開いてしまう。 参考までに以下は設定した情報です。 ・公開 https://xxxxx.jp ・非公開(ログイン認証後社内のみ) https://xxxxx.jp/admin 設定した状態でアクセスしてもページが開いてしまう。 例:Google 認証 Google Apps ドメイン xxxxx.jp 例:app.yamlの設定 application: app version: 1 runtime: go api_version: go1.8 default_expiration: "1d" handlers: * url: /.* script: _go_app secure: always * url: /admin/.* ・・・仮のパスです。 script: _go_app login: required secure: always nobuild_files: vendor/ Google Sign-Inを利用すればできるということで参考に。 https://cloud.google.com/appengine/docs/standard/python/oauth/?hl=ja 以下を参考に構築しているのですが、 https://developers.google.com/identity/sign-in/web/sign-in?hl=ja#before_you_begin
回答: ハンドラ記載の順番では? 以下のように、単に入れ替えれば機能するはずです。 ``` handlers: url: /admin/.* ・・・仮のパスです。 script: _go_app login: required secure: always url: /.* script: _go_app secure: always ```