Вот очень простой пример авторизации токена-носителя jwt с использованием angular в качестве внешнего интерфейса и ASP.NET Core в качестве внутреннего. ASP.NET Core3.1 angular7.2.1 с systemjs. (Убедитесь, что у вас установлены dotnet core 3.1 + и Angular7.2.1)
(Почему systemjs не веб-пакет? Личное мнение: веб-пакет слишком сложен для использования в любом простом приложении небольшого размера, я скорее раскритиковал его эффективность, чтобы позволить большинству программистов прочитать мой пример кода)
Теперь вы можете остановить Google и узнать, как выполнить аутентификацию токена JWT, это просто!
На бэкэнде: MS$ предоставляет промежуточное программное обеспечение AddAuthentication().AddJwtBearer() для аутентификации токена JWT, поэтому все оказывается так же просто, как добавить промежуточное программное обеспечение в Startup.cs.
Во внешнем интерфейсе (в данном случае angular): сохраните токен в sessionStorage и при разговоре с серверной частью установите заголовок запроса http (https для производства) как:
let headers = new HttpHeaders()
.set('Content-Type','application/json')
.set("Authorization", "Bearer " + token);
Angular и материал 7.2.1 в ASP.NET Core 3.1 (версия VS2019 или csproj) с решением JWT.
Убеждаться:
ASP.NET CORE 3.1 установлен, если нет, скачайте отсюда: https://www.microsoft.com/net/download/core
nodejs установлен, если нет, скачайте его с https://nodejs.org/en/download/.
после загрузки этого репозитория перейдите в папку с файлом ASPNETCoreAngularJWT.csproj и выполните команду:
>dotnet restore
>npm install
>npm start
Наконец запустите dotnet и браузер http://localhost:5000 с помощью
>dotnet run
И не забудьте запустить «npm start» после изменения любых файлов машинописного текста.
Вы можете запустить это для угловой компиляции и запуска dotnet.
>npm run runall
Также его можно открыть как в Visual Studio 2017, так и в Visual Studio Code. После открытия VS2017 и перед запуском в качестве отладки убедитесь, что свойство проекта -> Отладка и URL-адрес приложения = "http://localhost:5000" и перестройте заново, прежде чем начать отладку.