Authモジュールは、ユーザ管理、グループ管理、ユーザ登録、ログイン、および関連する機能を含む、アプリケーションの認証と認可を提供します。プロジェクト作成時に自動的にインストールされます。
デフォルトの管理者ユーザーログインとパスワードは次のとおりです。
- Login:[email protected]
- Password:appmaster
モジュールの設定は、以下の方法で行うことができます。
- SignUp Groups: : ユーザーが登録できるグループのリストを定義します。
- SignUp: : ユーザーがアプリケーションにサインアップし、アカウントを取得できるようにします。
- Session timeout (minutes): : ユーザがアイドル状態の場合に、現在のユーザセッションを終了する時間を定義します : デフォルトは60分です。
- Failed login delay (in ms): ログインに失敗した際の応答の遅延時間を定義します; デフォルトは0msです。
- Email confirmation required: ユーザが電子メールで登録を確認する必要があるかどうかを定義します。
- Signed-Up User Active: 有効な場合、新しく作成されたUserオブジェクトに対してactive=trueを設定します。
- Groupsタブでユーザグループのリストを作成し、設定することができます。
User そして User Sessionモデルは、Authモジュールがインストールされると、自動的に作成されます。これらは Data Designタブで確認できます。これらのモデルのデフォルトの属性を設定することはできませんが、新しい属性を追加することは可能です。
User, User Session と 関連BPAuth Module
に関連するプリインストールされたビジネスプロセス Userと User Sessionモデルに関するプリインストールされたビジネスプロセスは以下のとおりです。
User モデル
- DB: Delete User:User オブジェクトをデータベースから削除します。 ID;
- DB: Update User: データベース内の指定されたモデルオブジェクトのすべてのフィールドをリセットし、指定された値でそれらを更新します (DB: Patch Userは提供されたフィールドのみを変更し、他のフィールドをそのまま保持するために使われなければなりません)。
- DB: Create User: データベースにレコードを作成し、User モデルオブジェクトを返します (モデルオブジェクトを作成するために Make Userブロックを使って Userモデルオブジェクトを作成するブロックが必要です)。
- DB: Soft Delete User: 選択された DeletedAt選択された Userのようにレコード全体を削除するのではなく、選択されたモデルオブジェクトのフィールドを更新します。 DB: Delete Userのようにレコード全体を削除するのではなく、選択されたモデルオブジェクトのフィールドを更新します。
- DB: Bulk Delete User: 与えられたモデルオブジェクトのレコードのセットを一括して削除する Userを持つモデルオブジェクトのレコードを一括して削除します。 IDs(ids配列) を持つモデルオブジェクトレコードのセットを一括削除します。 failed_ids- 削除されないユーザーの配列 IDsの配列で、削除されません。
- DB: Patch User: モデルオブジェクトの選択されたフィールドを更新します。 Userモデルオブジェクトの選択されたフィールドをデータベースで更新します (DB: Update Userはすべてのフィールドをリセットするために使わなければなりません)。
- DB: Search User: フィールドに基づいてデータベース内の1つもしくは複数の Userモデルオブジェクトのフィールドをもとにデータベースから1つもしくは複数のモデルオブジェクトを見つけ、それらを返します。
- DB: GetOne User: そのフィールドに基づいて Userモデルオブジェクトをその IDに基づいてモデルオブジェクトを見つけ、それを返します。
- Expand User: 選択されたモデルオブジェクトのすべてのフィールドを返します。 Userモデルオブジェクトのすべてのフィールドを返す。
- Make User入力フィールドに基づいて User入力フィールドに基づくモデルオブジェクトを作る (データベースにレコードを作るためには DB: Create Userを使う必要があります)。
User Session
- DB: Delete User Sessionオブジェクトをデータベースから削除する User Sessionオブジェクトをデータベースから削除する。 ID;
- DB: Update User Session: データベース内の指定されたモデルオブジェクトのすべてのフィールドをリセットし、指定された値でそれらを更新する (DB: Patch User Sessionは提供されたフィールドを変更するためにのみ使われます)。
- DB: Create User Session: データベースにレコードを作成し、モデルオブジェクトを返します。 User Sessionモデルオブジェクトを返します (これは Make User Sessionブロックを使って Userモデルオブジェクトを返す(入力フィールドに従ってモデルオブジェクトを作成するブロックが必要)。
- DB: Soft Delete User Session: 選択されたフィールドの DeletedAt選択された User Sessionモデルオブジェクトのフィールドを更新する。
- DB: Bulk Delete User Session: 指定されたモデルオブジェクトのレコードのセットを一括削除する User Sessionモデルオブジェクトのレコードを一括削除します。 IDs(ids配列) を持つモデルオブジェクトのレコードのセットを一括して削除します。 failed_idsの集合を定義します。 IDsのセットを定義し、それらは削除処理から無視されます。
- DB: Patch User Session: モデルオブジェクトの選択されたフィールドを更新します。 User Sessionモデルオブジェクトの選択されたフィールドをデータベースで更新します (DB: Update User Sessionはすべてのフィールドをリセットするために使わなければなりません)。
- DB: Search User Session: フィールドに基づいてデータベース内の1つもしくは複数の User Sessionモデルオブジェクトを見つけ、それらを返します。
- DB: GetOne User Session: そのフィールドに基づいて User Sessionモデルオブジェクトをその IDに基づいてモデルオブジェクトを見つけ、それを返します。
- Expand User Session: 選択されたモデルオブジェクトのすべてのフィールドを返します。 User Sessionモデルオブジェクトのすべてのフィールドを返す。
- Make User Session入力フィールドに基づいて User Session入力フィールドに基づくモデルオブジェクトを作る (データベースにレコードを作るためには DB: Create User Sessionを使う必要があります)。
Auth Module
- Auth: Generate Auth Token: 与えられた長さの認可トークン(Auth Token)を生成する。
- Auth: Registration: 新しいユーザーを登録する。
- Auth: Authorizationが存在するかどうかを調べ,それに関連するユーザーを返す. Auth Tokenが存在するかどうかを調べ、それに関連するユーザを返します。
- Auth: Authentificationユーザのログイン名とパスワードをチェックし、そのユーザを返します。 Auth Token;
- Auth: Logoutに基づいて,現在のユーザのセッションを終了させる. Auth Token;
- Auth: Get current user: 現在の Userモデルオブジェクトを返す.
- Auth: Remove user from group: 選択されたグループからユーザーを削除します. ID;
- Auth: Add user to group: 選択されたグループにユーザーを追加します。 ID;
- Auth: Hash Passwordパスワードの文字列をハッシュに変換する。
- Auth: Restore Password: ユーザーのログインに基づき、パスワードを復元する。
- Auth: Change Password: ユーザーのパスワードを変更する。
- Auth: Probe Password: パスワードとハッシュの関連性をチェックする.
Auth Module, User とUser Session endpoints
プリインストールされている Endpointsの Auth Moduleと Userと User Sessionのモデルは、プロジェクトが作成されると自動的に生成されます。
Auth Module
リクエストタイプ | Endpoint | 関連するビジネスプロセス |
/logout/ | Auth: Logout | |
/auth/ | Auth: Authentification | |
/register/ | Auth: Registration | |
/confirm/ | Auth: Get Current User | |
/user/change-password/ | Auth: Change Password | |
/user/restore-password/ | Auth: Restore Password | |
/user/profile/ | Auth: Get Current User |
ユーザー
リクエストタイプ | Endpoint | 関連する業務プロセス |
/user/:id/ | DB: Update User | |
/user/:id/ | DB: Delete User | |
/user/:id/ | DB: GetOne User | |
/user/ | DB: Search User | |
/user/:id/ | DB: Patch User | |
/user/ | DB: Create User |
User Session
リクエストタイプ | Endpoint | 関連する業務プロセス |
/user-session/:id/ | DB: Delete User Session | |
/user-session/:id/ | DB: GetOne User Session | |
/user-session/ | DB: Search User Session | |
/user-session/:id/ | DB: Patch User Session | |
/user-session/ | DB: Create User Session | |
/user-session/:id/ | DB: Update User Session |
Auth Token
Auth Tokenは認可されたユーザーのセッション・トークンとして使用されます。とのやりとりが可能です。 Auth Token,Webアプリケーションのビジネスプロセスにおいて
- Get Auth Token現在のユーザのセッションを返します Auth Token;
- Set Auth Token現在のユーザのセッションを書き換える Auth Token;
- Remove Auth Token現在のユーザのセッションを削除する Auth Token;
カレントユーザーの取得方法
1.に移動します。 Business logicタブに移動し Auth: Get current userブロックをドラッグします。
2.2. Endpointsタブを開き Userセクションを展開します。次に、手順1で作成したビジネスプロセスの GETタイプ・メソッドを作成します。endpoint URLは次のようになります。 /user_current.
3.3. Web Appsタブに移動し、新しいビジネス・プロセスを作成します。 Server request GET /user_currentを使用して、Web アプリケーション・ビジネス・プロセスから現在のユーザを取得します。