Skip to content
Anton edited this page Jul 31, 2017 · 17 revisions

Описание

В систему изначально закладывается универсальная система авторизации, которая предусматривает подключение нескольких провайдеров для одного пользователя. Для обеспечения подобного функционала создана таблица auth:

auth
----
userId      - link to users table
provider    - provider name, "equals" for login/pass
foreignKey  - foreign key, user login for login/pass; twitter id; etc
token       - token to access, hash for login/pass
tokenSecret - secret token, salt of hash for login/pass (by default)
tokenType   - can be "request" or "access"
created
updated
expired

Система авторизации login/password полностью есть в скелетоне, см. Application\Auth\Provider\Equals.

Настройки

Пример настроек хеширующих функций для Provider\Equals:

// config file auth.php
return [
    'hash' => function ($password) {
        return password_hash($password, PASSWORD_DEFAULT);
    },
    'verify' => function ($password, $hash) {
        return password_verify($password, $hash);
    },
];

с версии 1.0.0 skeleton использует пакет hybridauth для авторизации с использованием сторонними сервисами

Использование

с версии 0.6.0 изменился способ вызова - теперь только через Proxy

В контроллере авторизации:

// login/password
Auth\Provider\Equals::authenticate($login, $password);

Если вам необходимо проверить авторизирован ли пользователь без привязки к его привилегиям:

use Bluz\Proxy\Auth;
if ($identity = Auth::getIdentity()) {
    // all ok
}