 
  
   
  
  function foo(bool $a, bool $b, bool $c) : string
{
    if ($a) {
        return 'A';
    }
    if ($b) {
        return 'B';
    }
    if ($c) {
        return 'C';
    }
    return 'D'
} 
  
   
  
   
  
   
  
  function f() {
  let x = { key: 'val' };
  return x;
}
let z = f(); 
  
   
  
   
  
  
1. Клиент аутентифицируется на сервере.
2. Сервер генерирует токен, подписывает, выдаёт его клиенту.
3. Вместе с каждым следующим запросом клиент присылает этот токен серверу.
4. Сервер проверяет подпись и срок жизни токена.
5. Если токен невалидный, то возвращается ответ о необходимости повторной аутентификации.
6. Если токен валидный, то данные из токена (id пользователя, права, что-то ещё) используются при обработке запроса, возвращается ответ на запрос.
Серверу не надо хранить рабочий токен, он получает его в каждом запросе от клиента.