teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

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

2016/09/29 14:24

投稿

kanemotos
kanemotos

スコア163

answer CHANGED
@@ -2,7 +2,22 @@
2
2
  同じ悩みを解決できたので、共有いたします。
3
3
 
4
4
 
5
+ ```swift
6
+ if let facebookUid = FIRAuth.auth()?.currentUser?.providerData
7
+ .filter({ (userInfo: FIRUserInfo) in return userInfo.providerID == FIRFacebookAuthProviderID})
8
+ .map({ (userInfo: FIRUserInfo) in return userInfo.uid})
9
+ .first {
10
+ print ("\(facebookUid)")
11
+ }
12
+ ```
13
+
14
+ providerDataでFIRUserInfoの配列で取得できるので、その中にあるproviderIDが"facebook.com"(FIRFacebookAuthProviderID)である物を絞りました。
15
+ FIRUserInfoのuidにFacebookのIDが入っていました(^o^)
16
+  
17
+
18
+ ===以下、最初の回答===
19
+
5
- Firebase Auhtでは、facebook以外にもtwitterなどのSNS認証や、メールアドレスでも認証可能になっています。
20
+ Firebase Authでは、facebook以外にもtwitterなどのSNS認証や、メールアドレスでも認証可能になっています。
6
21
  なので、FIRAuthで取得できるuidは、Firebaseで採番しているユーザーIDとなります。
7
22
  (このIDはFirebaseのAuthのコンソールで確認できるユーザーUIDです。)
8
23