質問編集履歴
6
編集。
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
実現したいことのまとめを追記。
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
エラー内容を追記。
test
CHANGED
File without changes
|
test
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
FB.init({
|
42
42
|
|
43
|
-
appId: 'XXXXXX',
|
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
エラー個所追記
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
リライト
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
|
-
|
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
|
-
tr
|
91
|
+
await Auth.federatedSignIn(
|
86
92
|
|
87
|
-
|
93
|
+
"facebook",
|
88
94
|
|
89
|
-
|
95
|
+
{token: accessToken, expires_at},
|
90
96
|
|
91
|
-
|
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
まずいコード乗っています!!!
test
CHANGED
File without changes
|
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
FB.init({
|
36
36
|
|
37
|
-
appId: '
|
37
|
+
appId: 'XXXXXX', // ToDo: 環境変数などから取得すること
|
38
38
|
|
39
39
|
cookie: true,
|
40
40
|
|