Auth模块为你的应用程序提供认证和授权,包括用户管理、组管理、用户注册、登录和相关功能。它在项目被创建时自动安装。

01

默认的管理用户登录名和密码如下。

模块设置可按以下方式配置。

  • SignUp Groups: 定义了用户可以注册的组的列表。
  • SignUp:允许用户在应用程序中注册和获得账户。
  • Session timeout (minutes):定义了用户闲置时,当前用户会话结束的时间;默认为60分钟。
  • Failed login delay (in ms):定义登录尝试失败后的响应延迟时间;默认为0ms。
  • Email confirmation required:定义了用户是否需要通过电子邮件确认注册。
  • Signed-Up User Active:如果启用,为每个新创建的用户对象设置active=true。
  • Groups选项卡允许创建和配置一个用户组的列表。

module_auth_settings

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

data model

User, User Session 和 相关的BPsAuth Module

预先安装的业务流程涉及到 UserUser Session模型的预装业务流程如下。

  • User 模型

    • DB: Delete User:从数据库中删除User 对象,基于其 ID;

db_delete_user

    • DB: Update User重置数据库中一个给定的模型对象的所有字段,并用给定的值更新它们。DB: Patch User必须用来改变所提供的字段,并保留其他字段的原样)。

db_update_user

    • DB: Create User:在数据库中创建一条记录,并返回User 模型对象(它需要使用 Make User块来创建 User模型对象(需要使用块来根据输入字段创建模型对象)。

db_create_user

    • DB: Soft Delete User:更新 DeletedAt的字段。 User模型对象的字段,而不是像以前那样删除整个记录 DB: Delete User的做法。

db_soft_delete_user

    • DB: Bulk Delete User:批量删除一组 User模型对象记录的集合,并给定 IDs(ids数组)。 failed_ids- 的用户数组 IDs将不会被删除。

db_bulk_delete_user

    • DB: Patch User更新数据库中模型对象的选定字段 User模型对象在数据库中的选定字段(DB: Update User必须用来重置所有的字段)。

db_patch_user

    • DB: Search User:根据字段在数据库中找到一个或几个 User:根据字段在数据库中找到一个或几个模型对象,并返回它们。

db_search_user

    • DB: GetOne User:根据字段找到 User模型对象,根据其 ID并返回它。

db_getone_user

    • Expand User: 返回所选模型对象的所有字段 User模型对象的所有字段。

expand_user

    • Make User:使 User基于输入字段的模型对象(需要使用 DB: Create User以便在数据库中生成记录)。

make_user

  • User Session

    • DB: Delete User Session:从数据库中删除 User Session对象从数据库中删除,基于其 ID;

db_delete_user_session

    • DB: Update User Session重置数据库中一个给定的模型对象的所有字段,并用给定的值更新它们(必须用于改变所提供的字段)。DB: Patch User Session只用于改变所提供的字段)。

db_update_user_session

    • DB: Create User Session:在数据库中创建一条记录并返回 User Session模型对象(它需要使用 Make User Session块来创建 User模型对象(需要使用块来根据输入字段创建模型对象)。

db_create_user_session

    • DB: Soft Delete User Session:更新 DeletedAt的字段 User Session模型对象。

db_soft_delete_user_session

    • DB: Bulk Delete User Session:批量删除一组 User Session模型对象的记录。 IDs(ids数组)。 failed_ids数组定义了一组 IDs将在删除过程中被忽略。

db_bulk_delete_user_session

    • DB: Patch User Session:更新数据库中模型对象的选定字段 User Session模型对象在数据库中的选定字段(DB: Update User Session必须用来重置所有的字段)。

db_patch_user_session

    • DB: Search User Session:根据字段在数据库中找到一个或几个 User Session:根据字段在数据库中找到一个或几个模型对象,并返回它们。

db_search_user_session

    • DB: GetOne User Session:根据字段找到 User Session模型对象,根据其 ID并返回它。

db_getone_user_session

    • Expand User Session: 返回所选模型对象的所有字段 User Session模型对象的所有字段。

expand_user_session

    • Make User Session:使 User Session基于输入字段的模型对象(需要使用 DB: Create User Session以便在数据库中生成记录)。

make_user_session

  • Auth Module

    • Auth: Generate Auth Token:生成一个授权令牌(Auth Token)的长度。

auth_generate_auth_token

    • Auth: Registration:注册一个新的用户。

auth_registration

    • Auth: Authorization:检查是否存在一个给定的 Auth Token存在,并返回与之相关的用户。

auth_authorization

    • Auth: Authentification:检查用户的登录名和密码并返回 Auth Token;

auth_authentification

    • Auth: Logout: 终止当前用户的会话,基于 Auth Token;

auth_logout

    • Auth: Get current user:返回当前的 User模型对象。

auth_get_current_user

    • Auth: Remove user from group:根据所选组中的用户,从该组中删除该用户。 ID;

auth_remove_user_from_group

    • Auth: Add user to group:在选定的组中增加一个用户,基于其 ID;

auth_add_user_to_group

    • Auth: Hash Password:将密码字符串转换为哈希值。

auth_hash_password

    • Auth: Restore Password:根据用户的登录情况恢复密码。

auth_restore_password

    • Auth: Change Password:改变用户的密码。

auth_change_password

    • Auth: Probe Password: 检查密码和哈希值之间的关联。

auth_probe_pw

Auth Module, User 和User Session endpoints

预装的 EndpointsAuth ModuleUserUser 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;

get_auth_token

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

set_auth_token

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

remove_auth_token

如何获得当前用户

1.进入 Business logic标签并拖动 Auth: Get current user块。

get_current_user_be

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

get_current_user_mw

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

get_current_user_fe

Was this article helpful?

AppMaster.io 101 速成班

10 模块
2 周数

不知道从哪里开始?通过我们的初学者速成课程,从A到Z探索AppMaster。

开始课程
Development it’s so easy with AppMaster!

需要更多帮助?

在我们专家的帮助下解决任何问题。节省时间并专注于构建您的应用程序。

headphones

联系支持

告诉我们您的问题,我们会为您找到解决方案。

message

社区聊天

在我们的聊天中与其他用户讨论问题。

加入社区