Я разрабатываю собственное мобильное приложение для настраиваемого веб-приложения для социальных сетей. Мы создаем REST API для связи с веб-сервером, и мы выбрали OAuth2 в качестве метода аутентификации (поток grant_type=password
).
Веб-приложение позволяет пользователям регистрироваться и регистрироваться с помощью внешних сервисов (например, Facebook и Twitter). Мы должны разрешить то же самое и в мобильном приложении. Вопрос в том, как мы можем это сделать?
Мобильное приложение Pinterest может управлять ситуацией (см. прикрепленное изображение). Каков поток, который использовался здесь?
Они ведут себя как классическое приложение, основанное на OAuth (мобильное приложение, действующее как клиент OAuth напрямую с API Facebook?). Если да, то как мобильное приложение может быть аутентифицировано с помощью Pinterest-сервера? Передает ли он токен доступа OAuth Facebook в качестве учетных данных?
Графическое представление проблемы (см. стрелку ????
):
Website API Mobile app Facebook OAuth
+ + +
| | |
| | /oauth2/token |
| +------------------------------>|
| | |
| | OAuth Access Token |
| |<-----------------------------+|
| | |
| ???? | |
|- - - - - - - - - - - - - -| |
| | |
| | |
| OAuth Access Token | |
|+------------------------->| |
| | |
| | |
| API Usage (w/ token) | |
|+------------------------->| |
|<-------------------------+| |
| | |
|+------------------------->| |
|<-------------------------+| |
| | |
| ... | |
+ + +
Обновление: Этот вопрос очень похож на мой.. Если это правильный путь, чтобы следовать, то второй + третий шаг (передача токена Facebook в наш пользовательский API плюс проверка самого токена) не может быть дополнительным типом предоставления OAuth2 (т.е. facebook_token
)?