codecollab/authentication

CodeCollab项目的认证包

1.0.0 2016-07-16 21:20 UTC

This package is auto-updated.

Last update: 2024-09-06 08:40:07 UTC


README

CodeCollab项目的认证包

Build Status MIT License Latest Stable Version Total Downloads Latest Unstable Version

需求

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();

贡献

如何贡献

许可

MIT

安全问题

如果您发现了安全问题,请直接通过电子邮件联系,而不是使用codecollab-security@pieterhordijk.com的跟踪器。