Authを理解しているFirebase Auth


NOTE: This blog post assumes that you are at-least familiar with setting up firebase SDK
If you don't I'd recommend reading my blog on first


あなたがアプリケーションを構築したならば、あなたはおそらく認証と認可に対処しなければなりませんでした
俗説に反してauthentication !== authorization

認証と認証の違い


学校を考える

校長に校長がいる

彼は決める
学生がに加わるならば、

  • 学生が
  • を得られるならば、
  • 学生が昇格する(テストに失敗したにもかかわらず)
  • 学生が降格するならば、

  • ...
  • 学校にも警備員がいる

    彼は決める
  • もしも人がキャンパスに入ることができるとき
  • 人がキャンパスを去ることができるならば
    ...
  • 今すぐアナロジーAuthentication: PrincipalAuthorization: Security Guard

    認証


    認証とは


    ユーザの身元確認の過程

    認証の手順


    アカウントを作成する

  • アカウントEメールアドレスを確認する
    のログイン/サイン
  • パスワード回復
  • から出ている

  • firebase認証


    1 .アカウントの作成


    firebase.auth().createUserWithEmailAndPassword(
      email,
      password
    );
    

    NOTE: You Receive a Promise from any Function from Firebase


    2 .サインアウト


    firebase.auth().signOut()
    

    NOTE: Firebase removes the token stored on the client's localStorage (indexdb to be precise). It'll talk about it in detail in Authorization


    ログイン


    firebase.auth().signInWithEmailAndPassword(
      email, 
      password
    )
    

    4 .アカウントメールの確認


    // sends a pre-templated message to a specified email address
    firebase.auth().sendEmailVerification(
      email,
    );
    

    パスワード回復


    firebase.auth().sendPasswordResetEmail(
      email
    );
    

    認可


    認可とは


    資産へのアクセスを制御する過程

    Firebaseはどのように認可しますか

  • ユーザーのauth状態が変わるとき
  • それはユーザートークンを更新します
    JWTと非常に似ていますが、Webアプリケーション
  • に制限されません
  • それはブラウザーのindexdb(そして、クッキーででなく)にトークンを保存するので、それはより制御可能なタイムライン
  • を持ちます
    有効なユーザー・トークンが存在する場合、ユーザーはリソースにアクセスすることができる

    ユーザトークンへのアクセス


    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        // User is signed in, see docs for a list of available properties
        // https://firebase.google.com/docs/reference/js/firebase.User
        var uid = user.uid;
      }
    });