p4bgroup/ldap-jwt-authentication

JWT Authentication using LDAP connections

v1.1.1 2022-03-30 13:46 UTC

This package is auto-updated.

Last update: 2024-03-29 03:58:18 UTC


README

JWT Authentication service using LDAP connections for Phalcon Projects

Latest Stable Version License Maintainability Total Downloads Test Coverage Build Status composer.lock

Usage

$ldap = new Laminas\Ldap\Ldap([..]);
$authService = new AuthenticationService($ldap);
$jwtTokensService = new JWTTokensService($algorithm, $encodeKey, $decodeKey);

/** @param P4BGroup\Authentication\User $user */
$user = $authService->authenticateUser($username, $password, $userBaseDn);

$claims = new P4BGroup\Authentication\Claims();
$claims->setData($user->toArray())
->setSubject(Claims::SUBJECT_REFRESH)
->setExpirationTime(new DateTime("+10 minutes"))

$accessToken = $jwtTokensService->encode($claims);
$refreshToken = $jwtTokensService->encode($claims->setSubject(Claims::SUBJECT_REFRESH)->setExpirationTime(new DateTime("+1 hour"));