Я создал приложение, которое по существу представляет собой веб-API REST. Я хотел бы дать другим разработчикам возможность вызывать эти API от имени пользователя. Я решил продолжить аутентификацию OAuth, взяв за основу мою службу аутентификации IdentityServer3. Прямо сейчас мне удалось создать токен доступа для стороннего клиента с помощью потока авторизации.
Что меня не убеждает, так это то, как обращаться с моим SPA, который в настоящее время вызывает мой веб-API, используя только аутентификацию на основе файлов cookie (+ токен защиты от подделки). Это приложение написано на Javascript на основе Backbone. По сути, он просто вызывает мой веб-API и отображает результаты. Меня смущают разные потоки грантов, и я не хочу создавать дыры в безопасности.
Решения, которые я подумал:
- сгенерировать токен напрямую через Javascript. Какой тип потока я должен использовать? Как справиться с обновлением токена?
- сгенерируйте токен из приложения внутреннего сервера и передайте сгенерированный токен обратно в SPA (очевидно, через канал SSL). Это как-то безопасно? Если да, какой поток мне следует использовать (я бы сказал, поток кода авторизации)? Как справиться с обновлением токена?
Как бы вы справились с этим?
Спасибо,
Марко