codecollab / authentication
CodeCollab项目的认证包
1.0.0
2016-07-16 21:20 UTC
Requires
- php: ^7
- codecollab/http: ^1
Requires (Dev)
- phpunit/phpunit: ^5.4
This package is auto-updated.
Last update: 2024-09-06 08:40:07 UTC
README
CodeCollab项目的认证包
需求
PHP7+
安装
使用composer将库包含到项目中
{
"require-dev": {
"codecollab/authentication": "^1"
}
}
用法
创建User
实例需要来自Http库的\CodeCollab\Http\Session\Session
实例
用户认证
logIn
函数接受表单中的密码、数据库中的密码哈希以及用户信息(将持久保存在Session中)作为参数。
$user = new User($session);
if ($user->logIn($password_from_form, $hash_from_db, $user_info_from_db)) {
/** login successful **/
} else {
/** login failed */
}
假设实现了“记住我”功能,用户可以直接登录,无需比较密码哈希。
if ($user->logInRememberMe($user_info_from_db)) {
/** login successful **/
} else {
/** login failed */
}
登录成功后,可以根据$user_info_from_db
(如上代码片段所示)的内容检索用户信息
$user_name = $session->get('user_name');
$user_id = $session->get('user_id');
登录状态
if ($user->isLoggedIn() {
/** User is logged in **/
}
密码重哈希
检查并重哈希(如果需要)已登录用户的密码
if ($user->needsRehash($hash_from_db)) {
$new_hash = $user->rehash($password_from_form);
//save $new_hash to database
}
注销
$user->logOut();
贡献
许可
安全问题
如果您发现了安全问题,请直接通过电子邮件联系,而不是使用codecollab-security@pieterhordijk.com的跟踪器。