2016-03-03 2 views
1

Мобильные устройства aren't considered конфиденциальный клиент, то есть он не может хранить секреты. В случае OAuth2 это означает, что токен обновления и секрет пользователя не должны храниться на устройстве. Следовательно, после того, как токен доступа истек, его невозможно обновить, и пользователю будет предложено снова войти в систему.OAuth2 & Мобильные устройства - как сохранить длительную сессию пользователя?

Есть ли способ сохранить длинную сессию пользователя, а затем создать долгоживущий токен доступа? Разве это не bad practice, чтобы иметь долгоживущий токен доступа?

+0

я хотел бы найти ответ на это, а также. [Этот пост] (https://alexbilbie.com/2013/09/securely-store-access-tokens-in-single-page-web-app/) предлагает проксировать все вызовы через серверный скрипт, который может добавить необходимые жетоны. Но мне непонятно, как вы должным образом защищаете этот скрипт без отдельного сеанса, и это, похоже, победит цель OAuth. –

ответ

0

Это стандартная практика хранения и обновления токенов в защищенном пространстве на устройстве. На iOS вы должны хранить их в цепочке ключей. Для получения более подробной информации о том, как это сделать, см этот ответ:

Storing access token and refresh token in KeyChain

+0

Брелок можно прочитать, если телефон взломан или взломан. См. «Основные 10 мобильных рисков OWASP» (https://www.owasp.org/index.php/Mobile_Top_10_2014-M2) –

Смежные вопросы