После получения токена доступа для выполнения запросов API от имени пользователя, каков «правильный» способ сохранить сеанс пользователя и токен подключенными? - PullRequest
0 голосов
/ 26 сентября 2019

В настоящее время я разрабатываю сервер идентификации 4, API-интерфейс, защищенный областями, определенными на сервере идентификации, и сервером мобильных приложений, который будет получать информацию от API.

К настоящему времени я уже хорошо поняло том, как использовать токены авторизации и доступа и как выполнять правильные потоки, однако я попал в дилемму, когда начал смотреть на сеанс пользователя между мобильным приложением и сервером.После получения токена доступа и идентификатора, который в основном служит подтверждением входа / авторизации пользователя, какой будет «правильный» способ сохранить его и сохранить сеанс в приложении?

Изначально я думал об использовании файлов cookie, но мне сказали, что он плохо работает с мобильными приложениями (я почти ничего не знаю об android / ios), после чего я рассмотрел вопрос о создании JWT на сервере.что казалось неправильным, учитывая существование сервера идентификации, который уже производил токены.И с этим, как бы я связал сеанс с токеном доступа для выполнения запросов API?

TLDR:

  • После получения токена доступа и идентификатора для клиента, что "правильно"существуют ли способы поддерживать сеансы между клиентом и мобильным приложением?
  • Как связать сеанс с токеном доступа, используемым при необходимости запросов API?

Спасибо!

1 Ответ

0 голосов
/ 26 сентября 2019

Для современного собственного мобильного приложения я бы предложил использовать поток кода авторизации (через браузер по умолчанию на устройстве) с PKCE и хранить токен обновления в безопасном анклаве устройства.Это может быть защищено встроенным PIN-кодом или биометрическими функциями.

С помощью этого (тщательно защищенного) токена обновления вы можете поддерживать длительный сеанс без необходимости взаимодействия по фронтальному каналу (т. Е. С веб-браузером) со службой OIDC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...