Объяснение OAuth с помощью Xamarin.Forms | Кодементор

Использование OAuth2 и вход в сторонние сервисы с помощью Xamarin.Forms, как оказалось, не так уж и плохо. Несмотря на то что, Xamarin. Auth очень приятно, иногда помогает понять, как работает OAuth, не отвлекаясь. На самом деле, как вы узнаете из этого поста, нам даже не нужны отдельные библиотеки, кроме Xamarin.Forms и библиотеки HTTP для обработки авторизации.

Надеюсь, из этой статьи вы поймете, как работает сторонний OAuth и реализуете его без библиотеки не только для Xamarin.Forms, но и для любой другой платформы.

Выберите провайдера

Прежде чем начать, выберите стороннего поставщика аутентификации по вашему выбору: Spotify, Google, Facebook, Microsoft — все это хорошие примеры. Я думаю Auth2.0 тоже должно работать. Более или менее процесс для всех одинаков.

На соответствующих порталах разработчиков вам нужно будет зарегистрировать приложение и предоставить callback URL. Вот инструкции к зарегистрировать приложение с помощью API Microsoft Graph.

Не беспокойтесь слишком о том, что вы предоставляете в качестве callback URL . Вы можете использовать example.com на данный момент, чтобы увидеть функциональность и изменить ее позже, когда вы поймете, что она делает. URL-адрес обратного вызова имеет большее значение для веб-сайтов, чем для мобильных приложений.

Общая идея

Настройка аутентификации для вашего приложения состоит из 5 основных шагов:

1. Пользователь нажимает кнопку, и мы перенаправляем пользователя к поставщику аутентификации.

Обычно после того, как пользователь нажимает кнопку входа в систему, вы отправляете его по следующему URL-адресу:


  • Обычно запрос GET, который мы делаем
  • Передайте набор областей, поэтому, если нам потребуется дополнительная информация от Microsoft или Facebook о пользователе, наше приложение имеет на это разрешение.
  • Вот образец список областей в API Microsoft Graph.

2. Auth Provider обрабатывает процесс входа в систему для нас.

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

Изображение блога Silverback sb_float_center

3. Поставщик аутентификации связывается с URL-адресом обратного вызова.

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

  • URL-адрес обратного вызова — это то, как наше приложение уведомляется об успешном входе пользователя.
  • Обычно URL-адресом обратного вызова является наш собственный веб-сайт.

Если вам все еще не ясно, не волнуйтесь, это будет иметь больше смысла в реализации.

Если пользователь прошел аутентификацию правильно, один из параметров в URL-адресе обратного вызова будет код. Вы можете прочитать пример этого в Майкрософт документы здесь.

Вот как это может выглядеть:

  https:

5. Сделайте POST-запрос для обмена обратным вызовом код для токен доступа

После того, как пользователь вернется на наш сайт, мы сделаем последний POST-запрос в фоновом режиме, где мы код мы получили для нашего финала токен доступа. Осторожно, большинство токенов доступа действительны только в течение часа!

6. (Необязательно) Запросить маркер обновления так токен доступа никогда не заканчивается.

Мы можем обменять наш токен доступа на обновить токен бесконечно, поэтому нашим пользователям не нужно снова входить в систему; просто сделайте это безопасно в бэкэнде.

В Часть 2 этой серии я расскажу о том, как мы реализуем аутентификацию с помощью Xamarin.Forms.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *