У меня есть экспресс-настройка приложения и вам нужна консультация по хранению жетонов.Узел Express - хранение и извлечение токенов аутентификации
Я получаю токен доступа с сервера OAuth 2 после аутентификации учетной записи пользователя, которую затем мне нужно использовать для последующих запросов api.
Я хочу скрыть значение маркера от клиента, и я считаю, что один из способов сделать это - сохранить токен на сервере в закодированном cookie, чтобы при выполнении дальнейших запросов они могли быть перенаправлены через промежуточное программное обеспечение и cookie можно затем использовать для извлечения сохраненной стороны маркера, а затем использоваться как значение заголовка в текущем запросе к фактической конечной точке api.
Кто-то на самом деле уже задал этот вопрос - How to store an auth token in an Angular app Это как раз поток, с которым я работаю в своем приложении, но ответ говорит об использовании Угловой службы, и я не уверен, что хотел бы сделать это, все могут обрабатываться Express, поэтому клиентский код не должен знать о токере, а также любые ошибки, возвращаемые сервером API.
Так резюме потока Я думаю, что нужно:
- пользователя отправляет регистрационный данные
- возвращает OAuth 2 сервера доступ маркера
- Токен сохраняется где-то в экспрессе, введенный с помощью идентификатора рода
- Файл cookie генерируется и отправляется обратно в ответ на клиент. Cookie содержит значение токена, закодированное, возможно? Или, может быть, идентификатор токена, хранящийся в компоненте промежуточного программного обеспечения Express?
- Клиент выполняет запрос api, который передает промежуточное программное обеспечение маршрута Express.
- Экспресс проверяет наличие файла cookie и либо декодирует значение токена, либо как-то извлекает его с сервера сервера хранилища.
- Токен значения затем используются в качестве заголовка между экспрессом и окончательной апи конечной
Там, вероятно, промежуточным уже там, который обрабатывает это любопытное дело, я уже видел PassportJS, который, кажется, чтобы быть своим родом вещью, которую я могу хочу использовать, но я не уверен, что он обрабатывает токен OAuth2 на сервере, с которым я работаю (предоставление пароля), и, похоже, больше подходит для потока OAuth для переадресации.
Мне обязательно нужно где-то сохранить значение токена в Express, поэтому некоторая форма хранения (не в памяти, я не думаю).
Я довольно новичок в Экспресс, поэтому буду благодарен за любые предложения \ советы о том, как подойти к этому.
Благодаря
Когда вы получаете токен с сервера Oauth2, его можно сохранить в пользовательской части. Вы можете использовать файл cookie или localstorage HTML 5. – trquoccuong
Хорошо, что подход cookie - это то, что я думаю, но ему нужно будет кодировать значение токена обратно клиенту, а затем каждый раз его расшифровывать для последующих запросов Express конечная конечная точка. – mindparse