Проектирам прост REST API с Stormpath
Facebook интеграция и се чудя кой би бил най-добрият модел за удостоверяване на потребителите. В момента нямам крайна точка за създаване на потребители, така че всички заявки към моите крайни точки се удостоверяват по следния начин:
- Вземете Stormpath
Application
обект въз основа наAPI_ID
иAPI_SECRET
, конфигуриран в моето приложение - Вземете Stormpath
Account
обект въз основа на Facebook токен, посочен във всяка заявка - Въз основа на състоянието на акаунта заявка за удостоверяване или отхвърляне
Това следва горе-долу официалното ръководство и работи добре, защото въпреки че потребителският акаунт не съществува той ще бъде създаден при първа заявка за получаване на акаунт към Stormpath. Има ли смисъл и достатъчно безопасно ли е? Търсих някаква документация или най-добри практики, но не можах да намеря нищо.
Също така ще трябва да получа/генерирам уникален потребителски идентификатор, за да мога да направя някои връзки с потребителските данни в моята система - така че друг въпрос, кой е най-добрият подход тук:
- Генерирайте някакъв уникален идентификатор, свържете го с имейла на потребителя, получен от Stormpath, и го запазете в моята система - мисля, че това малко нарушава идеята за такава услуга като Stormapth, която капсулира всички потребителски данни
- Направете същото като по-горе, но го запазете в Stormpath Account
customData
- Използвайте идентификатор на потребителски ресурс Stormapth, който може да бъде получен от URI на потребителя
Моля, посъветвайте.
Само за протокола използвам Stormpath Java SDK и проектирам API да бъде бекенд за мобилни устройства социално приложение, така че сигурността е много важна за мен.