Добрый день, подскажите пожалуйста как реализовать авторизацию по API (оба приложения на yii2)
Я вижу это так
Авторизующееся приложения обращается к методу /login сервиса авторизации (ну например там в посте username и password, https конечно это понятно), получает access_token и далее в в методе findIdentity() мы обращаемся к /user уже с access_token получаем сам объект пользователя.
Что здесь меня смущает.
1. Мы здесь получаем две сущности в куках access_token и identity, можно ли обойтись одной? (Тем более как я вижу identity там хранится в зашифрованном виде)
2. Если все таки нужен токен, безопасно ли хранить его в хранить в куки в открытом виде может тоже зашифровать как identity (как это сделать)?
Заранее благодарен за любую информацию, подскажите лучшую практику
(как я вижу а авторизуемом приложение никакие данные пользователя храниться не должны, т.е. вводятся username и password через форму логина, улетают к сервису авторизации в ответ токен\объект пользователя который уже хранится в куки\сессии)
Авторизация по API лучшая практика
Re: Авторизация по API лучшая практика
Часть вопросов разобрался куки все подписываются поэтому хранить токен в куках безопасно.
-
- Сообщения: 50
- Зарегистрирован: 2018.06.02, 09:58
Re: Авторизация по API лучшая практика
Если вы делаете api по ресту, то куки не используют.
Вот в доках есть как это делать:
https://www.yiiframework.com/doc/guide/ ... entication
Вот в доках есть как это делать:
https://www.yiiframework.com/doc/guide/ ... entication
Re: Авторизация по API лучшая практика
Где хранить токен если требуется "сквозная авторазация"?goodfriend писал(а): ↑2020.09.19, 07:08 Если вы делаете api по ресту, то куки не используют.
Вот в доках есть как это делать:
https://www.yiiframework.com/doc/guide/ ... entication
Есть приложение А с формой логина (оно ничего не знает про пользоваетелей), есть приложение Б (АПИ + база пользоватетелей)
Когда пользователь авторизуется в приложение А, он вводить логин\пароль, которые улетают в на АПИ приложения Б, если логин\пароль верные приложение Б возвращает приложению А токен, приложение А уже с этим токеном получает профиль пользователя и логинит его. Если логин\пароль неверные пользователю сообщается что логин\пароль неверные.