Мне нужно разработать API RESTful для мобильного приложения, и у меня есть некоторые проблемы с потоком связи между этими частями. Я новичок в разработке API для мобильных устройств и OAuth.REST API + OAuth + Mobile Flow
Проект объединяет должен работать таким образом:
- пользователи могут войти, используя только их Google счета
- мобильное приложение использует веб-сайт API и вся информация хранится на внутреннем интерфейсе
Я нашел аналогичный вопрос здесь OAuth on REST API for mobile app, и я предпочитаю первое решение от него, но у меня есть некоторые вопросы о безопасности этого решения.
1) Должен ли я использовать OAuth2 для API? Я не уверен, что это хорошая идея просто отправить идентификатор пользователя Google в API для получения данных пользователя.
2) Как проверить на сервере, что идентификатор Google является правильным и актуальным? Или это вообще не важно?
Я думаю об этом сценарии, но я не уверен, что это лучшее решение:
1) Пользователь входит в на мобильное приложение в первый раз, используя свой аккаунт Google.
2) Мобильное приложение получает идентификатор Google и дополнительную информацию.
3) Мобильное приложение отправляет идентификатор Google на сервер.
4) Сервер использует OAuth2. Он создает учетную запись для пользователя (сохраняя идентификатор Google в базе данных) и возвращает токен доступа в мобильное приложение.
5) Мобильное приложение локально хранит токен доступа и использует его для запросов на сервер. Как только токен доступа истекает, пользователь снова должен войти в мобильное приложение, используя свою учетную запись Google.
У меня есть некоторые проблемы с использованием только идентификатора Google для создания токена. Я имею в виду, что любой может использовать какой-либо Google ID для создания токена. Плохая идея :(
Кроме того, я должен использовать JWT лучше в знак?
Спасибо за вашу помощь!
Спасибо! Это очень полезно – Elena