Как аутентифицировать пользователя из приложения asp. net core 3.0 / angular и авторизовать приложение для доступа к API с помощью IdentityServer4 - PullRequest
0 голосов
/ 07 января 2020

Я уже реализовал эту задачу для приложения WinForms, используя IdentityModel.OidcClient и IdentitityServer4 . Следующая задача - сделать это за angular. В документе ID4 говорится, что нативные приложения и SPA могут обрабатываться с тем же потоком, потоком «кода авторизации», что и Интерактивные клиенты . Так можно ли использовать первый реализованный dll (net стандарт 2.0) из Angular? Он использует OidcClient для входа в системный браузер, получает перенаправленный URI с кодом и, наконец, получает токен доступа из кода.
Или мне следует использовать JavaScript реализацию OAuth2.0, см. oid c -client. js

1 Ответ

0 голосов
/ 07 января 2020

Документ ID4 гласит, что нативные приложения и SPA могут обрабатываться с тем же потоком, потоком "кода авторизации", что и интерактивные клиенты

Вы должны использовать код авторизации + PKCE , Без последнего вам нужно будет использовать секрет клиента, который будет раскрыт в вашем клиентском коде, а это не то, что вам нужно.

Так возможно ли использовать первый реализованный dll (. net standard 2.0) из Angular?

Невозможно загрузить и использовать сборка с javascript. Это две независимые технологии. (просто чтобы быть понятным, есть новая вещь, называемая webassembly, которая начинает поставляться с браузерами и позволит вам запускать код сборки в браузере, но это не так: c)

Или я должен использовать JavaScript реализацию OAuth2.0, см. oid c -клиент. js

Да, вам следует использовать Javascript реализацию OpenID Connect (которая расширяет OAuth2 .0) js client, и yes oid c -client- js от Brock Allen - библиотека, необходимая для достижения этой цели.

...