Я создаю кросс-платформенное мобильное приложение, которое взаимодействует с RESTful API, и я хочу использовать OpenID Connect для аутентификации моих пользователей. Я буду строить собственный сервер поставщика OpenID Connect.
OpenID.net утверждает, что:
OpenID Connect позволяет клиентам всех типов, включая браузер на основе браузера и собственные мобильные приложения, запускать входные потоки и получать проверенные утверждения о личности пользователей, которые вошли в систему.
Однако я не могу найти документацию, объясняющую, как фактически аутентифицироваться для клиента мобильного приложения.
Этот ответ в StackExchange дает понять, что OpenID Connect не поддерживает поток предоставления ресурсов на основе ресурса или потоки клиентских учетных данных.
Это просто оставляет поток "авторизационного кода" (обычно используемый серверными приложениями) и поток "неявный грант" (обычно используемый клиентскими приложениями). Оба они, похоже, полагаются на перенаправление пользователя на конечную точку авторизации провайдера и перенаправление провайдера обратно на URL-адрес клиента. Я не вижу, как это применимо к мобильному приложению.
Может кто-нибудь объяснить мне (или даже лучше, указать мне на учебник или какой-то примерный код), который объясняет, как это сделать?
Update
Чтобы уточнить: OpenID Connect полагается на клиента, перенаправляющего пользователя на конечную точку авторизации, а затем поставщик перенаправляет пользователя клиенту. В случае, если клиент не является веб-приложением, как это работает?