質問編集履歴

6

編集。

2019/11/29 09:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,30 +1,6 @@
1
1
  CognitoのユーザープールにSignUpしているユーザーに対して、Facebookなどのidp認証を紐づけることは可能でしょうか?
2
2
 
3
- 実現したいことは下記です。
4
-
5
- - ユーザープールにユーザーAを電話番号でSignUpさせる(その後CONFIRMED状態になっているとします)
6
-
7
- - ユーザーAはFacebook認証を行い、その後はFacebookへ投稿、Facebookを用いたログインが行える
8
-
9
-
10
-
11
- Facebook認証的なボタンをマイページなどに設置し、クリックするとアカウントとFacebookが紐づくようなイメージです。
12
-
13
-
14
-
15
- 今の所はFacebookによるOAuth認証までは終えていて、その後帰ってきたトークンをどのようにCognitoへ登録すれば良いのかわからずです・・。
16
-
17
-
18
-
19
- federatedSignIn関数を用いて認証を行おうとしましたが既に登録されているメールアドレス的なエラーになってしまいます...。根本的に考え方間違っていますかね...
20
-
21
-
22
-
23
- 何か方法はありますでしょうか。ご教授のほどお願い申し上げます。
24
-
25
-
26
-
27
- **実現したいことのまとめ**
3
+ **実現したいこと**
28
4
 
29
5
  - ユーザープールへ電話番号認証でサインアップしておく
30
6
 

5

実現したいことのまとめを追記。

2019/11/29 09:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -21,6 +21,16 @@
21
21
 
22
22
 
23
23
  何か方法はありますでしょうか。ご教授のほどお願い申し上げます。
24
+
25
+
26
+
27
+ **実現したいことのまとめ**
28
+
29
+ - ユーザープールへ電話番号認証でサインアップしておく
30
+
31
+ - OAuthでIDPへ認証処理
32
+
33
+ - ログイン済みのユーザーへIDPアカウントを紐付ける(投稿連携、シングルサインオンできるなど)
24
34
 
25
35
 
26
36
 

4

エラー内容を追記。

2019/11/29 08:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  FB.init({
42
42
 
43
- appId: 'XXXXXX', // ToDo: 環境変数などから取得すること
43
+ appId: 'XXXXXX',
44
44
 
45
45
  cookie: true,
46
46
 
@@ -145,3 +145,15 @@
145
145
  }
146
146
 
147
147
  ```
148
+
149
+
150
+
151
+ エラー内容(ブラウザのコンソールログより)
152
+
153
+ ```console
154
+
155
+ AuthClass - There is already a signed in user: {"id":"ap-northeast-1:XXXXX-XXXX-XXXX-XXXX-XXXXX","name":"user name","email":"user@example.com"} in your app.
156
+
157
+ You should not call Auth.federatedSignIn method again as it may cause unexpected behavior.
158
+
159
+ ```

3

エラー個所追記

2019/11/29 07:17

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  };
90
90
 
91
- await Auth.federatedSignIn(
91
+ await Auth.federatedSignIn( // ここが疎通せず、Cognitoへも何も反映されません。この関数は使い方間違っていますでしょうか?
92
92
 
93
93
  "facebook",
94
94
 

2

リライト

2019/11/28 13:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,13 @@
10
10
 
11
11
  Facebook認証的なボタンをマイページなどに設置し、クリックするとアカウントとFacebookが紐づくようなイメージです。
12
12
 
13
+
14
+
15
+ 今の所はFacebookによるOAuth認証までは終えていて、その後帰ってきたトークンをどのようにCognitoへ登録すれば良いのかわからずです・・。
16
+
17
+
18
+
13
- 今の所はFacebookによるOAuth認証までは終えていて、その後帰ってきたトークンをどのようにCognitoへ登録すれば良いのかわからずです・・。federatedSignIn関数を用いて認証を行おうとしましたが既に登録されているメールアドレス的なエラーになってしまいます...。根本的に考え方間違っていますかね...
19
+ federatedSignIn関数を用いて認証を行おうとしましたが既に登録されているメールアドレス的なエラーになってしまいます...。根本的に考え方間違っていますかね...
14
20
 
15
21
 
16
22
 
@@ -18,7 +24,7 @@
18
24
 
19
25
 
20
26
 
21
- FacebookへのOAuth処理
27
+ **FacebookへのOAuth処理**
22
28
 
23
29
  ```javascript
24
30
 
@@ -74,7 +80,7 @@
74
80
 
75
81
  fb.api('/me', {fields: 'name,email'}, async response => {
76
82
 
77
- const user = {
83
+ const user = { // emailとnameは取得できています
78
84
 
79
85
  name: response.name,
80
86
 
@@ -82,23 +88,15 @@
82
88
 
83
89
  };
84
90
 
85
- try {
91
+ await Auth.federatedSignIn(
86
92
 
87
- await Auth.federatedSignIn(
93
+ "facebook",
88
94
 
89
- "facebook",
95
+ {token: accessToken, expires_at},
90
96
 
91
- {token: accessToken, expires_at},
97
+ user
92
98
 
93
- user
94
-
95
- );
99
+ );
96
-
97
- } catch (e) {
98
-
99
- // ToDo: Error case :CognitoのUserPoolへのフェデレーションID登録失敗
100
-
101
- }
102
100
 
103
101
  });
104
102
 

1

まずいコード乗っています!!!

2019/11/28 13:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  FB.init({
36
36
 
37
- appId: '792764777860322', // ToDo: 環境変数などから取得すること
37
+ appId: 'XXXXXX', // ToDo: 環境変数などから取得すること
38
38
 
39
39
  cookie: true,
40
40