1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【LINE/Kakaoログイン編(Firebaseカスタムログイン)】Flutter と Firebaseで開発者一人でマッチングアプリを開発する

Last updated at Posted at 2021-06-13

こんにちわ、語学マッチングアプリ『CROSSER』の開発者です:relaxed:
この『CROSSER』なのですが、FlutterとFirebaseを用いて開発しております。
今回は、CROSSERのログイン機能をどのように開発したのかを書いていきますので、是非参考にしてみて下さい!:clap:

#はじめに
語学マッチングアプリ『CROSSER』の概要についてはこちらを参照ください!

#『CROSSER』のログイン方法
以下の6つのログイン方法があります。

  • 電話番号
  • Facebook
  • Apple
  • LINE
  • Kakao
  • 電話番号/Facebook/Apple/LINE/Kakao + G-mail連携ログイン

#今回書くもの
今回はFirebaseを用いてLINE/Kakaoログインを行う方法を書きたいと思います。
というのは、電話番号/Facebook/AppleログインはFirebaseに標準サポートとなっているため、
他の方の記事で十分参考になると思います:thumbsup:
しかし、LINE/KakaoログインはFirebaseのサポート対象外となっており、少し実装が変わります。
これらを実装するに当たり、自分自身が苦戦したので、今回はLINE/Kakaoログインについて取り上げたいと思います。

#使ったもの
Firebase Authでサポートされていないログイン方法でログインする方法として、
customログインという方法があります。
こちらを利用することでLINE/Kakaoログインのが可能となります。:clap:
Cloud Functionが登場する理由は後述します。

  • Firebase Auth customログイン
  • Firebase Cloud Function
  • flutter_line_sdk
  • flutter_kakao_login

こちらにSDKのリンクを貼っておきます。
https://pub.dev/packages/flutter_line_sdk
https://pub.dev/packages/flutter_kakao_login

#どう実装するのか?
①ユーザーにLINE/Kakaoログイン画面または認証許可画面を表示する。
②ユーザーが認証許可する。
③LINE/Kakaoサーバーからトークンが発行される。
④発行されたトークンでFirebaseのカスタムトークンを発行する。
⑤発行したカスタムトークンでcustomログインを行う。

これだけです!:clap:
この④のカスタムトークン発行なのですが、こちらは自前のサーバーで行う必要があります。
そのため、今回、Firebase Cloud Functionを利用して実装を行いました。
実装の詳細については後日、記載していこうと思います。

#まとめ

  • Firebase Authのcustomログインを使用すると非対応のサードパーティログインでもログイン可能!
  • カスタムトークン発行は自前サーバーを用意する必要がある。

語学マッチングアプリ『CROSSER』もよろしくお願いします。:two_hearts:
評価もいただけると嬉しいです!
iOS/Androidモバイル対応
https://instabio.cc/crosser

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?