Cloud Firestoreを使ってユーザー登録を行いたいです。
ドキュメントを読んでるのですがそもそもユーザー登録処理自体よくわかっていないです。
それっぽい記事をもとに下記の処理を書いてみたのですが
- 会員登録ではなく、ログインっぽい
- Authenticationにデータが登録されてしまう
ので困っています。
まずはGoogleアカウントで認証→成功するとusersコレクションのドキュメント→フィールドにname, passwordを登録したいです。
どうやればGoogleアカウントの認証成功時にusrsコレクションに必要なデータを登録できるのでしょうか・・・?
(認証成功時にグーグル側からデータを取得→登録できるのでしょうか?それともFirebaseのAuthenticationからデータを取得→登録するのでしょうか??)
Firebaseに詳しい方よろしくお願いします。
import UIKit import Firebase import FirebaseUI class ViewController: UIViewController,FUIAuthDelegate { @IBOutlet weak var authButton: UIButton! var authUI: FUIAuth { get { return FUIAuth.defaultAuthUI()!}} // 認証に使用するプロバイダの選択 let providers: [FUIAuthProvider] = [ FUIGoogleAuth(), ] override func viewDidLoad() { super.viewDidLoad() // authUIのデリゲート self.authUI.delegate = self self.authUI.providers = providers authButton.addTarget(self,action: #selector(self.authButtonTapped(sender:)),for: .touchUpInside) } @objc func authButtonTapped(sender : AnyObject) { // FirebaseUIのViewの取得 let authViewController = self.authUI.authViewController() // FirebaseUIのViewの表示 self.present(authViewController, animated: true, completion: nil) } // 認証画面から離れたときに呼ばれる(キャンセルボタン押下含む) public func authUI(_ authUI: FUIAuth, didSignInWith user: User?, error: Error?){ // 認証に成功した場合 if error == nil { self.performSegue(withIdentifier: "toNextView", sender: nil) } else { //失敗した場合 print("error") } } }
回答1件
あなたの回答
tips
プレビュー