2016-10-18 41 views
3

私はAuth0をプロジェクト(Reactjs/Hapijs/MySQL)に統合する必要があります。ドキュメントをチェックしたところ、多くの例がありましたが、それは素晴らしいですが、既存のユーザーデータベースをどのくらい正確に使用するかはわかりません。既存のユーザデータベースとAuth0認証を統合する

私のアプリケーションにはユーザーがいて、そのユーザーは1つ以上のプロジェクトを持つことができます。私たちが現在使っている権限で、ユーザーがログインしたら、彼が所有しているプロジェクトを確認し、それをReactアプリケーションに送信します。

私はAuth0の使い方を説明していて、自分のプロジェクトが所有しているデータベースを自分のデータベースでチェックできる文書がありません。

それは(私が間違っている可能性があります)動作するはずです方法についての私の考え:

  1. ユーザーが当社のサーバーにユーザー名とパスワードを送信しますが
  2. 当社のサーバは(提供された資格情報で)Auth0に要求を行う
  3. Auth0 トークン
  4. 私たちのデータベースのユーザーテーブルを調べて、そのユーザーの存在を確認してください。
  5. Ifそれは一致しているので、ユーザプロジェクトのために(すでに行っているように)単純に見ています。

これはどのように動作するはずですか?

答えて

2

既存のユーザーデータベースを既に持っているアプリケーションとAuth0を統合するシナリオでは、いくつかのオプションがあります。次のいずれかを実行できます

  1. は徐々にmigrate your users from your custom store Auth0ストア

に明示的に言及していないが、あなたの期待流れから判断すると、あなたが実装したいことになるようだuse your existing store

  • に続けます最初のオプション。 カスタムデータベース接続を設定する方法について説明している特定のドキュメントがあります。Authenticate Users with Username and Password using a Custom Databaseを参照してください。 MySQLには言及されていますが、他のデータベースサーバもサポートされています。多くのテンプレートがあり、すばやく設定することができます。これを完了すると

    最終流量は、次のようになります:あなたは自分の資格情報

  • のどちらかをロックしたりするためのユーザーを頼むよAuth0認証ライブラリ(ロック)、またはカスタムUIのいずれかを使用して

    1. カスタムUIがAuth0認証APIに資格情報を送信する
    2. Auth0認証APIは、カスタムデータベースに対して実行するスクリプトを呼び出すことによって資格情報を検証します(これらのスクリプトは、データベース接続を構成したときに提供されます)
    3. 資格情報が有効な場合、認証APIは、ユーザー情報を持つトークンを呼び出し元アプリケーションに返し、ユーザーが自分の発言者であることを証明します。あなたが提供する必要が

    スクリプトは以下のとおりであるが、一方だけが必須です:

    • ログインスクリプト(ユーザーがログインしようとするたびに実行される)(必須
    • ユーザーを作成します。スクリプト
    • を確認し、メールのスクリプト
    • パスワード変更スクリプト
    • 削除ユーザースクリプト

    オプションのスクリプトは、Auth0ライブラリを使用して関連する機能を提供する場合にのみ必要です。ログインする必要がある場合はスキップすることができます。ログインスクリプトは、有効なユーザーの場合、ユーザーのプロファイル情報を返す場所でもあります。たとえば、ユーザープロファイルに所有プロジェクトを理論的に含めることができます。

  • +0

    非常にいい回答です!ありがとうございました –

    関連する問題