Проясните пожалуйста для чего необходим authKey?
Клиент авторизовался - в ответ получил сгенерированный accessToken, затем этот accessToken передает либо в заголовках либо в параметрах. В какой момент клиент получает/отправляет authKey, и для чего он нужен?
Как реализовать возможность двум клиентом работать с одной учетной записи? Для этого видимо и нужен authKey.
authKey и accessToken
Re: authKey и accessToken
1. authKey просто добавляется в cookies вместе с id при обычной аутентификации. К accessToken отношения не имеет.
2. Либо дать им один и то же accessToken, либо сделать отдельную таблицу token + user_id + expired_at.
2. Либо дать им один и то же accessToken, либо сделать отдельную таблицу token + user_id + expired_at.
Re: authKey и accessToken
Спасибо, Дмитрий.
1. Т.е. если я в клиентском приложении не использую куки - мне это и не нужно?
2. Опишите, если не трудно - логику формирования и работы с токеном.
У меня сейчас так: в момент регистрации пользователя, генерируется строка из случайных символов - accessToken.
При авторизации пользователя, ему отдается этот accessToken. Один Пользователь может авторизоваться с нескольких устройств: телефон, планшет, еще телефон... Имеет ли смысл создавать еще одну таблицу для хранения пользователей и токенов (хотя это логично)?
Когда необходимо менять accessToken? В момент смены пароля?
1. Т.е. если я в клиентском приложении не использую куки - мне это и не нужно?
2. Опишите, если не трудно - логику формирования и работы с токеном.
У меня сейчас так: в момент регистрации пользователя, генерируется строка из случайных символов - accessToken.
Код: Выделить всё
Yii::$app->security->generateRandomString(64)
Когда необходимо менять accessToken? В момент смены пароля?
Re: authKey и accessToken
1. authKey для авторизации не по кукам не нужно.anmaslov писал(а):1. Т.е. если я в клиентском приложении не использую куки - мне это и не нужно?
2. Опишите, если не трудно - логику формирования и работы с токеном.
2. Если приложение подразумевает запоминание пользователя на устройстве, логично создать таблицу один ко многим и хранить несколько токенов для пользователя. Обновление токена зависит от бизнес логики, это может быть принудительное обновление из приложения раз в 5 минут или если токен протух, провалидировать старый и выдать новый.