这是 jwt 不记名令牌授权的非常基本的展示案例,使用 Angular 作为前端,ASP.NET Core 作为后端。 ASP.NET Core3.1 angular7.2.1 与 systemjs。 (确保已安装 dotnet core 3.1 + 和 Angular7.2.1)
(为什么systemjs不是webpack?个人观点:webpack太复杂了,无法用于任何小尺寸、简单的应用程序,我宁愿牺牲效率让大多数程序员可以阅读我的示例代码)
现在你可以停止google并了解如何进行bear JWT token认证,很简单!
在后端:MS$ 提供中间件 AddAuthentication().AddJwtBearer() 来进行 Bear JWT 令牌身份验证,因此,事情变得像在 Startup.cs 中添加中间件一样简单
在前端(在本例中为 Angular):将令牌保存在 sessionStorage 中,并在与后端通信时,将 http(用于生产的 https)请求的标头设置为:
let headers = new HttpHeaders()
.set('Content-Type','application/json')
.set("Authorization", "Bearer " + token);
ASP.NET Core 3.1(VS2019 或 csproj 版本)中的 Angular 和 Material 7.2.1 以及 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”并在开始调试之前再次重建