Aqui está um exemplo muito básico para autorização de token de portador jwt, usando angular como front-end e ASP.NET Core como back-end. ASP.NET Core3.1 angular7.2.1 com systemjs. (Certifique-se de ter o dotnet core 3.1 + e Angular7.2.1 instalados)
(Por que systemjs não webpack? Opinião pessoal: webpack é muito complicado de usar para qualquer tamanho pequeno, aplicativo simples, eu prefiro escarificar eficiente para permitir que a maioria dos programadores possa ler meu código de exemplo)
Agora você pode parar no Google e descobrir como suportar a autenticação do token JWT, é simples!
No backend: MS$ fornece middleware AddAuthentication().AddJwtBearer() para suportar autenticação de token JWT, então, as coisas se tornam tão simples quanto adicionar o middleware em Startup.cs
No frontend (angular neste caso): salve o token no sessionStorage e, ao falar com o backend, defina o cabeçalho da solicitação http (https para produção) como:
let headers = new HttpHeaders()
.set('Content-Type','application/json')
.set("Authorization", "Bearer " + token);
Angular e material 7.2.1 em ASP.NET Core 3.1 (versão VS2019 ou csproj) com solução JWT.
Certificar-se:
O ASP.NET CORE 3.1 foi instalado, caso contrário, acesse aqui: https://www.microsoft.com/net/download/core
nodejs foi instalado, caso contrário, obtenha em https://nodejs.org/en/download/
após baixar este repositório, vá até a pasta com o arquivo ASPNETCoreAngularJWT.csproj e execute o comando:
>dotnet restore
>npm install
>npm start
Finalmente inicie o dotnet e o navegador http://localhost:5000 por
>dotnet run
E não se esqueça de executar "npm start" após modificar qualquer arquivo typescript.
Você pode executar isso para compilação angular e execução dotnet
>npm run runall
Também pode ser aberto pelo Visual Studio 2017 ou pelo Visual Studio Code. Depois de aberto pelo VS2017 e antes de executar como depuração, certifique-se de project-> propriedade -> Debug and App URL ="http://localhost:5000" e reconstrua novamente antes de iniciar a depuração