Как управлять пользовательским входом и регистрацией процессов в веб-API - PullRequest
0 голосов
/ 31 мая 2019

У меня есть веб-интерфейс API и мобильное приложение, которое пользователи могут регистрировать, входить в систему и вызывать (защищенные) методы веб-API, чтобы публиковать и получать некоторые данные от пользователя.Я использую Azure AD B2C для авторизации и проверки подлинности пользователей с помощью политик.После того, как пользователь зарегистрировался или вошел в систему, мобильная сторона имеет токен доступа и использует этот токен в запросе к веб-интерфейсу.

Но в моем случае мобильная сторона отправит имя пользователя в веб-интерфейс API, и я буду использовать MicrosoftGraph API для создания пользователя с именем пользователя и паролем по умолчанию. (Первый запрос без токена пользователя, потому что в данный момент нет пользователя или может быть специальным токеном, который знают обе стороны.) После того, как я создал пользователя на стороне сервера, я хочу получитьТокен доступа, используя objectId, пришедший в ответ на запрос на создание, или я хочу узнать, как получить токен доступа.

Когда у меня есть токен, я отправлю этот токен на мобильный телефон, а затем на мобильный отправлю запросы на веб-интерфейс API с помощью токена доступа.которые приходят с сервера.

Интересно, этот сценарий возможен и может быть реализован.

1 Ответ

0 голосов
/ 03 июня 2019

Архитектурно. Если я правильно понимаю, вы хотите защитить мобильное приложение и веб-API с помощью Azure AD B2C, что вполне возможно.

Вам необходимо сделать следующее:

  • Создание арендатора AD B2C.
  • Настройка политики регистрации или входа Используйте шаги, описанные в документации Azure AD B2C, для создания политики регистрации или входа . Назовите полис SiUpIn. Используйте значения примеров, приведенные в документации для поставщиков удостоверений, атрибутов регистрации и заявок приложений. Использование кнопки «Выполнить сейчас» для проверки политики, как описано в документации, необязательно.
  • Регистрация API в Azure AD B2C В недавно созданном клиенте Azure AD B2C зарегистрируйте свой API, выполнив действия, описанные в документации в разделе «Регистрация веб-API». После регистрации API отображается список приложений и API в клиенте. Выберите API, который был ранее зарегистрирован. Выберите значок «Копировать» справа от поля «Идентификатор приложения», чтобы скопировать его в буфер обмена. Выберите Опубликованные области и убедитесь, что область по умолчанию user_impersonation присутствует.

После добавления аутентификации к вашему веб-интерфейсу API вы можете протестировать его с помощью Postman. Для этого вам необходимо зарегистрировать постамн под своим арендатором B2C. Поскольку Postman имитирует веб-приложение, которое получает токены от клиента Azure AD B2C, оно должно быть зарегистрировано в клиенте как веб-приложение. Зарегистрируйте почтальона, используя шаги в документации в разделе «Регистрация веб-приложения». Остановитесь в секретном разделе «Создание клиента веб-приложения».

  • Недавно зарегистрированному веб-приложению требуется разрешение на доступ к веб-API от имени пользователя.

    • Выберите Почтальон в списке приложений, а затем выберите доступ к API в меню слева.
    • Выбрать + Добавить.
    • В раскрывающемся списке «Выбрать API» выберите имя веб-API.
    • В раскрывающемся списке Выбор областей убедитесь, что выбраны все области.
    • Выберите Ok.

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

Чтобы сделать аутентифицированный запрос к веб-API, требуется токен на предъявителя. Почтальон позволяет легко войти в клиент Azure AD B2C и получить токен. Взяв почтальона в качестве образца инструмента. - На вкладке Авторизация в раскрывающемся списке ТИП выберите OAuth 2.0. В раскрывающемся списке Добавить данные авторизации выберите Запрос заголовков. Выберите Получить новый токен доступа. enter image description here - Заполните диалоговое окно ПОЛУЧИТЬ НОВЫЙ ЖЕЛЕЗНЫЙ ДОКУМЕНТ следующим образом enter image description here - Нажмите кнопку «Запросить токен». - Почтальон открывает новое окно, содержащее диалоговое окно входа клиента Azure AD B2C. Войдите в систему с существующей учетной записью (если она была создана при проверке политик) или выберите «Зарегистрироваться сейчас», чтобы создать новую учетную запись. Забыли пароль? ссылка используется для сброса забытого пароля. - После успешного входа в систему окно закрывается и появляется диалоговое окно «Управление маркерами доступа». Прокрутите вниз и нажмите кнопку «Использовать токен». enter image description here - Теперь вы можете протестировать свой Web Api с помощью токена, также если вы хотите сохранить информацию suer до того, как вы сможете это сделать. Также задача «Политика регистрации» - создать пользователя для вас, когда вы нажимаете на запрос.

Надеюсь, это поможет. Пожалуйста, дайте мне знать, если вам нужна помощь.

...