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