Skip to content

Instantly share code, notes, and snippets.

View ZooK64's full-sized avatar

Станислав Зверев ZooK64

View GitHub Profile
@ZooK64
ZooK64 / tokens.md
Created December 23, 2019 10:56 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Last major update: 21.10.2019

Основы:

Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с данными сохранёнными в базе данных.

Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

Например после аутентификации юзер sasha получает право обращатся и получать от ресурса "super.com/vip" некие данные. Во время обращения юзера sasha к ресурсу vip система авторизации проверит имеет ли право юзер обращатся к этому ресурсу (проще говоря переходить по неким разрешенным ссылкам)

@ZooK64
ZooK64 / [modx]getUserGroupNames.php
Last active June 25, 2019 11:37
Класс позволяющий обновлять группу пользователей без необходимости авторизовываться заново на сайте. Нужно заменить функцию getUserGroupNames() в файле /core/model/modx/moduser.class.php
public function getUserGroupNames() {
$groupNames= array();
$id = $this->get('id') ? (string) $this->get('id') : '0';
$memberGroups= $this->xpdo->getCollectionGraph('modUserGroup', '{"UserGroupMembers":{}}', array('UserGroupMembers.member' => $this->get('id')));
if ($memberGroups) {
foreach ($memberGroups as $group) $groupNames[]= $group->get('name');
}
$_SESSION["modx.user.{$id}.userGroupNames"]= $groupNames; // оставлено на всякий случай