Использование Xamarin.Auth с пользовательской конечной точкой / веб-сервисом
Я реализую авторизацию входа в моем приложении. На данный момент я использую интерфейс IOC, который хранит мою электронную почту и пароль в хранилище устройства (он использует SharedPreferences в Android и класс NSUserDefault в iOS). Когда я перехожу на экран входа в систему, я должен указать свой адрес электронной почты и пароль, а затем отправить эти данные на сервер API. Ответ сервера является токеном аутентификации, установленным в заголовке запроса "Set-Cookie". Я должен установить этот токен авторизации в каждом запросе к API сервера. Срок действия токена истекает через определенное время, значение которого также указывается в заголовке запроса. По сути, сейчас все работает хорошо, но проблема в том, что, как мы знаем, сохранение конфиденциальных данных, таких как электронная почта и пароль пользователя в SharedPreferences/NSUserDefaults, не является хорошей идеей. Поэтому мне было интересно, смогу ли я достичь этого с помощью Xamarin.Auth. AFAIK Xamarin.Auth работает только с провайдерами идентификации, такими как Facebook, Google, OAuth и т. Д.
Это возможно? Могу ли я использовать Xamarin.Auth для безопасного сохранения этих значений?
1 ответ
Это определенно должно работать, взгляните на GitHub-репозиторий Xamarin.Auth.
Страница "Начало работы" гласит, что вы можете легко расширить / настроить Xamarin.Auth для работы с конечной точкой:
Xamarin.Auth включает в себя аутентификаторы OAuth 1.0 и OAuth 2.0, обеспечивающие поддержку тысяч популярных сервисов. Для служб, которые используют традиционную аутентификацию по имени пользователя и паролю, вы можете свернуть свой собственный аутентификатор, производный от FormAuthenticator.
Если вы хотите пройти проверку подлинности на основе якобы неподдерживаемой службы, не бойтесь - Xamarin.Auth расширяема! Очень легко создавать свои собственные аутентификаторы - просто используйте любой из существующих аутентификаторов и начните переопределять методы.