aerynl / reg-and-auth
用于注册、激活、认证和发送密码提醒的简单包
Requires
- laravel/framework: ~5.1
This package is auto-updated.
Last update: 2024-08-29 01:46:03 UTC
README
用于注册、激活、认证和发送密码提醒的简单包
安装
composer require aerynl/reg-and-auth "dev-master"
php artisan vendor:publish --provider="Aerynl\RegAuth\RegAuthServiceProvider"
php artisan migrate
2 和 3 将根据包的要求更新数据库字段。如果不存在,它将插入以下字段:username
、activated
、activation_code
、reset_password_code
。另外,如果刚刚创建了activated
字段,它将所有当前用户设置为已激活。
使用方法
登录
通过用户名和密码
$result = Aerynl\RegAuth\RegAuth::login($username, $password, $remember);
$username
和$password
是必需参数,$remember
不是必需的。
此函数将检查$username
和$password
是否为空,通过用户名或电子邮件查找用户,检查用户是否已激活,并在一切正常的情况下登录。
在失败的情况下,它将返回array('success' => false, 'message' => '...')
,在成功的情况下返回array('success' => true)
。
通过ID
$result = Aerynl\RegAuth\RegAuth::simpleLoginById($id);
此函数将检查$id
是否为空,通过ID查找用户,检查用户是否已激活,并在一切正常的情况下登录。
在失败的情况下,它将返回array('success' => false, 'message' => '...')
,在成功的情况下返回array('success' => true)
。
获取用户
$user = Aerynl\RegAuth\RegAuth::getUser();
获取当前认证的用户
如果会话中没有用户,则返回null。
登出
Aerynl\RegAuth\RegAuth::logout();
登出当前认证的用户
注册
$result = Aerynl\RegAuth\RegAuth::register($user_data);
$user_data
是数组,必须包含email
、password
和password_confirmation
。它还可以包含其他字段,这些字段将被存储到users
表中。
此函数将执行以下操作
- 检查
$user_data
的有效性 - 检查
password
和password_confirmation
是否匹配 - 检查是否没有具有相同电子邮件或用户名的用户
- 注册用户
- 生成激活码
在失败的情况下,它将返回array('success' => false, 'message' => '...')
,在成功的情况下返回array('success' => true, 'user' => $user)
。
激活
$result = Aerynl\RegAuth\RegAuth::activate($hash);
$hash
是一个包含激活码的字符串。
此函数将搜索未激活的用户,其activation_code = $hash
,并激活他。
在失败的情况下,它将返回array('success' => false, 'message' => '...')
,在成功的情况下返回array('success' => true, 'user' => $user)
。
忘记密码
$result = Aerynl\RegAuth\RegAuth::generateForgotPassHash($username);
此函数将检查$username
是否为空,通过用户名或电子邮件查找用户,并生成reset_password_code
。
在失败的情况下,它将返回array('success' => false, 'message' => '...')
,在成功的情况下返回array('success' => true, 'user' => $user)
。
忘记密码步骤 2
$result = Aerynl\RegAuth\RegAuth::processForgotPassHash($hash);
此函数将搜索具有reset_password_code = $hash
的用户,并为他生成新密码。
在失败的情况下,它将返回array('success' => false, 'message' => '...')
,在成功的情况下返回array('success' => true, 'user' => $user, 'new_pass' => $new_pass)
。
密码生成器
$pass = Aerynl\RegAuth\RegAuth::generatePass();
生成简单的6位数密码
更改密码
$result = Aerynl\RegAuth\RegAuth::changePass($pass_data, $user_id);
$pass_data
是数组,必须包含old_password
、new_password
和password_confirmation
。
此函数将搜索具有id = $user_id
的用户,检查$pass_data['old_password']
是否正确,检查$pass_data['new_password']
和$pass_data['password_confirmation']
是否匹配,并在一切正常的情况下保存新密码。
在失败的情况下,它将返回array('success' => false, 'message' => '...')
,在成功的情况下返回array('success' => true)
。