Постоянный вход с помощью AWS с Xamarin

Я использую пакеты AWSSDK Nuget в своем мобильном приложении Xamarin (С#). Я аутентифицирую пользователя и получаю обратно AccessToken, RefreshToken, IdToken и т. д., но если пользователь закрывает приложение без выхода, как я могу получить эти токены?

Документов AWS для Xamarin, похоже, практически не существует. Я использую документы для .Net в качестве ресурса, но ничего не говорится о постоянном входе в систему.

Нужно ли мне брать на себя локальное хранение токенов на устройстве? Если да, то каковы наилучшие методы для этого?


person Tristan    schedule 28.09.2017    source источник
comment
Краткий ответ: да, вам нужно сохранить токены. Что касается того, на какие платформы Xamarin вы ориентируетесь?   -  person SushiHangover    schedule 29.09.2017
comment
Я ориентируюсь как на Android, так и на iOS. (Используя родной, а не Xamarin.Forms)   -  person Tristan    schedule 29.09.2017
comment
Используйте Keychain на iOS и KeyStore на Android. В качестве краткого справочника вы можете посмотреть, как Xaramin.Auth делает это для каждой платформы, если вы хотите просто получить исходный код (github.com/xamarin/Xamarin.Auth#42-store-the-account) или просто используйте весь пакет напрямую и позвольте компоновщику удалить неиспользованные части... не одобряю весь пакет, так как у меня есть проблемы с его безопасностью....   -  person SushiHangover    schedule 29.09.2017


Ответы (1)


Попробуйте Xamarin.Auth. Он имеет код для безопасного хранения токенов на клиентском устройстве. Пока доступен исходный код, вы можете использовать библиотеку как кроссплатформенную хранилище учетных записей или просто возьмите код для хранения данных для каждой платформы:

Магазин учетных записей iOS

Магазин учетных записей Android

Магазин учетных записей WinRT

Магазин учетных записей UWP

Библиотека регулярно обновляется и поддерживается. Попробуйте присоединиться к чату Xamarin Slack, чтобы быстро получить технические ответы.

person Zverev Evgeniy    schedule 29.09.2017