Оптимизация OIDC с помощью Identity Server 4 и Identity

Привет, я пытаюсь реализовать интерфейс Angular5 со страницей входа, которая аутентифицирует пользователей с помощью Authentication Api. Auth Api построен с использованием Identity Server 4 и Identity с .Net Core 2, тогда он сможет использовать защищенные API.

Насколько я понимаю, я должен использовать OIDC с неявным потоком для аутентификации с помощью Identity Server из пользовательского интерфейса Angular. Это должно выглядеть примерно так, как на диаграмме слева. Хотя мне бы хотелось, чтобы более упорядоченный и естественный вход в систему ощущался больше, возможно, что-то вроде того, что находится справа потоки безопасности

Я пытаюсь избежать перенаправления с Identity Server на страницу входа в мои приложения, а затем обратно в пользовательский интерфейс. В идеале я хочу иметь возможность POST моих учетных данных пользователя с Angular на сервер идентификации, это будет аутентифицировано, и токен и утверждения будут возвращены, вырезая поток в синем ящике между страницей входа и сервером идентификации.

Я планирую поддерживать внешние входы в систему, и если пользователь использует внешнюю аутентификацию, такую ​​как Google и т. Д., Это нормально, меня устраивает перенаправление. Но я хочу избежать этого для пользователей, которые используют мои сайты для входа в систему.

Извините за предстоящий открытый вопрос, но я нахожусь на той стадии, когда я не знаю того, чего не знаю относительно аутентификации и авторизации. Возможно, у того, что я хочу, есть название, просто я его не знаю.

Я использую для этого правильную технологию / поток? Как мне реализовать нужный мне тип потока?


person Jeff Finn    schedule 13.06.2018    source источник


Ответы (1)


Более «оптимизированный» подход, который вам нужен, может быть достигнут с помощью «потока владельцев ресурсов» в OAuth 2.0. Но по многим причинам вам следует избегать этого.

  • Пользователь вводит имя пользователя / пароль в другом домене, чем на сервере входа, и это проблема безопасности.

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

  • Идея заключается в полном абстрагировании аутентификации от клиентских приложений, поэтому вам не нужно беспокоиться о реализации какой-либо логики аутентификации в приложениях.

person tha4    schedule 14.06.2018