aerynl/reg-and-auth

用于注册、激活、认证和发送密码提醒的简单包

dev-master 2016-03-16 16:43 UTC

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 将根据包的要求更新数据库字段。如果不存在,它将插入以下字段:usernameactivatedactivation_codereset_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是数组,必须包含emailpasswordpassword_confirmation。它还可以包含其他字段,这些字段将被存储到users表中。

此函数将执行以下操作

  • 检查$user_data的有效性
  • 检查passwordpassword_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_passwordnew_passwordpassword_confirmation

此函数将搜索具有id = $user_id的用户,检查$pass_data['old_password']是否正确,检查$pass_data['new_password']$pass_data['password_confirmation']是否匹配,并在一切正常的情况下保存新密码。

在失败的情况下,它将返回array('success' => false, 'message' => '...'),在成功的情况下返回array('success' => true)