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)。