質問編集履歴

1

ALBの設定をするとエラーになり、外すとエラーにはならないがブラウザーアクセスで認証が掛からない状況を追記しました。

2021/11/05 04:15

投稿

query1000
query1000

スコア5

test CHANGED
@@ -1 +1 @@
1
- AWS:Cognito+Google認証でエラー
1
+ 【追記あり】AWS:Cognito+Google認証でエラー
test CHANGED
@@ -1,3 +1,7 @@
1
+ ※11/4に起票した質問ですが、11/5にさらに追記しました。追記部分は【11/5追記】と書いています。よろしくおねがいします。
2
+
3
+
4
+
1
5
  AWSを使ってWebアプリケーションを開発しています。
2
6
 
3
7
  Cognitoを使ってGoogleソーシャルログインを装備しようとしています。
@@ -38,9 +42,11 @@
38
42
 
39
43
  - **アプリクライアントの作成**を行い、アプリクライアントIDを得ました。以下のように設定しました。
40
44
 
41
- シークレットキーなし
45
+ シークレットキーあり
42
46
 
43
47
  SRP認証オフ
48
+
49
+ 【11/5追記】最初は上記のドキュメントにならって「シークレットキーなし」にしていましたが、そうすると後でHTTPSリスナールールの認証に追加できないのでありで再作成しました。
44
50
 
45
51
 
46
52
 
@@ -118,50 +124,44 @@
118
124
 
119
125
 
120
126
 
127
+ ### 【11/4追記】ALBの設定
128
+
129
+ 本来下のUIのテストを行ってから行う作業かと思いますが、ALBのHTTPSのリスナーにルールを追加しました。
130
+
131
+ HTTPS 443:デフォルトアクションに、もともとEC2のターゲットグループへの転送が入っていましたが、そこに「認証」アクションの追加を行いました。
132
+
133
+ - 認証: Amazon Cognito
134
+
135
+ - Cognitoユーザープール:唯一のユーザープール
136
+
137
+ - アプリクライアント:唯一のアプリクライアント
138
+
139
+ - スコープ:openid email profile
140
+
141
+ - 他の項目:デフォルトのまま
142
+
143
+
144
+
145
+
146
+
121
147
  ### テスト
122
148
 
123
149
  - **ホストされたUIを起動**をクリックしました。
124
150
 
125
- GoogleアイコンとともにContinue with Googleボタンが表示されます。
151
+ GoogleアイコンとともにContinue with Googleボタンが表示されますが、ボタンをクリックすると、「An error was encountered with the requested page.」と表示されます
126
152
 
153
+ - URLは「https://example.auth.ap-northeast-1.amazoncognito.com/error?error=redirect_mismatch&client_id=CognitoのクライアントID」です。
154
+
155
+ - 上記の「ALBの設定」で加えたHTTPSのリスナールール「認証」を外すと、Googleアイコンをクリックすると正常にhttps://www.example.comが表示されました。
156
+
157
+ - しかし、この状態では、ブラウザーからhttps://www.example.comにアクセスすると、当然ながらWebが正常に表示されます。
158
+
127
- この時点のURLは以下通りです
159
+ - この時点で、上記「ALB設定」のようにリスナールール「認証」をつけてみました
160
+
161
+ - その状態で、https://www.example.comにアクセスすると、上記と同様のエラーになります。
128
162
 
129
163
 
130
164
 
131
- > https://example.auth.ap-northeast-1.amazoncognito.com/login?client_id=CognitoのクライアントID&response_type=code&scope=email+openid+profile&redirect_uri=https://www.example.biz
165
+ ### 質問
132
166
 
133
-
134
-
135
- ボタンをクリックすると、「An error was encountered with the requested page.」と表示されます。
136
-
137
-
138
-
139
- この時点のURLは以下の通りです。
140
-
141
-
142
-
143
- > https://example.auth.ap-northeast-1.amazoncognito.com/oauth2/authorize?client_id=CognitoのクライアントIDでも、GCPのクライアントIDでもない値&redirect_uri=https%3A%2F%2Fwww.example.com%2Foauth2%2Fidpresponse&response_type=code&scope=openid&state=278文字の英数字
144
-
145
-
146
-
147
- ドキュメントには、以下のようにテスト用URLを構築するように書かれていますので、そっちも試してみました。
148
-
149
-
150
-
151
- > https://example.auth.ap-northeast-1.amazoncognito.com/login?response_type=token&client_id=CognitoのクライアントID&redirect_uri=https://www.example.com
152
-
153
-
154
-
155
- 結果は同じエラーが表示されました。
156
-
157
- この時点のURLは以下の通りです。
158
-
159
-
160
-
161
- > https://example.auth.ap-northeast-1.amazoncognito.com/oauth2/authorize?client_id=CognitoのクライアントIDでも、GCPのクライアントIDでもない値(さきほどと同じ値)&redirect_uri=https%3A%2F%2Fwww.example.com%2Foauth2%2Fidpresponse&response_type=code&scope=openid&state=2542文字の英数字&expires_in=3600&token_type=Bearer
162
-
163
-
164
-
165
- 約1日いろいろなブログを見て試してみたのですが、どれもうまくいかずヘトヘトです。。
166
-
167
- どうぞお助けください。
167
+ 上記の状態をフィックスして、https://www.example.comにアクセスすると、Google認証が行われ、Webサイトにアクセスが正常に進むようにするには、どうしたらいいでしょうか。