Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте.
В приложении используется Passport. При авторизации авторизации с фронтенда на бэкенд отправляется POST http://localhost/oauth/token с данными:
client_id: 1
client_secret: "here_client_secret"
grant_type: "password"
password: "here_password"
username: "here_username"
И приходит такой ответ:
access_token: "eyJ..." // тут длинная строка
expires_in: 99999999
refresh_token: "here_refresh_toke"
token_type: "Bearer"
Фронтенд запоминает в куку Bearer токен и отправляет его в остальных запросах за данными.
Сейчас же нужно реализовать функционал чтобы войти супер админом можно было под разными клиентам. Пароля клиентов нет и поэтому использовать /oauth/token не получится.
Я через модель User получаю id из таблицы oauth_access_tokens:
$token = $user->token()->id;
Но этот токен(80 кол-во символов) сильно отличается от Bearer токена (999 кол-во символов) и через него запросы за данными не работают.
Может быть я не совсем корректно понимаю как работает oauth 2 но подскажите пожалуйста как знаю access token получить из него Bearer token?
Заранее спасибо!
Не вышло. В таблице jobs вижу что queue=default и в payload вижу листенер в котором задавал имя очереди следующим образом:
public function queue(QueueManager $handler, $method, $arguments)
{
$handler->push($method, $arguments, 'custom_name_queue');
}
Здравствуйте.
Сейчас все очереди выполняются через супервизор:
[program:worker]
process_name=%(program_name)s_%(process_num)02d
command=php /app/artisan queue:work --sleep=3 --tries=3 --timeout=1200 --daemon
autostart=true
autorestart=true
numprocs=3
user=worker
redirect_stderr=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
Нужно чтобы одна из очередей выполнялась отдельно. Делаю следующее:
Для листенера указываю имя очереди как здесь.
И добавляю новый программный раздел в супервизоре:
[program:new-program]
process_name=%(program_name)s_%(process_num)02d
command=php /app/artisan queue:work --queue=notifications --sleep=3 --tries=3 --timeout=1200 --daemon
autostart=true
autorestart=true
numprocs=3
user=worker
redirect_stderr=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
Подскажите пожалуйста с супервизором. Как исключить очередь notifications чтобы она не выполнялась в программном разделе worker и правильно написана ли команда для запуска очереди notifications в программном разделе new-program?
Заранее спасибо!
Страницы 1