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来获取网络应用程序业务流程中的当前用户。