回答編集履歴

1

別の方法で出来たので修正

2016/09/29 14:24

投稿

kanemotos
kanemotos

スコア163

test CHANGED
@@ -6,7 +6,37 @@
6
6
 
7
7
 
8
8
 
9
+ ```swift
10
+
11
+ if let facebookUid = FIRAuth.auth()?.currentUser?.providerData
12
+
13
+ .filter({ (userInfo: FIRUserInfo) in return userInfo.providerID == FIRFacebookAuthProviderID})
14
+
15
+ .map({ (userInfo: FIRUserInfo) in return userInfo.uid})
16
+
17
+ .first {
18
+
19
+ print ("\(facebookUid)")
20
+
21
+ }
22
+
23
+ ```
24
+
25
+
26
+
27
+ providerDataでFIRUserInfoの配列で取得できるので、その中にあるproviderIDが"facebook.com"(FIRFacebookAuthProviderID)である物を絞りました。
28
+
29
+ FIRUserInfoのuidにFacebookのIDが入っていました(^o^)
30
+
31
+  
32
+
33
+
34
+
35
+ ===以下、最初の回答===
36
+
37
+
38
+
9
- Firebase Auhtでは、facebook以外にもtwitterなどのSNS認証や、メールアドレスでも認証可能になっています。
39
+ Firebase Authでは、facebook以外にもtwitterなどのSNS認証や、メールアドレスでも認証可能になっています。
10
40
 
11
41
  なので、FIRAuthで取得できるuidは、Firebaseで採番しているユーザーIDとなります。
12
42