LoginSignup
0
0

Form認証とIDaaS(ソーシャルログイン)認証の、基礎的な仕組みの比較

Posted at

年末年始にFirebaseを初めて使って、Webアプリを作ってました。😀

(Webエンジニアからすると、今では当たり前かもしれませんが、)IDaaS(Identity as a Service)を使った認証の仕組みが、従来の業務用Webアプリの認証と異なっていて、面白いなと思ったので、記事にまとめてみました。

業務用Webアプリの認証のよくある例

Basic認証・Digest認証などありますが、実際の業務ではForm認証が多いかなと思います。
HTML上に、ユーザIDとパスワードの入力欄があり、それを自分で実装したサーバプログラムに投げて、サーバ側で判定するという仕組みですね。

シーケンス図で示すと、こんな感じでしょうか。(本ページ内の図はアバウトに描いています🙇‍♂️)

サーバの方が、クライアントよりも先に、認証に成功したことを検知していますね。

IDaaS認証の例

次に、IDaaSを使った認証の例を見てみます。
Googleや各種SNSなどのアカウントで認証する時の流れです。
IdP(アイデンティティプロバイダ)(Googleなどの認証サーバ)が登場します。

クライアントの方が、サーバよりも先に、認証に成功したことを検知しています。
クライアントは、認証に成功したことを、サーバに伝えていますが、サーバは、クライアントから送られてきたデータを鵜呑みにはできないので、トークンの妥当性を、IdPを通じて検証する必要があります。

まとめ

認証機能付きのWebアプリを作る際は、認証の仕組みをよく理解する必要があります。
次回は、Firebase Authenticationを使って、実際の様子をお見せします。

参考

Firebase Authenticationで学ぶ ソーシャルログイン入門 ID管理の原則にそった実装のベストプラクティス

わかりやすく、かつ、詳しく書かれていました。

0
0
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
0
0