withアプリーチFirebaseの概要や登録方法については下記記事を参考にしてください。Authenticationとは簡単にログイン機能を実装することができるFirebaseのサービスです。ちなみにAuthenticationとは「認証」という意味です。ログインするためのユーザー情報は基本的なメールアドレスとパスワードを使用した方法だけでなく、電話番号やGoogle、Twitter、GitHub、Facebookなどさまざまなアカウントとの連携が可能になっています。無料プランでは1日のアクティブユーザーが3000人までに制限され、従量課金制プランでは月間50000人を超えた分だけ課金されていきます。Authenticationにはログイン機能に必要な機能が色々実装されています。別アカウントの紐付けユーザー情報の変更また今回は解説しませんが、FirebaseUIを使用してログインUIを迅速に構築することも可能になっています。初期化コードの組み込み完了ここでは通常の「Firebaseプロジェクトを作成」や「iOSアプリの登録」の手順は割愛しています。詳細は以下の記事を参考にしてください。【Swift/Xcode】Firebaseの導入方法!iOSアプリでの使い方ログインする方法を選択Firebaseプロジェクトを作成したら、プロジェクト内からAuthenticationを開始していきます。「始める」をクリックすると以下のような画面になります。ここでログインする方法を選択して追加します。あるメールアドレスとパスワードの組み合わせ以外にもGoogleやTwitterなどが用意されています。方法を選択し、「有効にする」をクリックします。今回は「メールアドレス/パスワード」のみにしていきます。Appleでログインを実装する方法ここまできたらプロジェクトにiOSアプリを登録していきます。ダウンロード」をクリックし、ダウンロードした「GoogleService-Info.plist」をドラッグ&ドロップでアプリに入れ込みます。groups」にチェックを入れて「Finish」をクリックします。SDK」を導入していきます。installを実行します。UI】CocoaPodsのインストール方法と使い方!最後にアプリのエントリポイント部分に初期化のためのコードを記述していきます。}}これで指定のiOSアプリからAuthenticationを使用できるようにすることができました。UIを用いてログイン機能を実装してみます。前提知識:Authenticationを使用するSwift内でAuthenticationを操作するためにはFirebaseAuthの読み込みが必要です。必須また認証機能やユーザー情報などを操作するためにAuth.auth()を使ってシングルトンのインスタンスにアクセスします。Auth.auth()基本的にそのインスタンスに対して操作をしていきます。新規登録に必要なユーザーの情報は「名前」、「メールアドレス」、「パスワード」の3つです。UI部分を実装します。FirebaseAuthの読み込みを忘れずに記述して、各項目用のTextFieldと登録処理を実装するボタンを配置します。}}Authenticationを使った登録処理はボタンのアクション内に記述します。コードを1行ずつ見ていきます。}}パスワードの入力ボックスは以下のように表示/非表示を切り替えられるようにしておくことも可能です。UI】パスワード仕様のTextFieldであるSecureFieldで入力ボックスを作る方法!createUserメソッドユーザーを作成する処理はcreateUserメソッドを使用します。引数には登録するメールアドレスとパスワードを渡します。メールアドレスとパスワードを検証後、登録処理の結果がコールバッククロージャーとして受け取れます。}}resultの中にuserが格納されていれば登録は成功です。ここではさらにユーザー情報を編集(名前の追加)していきます。createProfileChangeRequestメソッドユーザー情報を編集するにはまずcreateProfileChangeRequestメソッドを使用してリクエストを作成します。ユーザー変更リクエストが返るのでそのプロパティに名前やプロフィール写真のURLなどを指定することができます。これだけではまだリクエストを作成しただけなのでcommitChangesメソッドを使用して実際にリクエストを反映させる必要があります。}}リクエスト反映に異常がなければユーザーに対してアドレス確認メールを送信します。sendEmailVerificationメソッドアドレス確認メールはsendEmailVerificationメソッドを使用します。実行すると指定したユーザー情報のメールアドレスに対して確認メールが送信されます。}}送信されるメールのテンプレートはFirebaseコンソールの「Authentication」>「メールテンプレート」からカスタマイズすることができます。デフォルトの言語も英語になっているので日本語に変更しておきましょう。Gmailにメールが届かない?メールを送信すると以下のような確認メールが対象アドレスに送信されます。テストで自身のGmailアドレスに送信したところメールボックスの中に届かない問題が発生しました。探してみると「迷惑メールフォルダ」の中に格納されていたので、Gmailを使用されている場合は注意が必要かもしれません。これで一連のユーザー登録処理が完了しました。Firebaseコンソールの「Authentication」から登録されているユーザーが確認できます。続いて登録されたユーザー情報をもとにログインできる機能を実装していきます。必要となるUIを配置します。}}signInメソッド指定したユーザー情報でログインするにはsignInメソッドを使用します。引数に認証対象のメールアドレスとパスワードを渡します。resultの中にユーザーが格納されていればログイン成功です。print("ログインしました。}}3.パスワードリセット画面の実装ログイン画面と新規登録画面の他にパスワードを忘れた時の救済措置としてパスワードリセット機能を組み込んでおきます。}}sendPasswordResetメソッドAuthではsendPasswordResetメソッドとしてあらかじめ用意されており、実行すると指定したメールアドレスにリセットメールが送信されます。...}これでログイン認証機能を実装することができました。ログイン中のユーザー情報を取得する現在ログインしているユーザー情報はcurrentUserプロパティからFIRUserインスタンスを取得しその各プロパティからアクセスできます。user.photoURLログアウト方法:signOutメソッドログアウトするにはsignOutメソッドを使用します。signOutError)}退会方法:deleteメソッドユーザーが退会するためにはログインしているFIRUserインスタンスを取得しdeleteメソッドを実行します。}}退会処理やメインのメールアドレスやパスワードの変更などを行う際はログインから時間が経過するしている場合は再認証を行わないと実行できません。ユーザーの再認証:reauthenticateメソッドユーザーを再認証するにはreauthenticateメソッドを実行します。引数には以下のようにクレデンシャル情報を渡します。クレデンシャルとは認証時に用いられる情報の総称です。UI/Firebase】AuthenticationでGoogleアカウントでログインを実装する方法!まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。ご覧いただきありがとうございました。友達や家族の誕生日を登録しておくと当日に通知が届きお知らせしてくれるiOSアプリです。貸し借り管理アプリお金の貸し借りを管理するためのアプリです。貸借の色が分かれているので識別しやすく、使いやすさを求めてできるだけシンプルなUIにしています。カシホン人に貸すことが多く、誰に貸したか忘れがちな本の貸し借りを記録できるアプリです。