Вход в sso с использованием oauth2 / OIDC без перенаправлений — возможно?

Я пытаюсь выяснить, что мне нужно сделать для реализации единого входа.
Так что в основном я строю:

а) сайт php (example.com)
б) Android-приложение (com.android.example)

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

Что я не понимаю — как люди реализуют форму авторизации на сайте, которая проходит аутентификацию на сервере OIDC без перенаправлений? Если я правильно понимаю — поток OIDC требует перенаправления пользователя на другой веб-сайт для входа в систему … Как этого избежать, чтобы взаимодействие с пользователем было легким для входа в систему с помощью моего личного сервера OIDC (для других социальных учетных записей, таких как Google, — мне все равно о перенаправлениях)?

0

Решение

Если у вас уже есть форма входа в систему и вы собираете учетные данные пользователя, вы сможете воспользоваться потоком «Учетные данные владельца ресурса», также известный как тип предоставления «пароль». Этот тип определяется спецификацией OAuth и наследуется OIDC.

Тип предоставления пароля позволяет клиенту OAuth / OIDC напрямую отправлять учетные данные пользователя на сервер OAuth / OIDC. Этот грант является хорошим пользовательским опытом для доверенных сторонних клиентов как в Интернете, так и в собственных приложениях для устройств.

Вы в основном отправляете запрос на /accessToken конечная точка для вашего сервера OIDC, предоставляющая:


grant_type=password&client_id=ID&client_secret=<SECRET>&username=USERNAME&password=PASSWORD

Более подробная информация доступна на: https://tools.ietf.org/html/rfc6749#section-1.3.3

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]