🧩 Author 0カスタムデータベースとしてPostgreSQLを設定する



📓 Author 0をPostgreSQLに接続して、独自のユーザーストアを作成し、維持します.

Auth 0を使用して、独自のユーザーストアを作成し、維持し、セキュリティー認証システムをその上に提供することもできます.Auth 0では、独自のデータベースにユーザーを格納できます.さらに、Auth 0はセキュリティに関して自信がある認可フレームワークとしてOAuth 2.0を使用します.Auth 0のユーザーストアとしてカスタムデータベースを使用すると、user migrationを容易にし、既存のユーザーデータベースにOAuthとOpenID Connectレイヤーを追加します.ASPを含む任意のデータベースまたはWebサービスを構成することができます.Authorメンバーシッププロバイダー、MongoDB、MySQL、PostgreSQL、Auth 0カスタムデータベースとして.この記事では、Author 0のカスタムデータベースとしてPostgreSQLを設定する方法を学びます.

Limited Access: Some features are available depending on your Auth0 subscription. For more information, see Auth0 pricing plans.



カスタムデータベースの有効化
まだAuth 0アカウントを持っていませんか?Sign up for free right now!
あなたがlog inになると、Database connections page(Auth 0ダッシュボード>認証)データベースに移動します.「DB接続を作成」ボタンをクリックし、データベースに良い名前を付け、「作成」ボタンをクリックします.カスタムデータベースタブに移動し、独自のデータベースを使用してカスタムデータベースを構成できます.

Auth 0はノードを使用します.あなたのデータベースに接続して、アクセスするために、アクションスクリプトと呼ばれているJSスクリプト.これらのスクリプトには、新しいユーザーを追加したり、ユーザーにログインするなどのさまざまなタスクを実行できるJavaScript関数が含まれます.カスタムデータベースアクションスクリプトを定義し、次のアクションを実行する必要があります.
  • 作成:作成スクリプトは、emailpasswordを使用してPostgreSQLデータベースに新しいユーザーを挿入します.
  • Login :ログインスクリプトは、ユーザーが認証する必要があるときはいつでも、PostgreSQLデータベースのユーザーの身元を検証します.
  • ベリファイスクリプトは、データベースのユーザーのメールアドレスの検証状態を更新します.
  • パスワードを変更するパスワードを変更します.これは、将来のログイン(パスワードの機能を忘れて)のデータベース内のユーザーのパスワードを変更します.
  • get user : get user scriptデータベースから指定したユーザーの情報を取得します.ユーザーがデータベースに存在しない場合はundefinedを返します.
  • 削除:削除スクリプトは、指定したユーザーIDをデータベースから削除します.
  • 幸運にも、Autos 0はこれらのカスタムデータベーススクリプトのためにテンプレートを提供します.テンプレートを使用して、データベースURLで接続文字列を更新できます.Auth 0カスタムデータベースアクションスクリプトの追加情報については、official documentationを参照してください.まず、Author 0に接続するためのPostgreSQLデータベースを作成しましょう.

    PostgreSQLデータベースの設定
    ローカル環境ではデータベースを使用できません.データベースをインターネット経由でアクセスしたり、Database as A Serviceのようなツールを使うべきです.このチュートリアルでは、ElephantSQLを使用します.これは完全に構成され、クラウドホストのPostgreSQLデータベースを数分で提供します.しかし、それはあなたのデータベース内の任意のデータを表示しません代わりに、SQLコマンドを実行してデータを表示できます.あなた自身のデータベースを設計し、AWSGoogle CloudまたはHerokuのような任意のクラウドプロバイダでそれをホストすることができます.

    https://www.elephantsql.com/に頭をし、自分のアカウントを作成したり、既に1つを持ってログインしてください.ダッシュボードのページに表示されます「新規インスタンスを作成」をクリックして、新しいデータベースインスタンスを作成します.データベースインスタンスに適切な名前を付け、計画と領域を選択します.無料プランをデモンストレーション目的で使用します.必要に応じてデータベースを構成し、Createインスタンスをクリックします.

    インスタンスを作成する際にエラーが発生した場合は、トラブルシューティングのためにElephantSQL documentationを参照してください.
    さて、新しく作成されたデータベースインスタンスに移動し、詳細ページからURLをコピーします.このデータベースにAuthor 0アプリケーションを接続する必要があります.誰でもこの接続文字列でデータベースにアクセスできます.あなたがセキュリティ目的のために非常に秘密にしておくならば、それは助けます.

    ps : authsはファイアウォールを使用している場合、データベースネットワーク接続を設定するためにいくつかのIPアドレスを提供します.あなたはアクションスクリプトの下にそれらを見つけることができます.

    Note: Using your own database leads to several security concerns. Allowing your database accessible over the internet without any firewalls or security measures may result in data leakage.



    ユーザーを格納するテーブルの作成
    ブラウザタブに切り替え、次のコマンドを実行します.
    CREATE TABLE users(
        id UUID DEFAULT uuid_generate_v4(),
        nickname VARCHAR(255),
        email VARCHAR(255) NOT NULL UNIQUE,
        password VARCHAR(255) NOT NULL,
        email_Verified BOOLEAN DEFAULT FALSE
    );
    

    上記のコマンドは、AWA 0からユーザ情報を格納するためにusersという新しいテーブルを作成します.少なくとも、上記の5つの列を使用して、ユーザーIDを保存して検証します.
    Read more...