Как хранить токен при использовании OAuth2 API

0

Я создаю приложение Angular front-end, которое потребляет данные от API Strava. Я создал службу back end в узлах и ExpressJS, где хранится мой идентификатор клиента и секрет клиента, и перенаправляет пользователя на страницу аутентификации Стравы, чтобы они могли разрешить моему приложению запрашивать их данные.

После аутентификации Strava перенаправляет пользователя обратно в мое приложение с его токеном доступа в качестве параметра строки запроса. Маркер доступа должен быть отправлен в API с каждым последующим запросом.

Мне интересно, за какие плюсы и минусы, как делать запросы к API. Насколько я понимаю, у меня есть следующие варианты:

  1. Храните клиентскую часть токена доступа в файле cookie и отправляйте запросы напрямую API Strava с лицевой стороны. Это нужно сделать с помощью JSONP из-за той же политики происхождения. (API Strava поддерживает JSONP).

  2. Сохраните сторону сервера токена доступа в переменной сеанса в моем приложении-узле и выполните все запросы через сервер узлов. Я бы создал свой собственный API, чтобы интерфейс мог взаимодействовать с узловым приложением.

Каковы плюсы и минусы каждого подхода?

Теги:
rest
oauth

1 ответ

0

Для чего-то нетривиального подхода на стороне сервера - это путь. Создание вашего собственного REST API дает вам большую гибкость, и это помогает вам отделить свои проблемы - ваше приложение с угловыми углами, вероятно, не лучшее место для использования в логике REST API.

Каждый поставщик REST API имеет ограничение скорости/квоты своего API. Таким образом, каждый запрос в реальном времени через ваше приложение Angular API Strava не может быть вариантом. Возможно, вам понадобится создать какую-то службу фона, которая кэширует необходимые данные из базы данных Strava в определенный промежуток времени. Затем вы показываете данные кэширования для своих пользователей каждый раз, когда они запрашивают ваш веб-сайт.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню