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:如果启用,为每个新创建的用户对象设置active=true。
- Groups 选项卡允许创建和配置一个用户组的列表。

User 和 User Session 一旦安装了 Auth 模块,就会自动创建模型。你可以在 Data Design 选项卡中找到。不可能配置这些模型的默认属性,但有可能添加新的属性。

User, User Session 和 相关的BPsAuth 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:根据字段在数据库中找到一个或几个 User:根据字段在数据库中找到一个或几个模型对象,并返回它们。

- 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:根据字段在数据库中找到一个或几个 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, 在网络应用程序的业务流程中。
- Get Auth Token 返回当前用户的会话 Auth Token;

- Set Auth Token 重写当前用户的会话 Auth Token;

- Remove Auth Token 删除当前用户的会话 Auth Token;

如何获得当前用户
1.进入 Business logic 标签并拖动 Auth: Get current user 块。

2.到 Endpoints 选项卡,并展开 User 部分。然后,为步骤1中创建的业务流程创建一个 GET 类型的方法,用于步骤1中创建的业务流程。endpoint URL将是 /user_current.

3.3. 转到 Web Apps 选项卡并创建一个新的业务流程 Server request GET /user_current 来获取网络应用程序业务流程中的当前用户。

