Управление пользователями Identityserver4, когда нужны только внешние пользователи - PullRequest
0 голосов
/ 05 октября 2018

Мой сценарий: у меня есть клиентское приложение ASP.NET MVC, которое я сейчас защищаю с помощью IdentityServer4, используя IDSRV4 только в качестве Федеративного шлюза (локальные пользователи не требуются).т. е. любой пользователь, получающий доступ к приложению, может аутентифицироваться только с использованием внешнего поставщика (либо ADFS для пользователей нашей внутренней компании, либо бельгийский провайдер входа в систему eID через SAML2 для внешних пользователей, которые являются гражданами Бельгии).IDSRV4 возвращает внешние заявки клиентскому приложению (используя промежуточное программное обеспечение OpenIDConnect OWIN), которое затем используется для входа в систему пользователя.

Этот поток работает с точки зрения аутентификации (т. Е. Идентификационный токен).Однако я немного сбит с толку, если мне понадобится постоянное хранилище пользователей на моем IDSRV4 (например, ASP.NET Core Identity), если я захочу начать запрашивать токены доступа, или если я смогу просто продолжать жить с пользователями InMemory (или даже нет)хранить на всех) как ВСЕ мои пользователи ВСЕГДА будут определены одним из двух вышеупомянутых внешних провайдеров.

Спасибо за любую информацию.

Матье

1 Ответ

0 голосов
/ 05 октября 2018

Вам не понадобится постоянное хранилище пользователей для раздачи токенов доступа, которые обрабатываются Identity Server.Конфигурация клиентского приложения в IdentityServer должна использовать гибридный поток (AllowedGrantTypes = GrantTypes.Hybrid), а клиентское приложение должно запрашивать код авторизации, а также маркер идентификации (options.ResponseType = "code id_token").

Однако не рекомендуется передавать уникальную идентификацию пользователей (утверждение субъекта или другое утверждение, идентифицирующее пользователя) от внешнего поставщика вашим клиентским приложениям.Возможно, вы захотите сопоставить эту пользовательскую информацию с вашей собственной уникальной идентификацией пользователя.В этом случае вам потребуется постоянное хранилище пользователей, чтобы сохранить собственную уникальную идентификацию пользователя.

...