如何在 Angular 2.0 中进行 JWT 授权

Posted

技术标签:

【中文标题】如何在 Angular 2.0 中进行 JWT 授权【英文标题】:How to JWT Authorization in Angular 2.0 【发布时间】:2017-07-26 18:07:28 【问题描述】:

我想为 Angular 2.0 路由实现 JWT 授权,并用作显示/隐藏某些页面视图部分的指令,例如 ngAA 插件。

您对此有什么建议或插件吗?

【问题讨论】:

Angular2 方式可能是对路由器的保护,请参见official documentation。 【参考方案1】:

你需要的一些东西:

一种身份验证服务,允许登录、注销并检查您是否已通过身份验证(以便您可以使用例如*ngIf="auth.isLogged()"), 您将附加到路由器配置中受保护路由的身份验证保护, 一个登录组件/对话框和类似于注销的东西, 一种自动将Authorization 标头附加到受保护的API 调用的方法。

试试angular2-jwt 库,它提供了AuthHttp 包装在Angular 的Http 服务上,解决了最后一个问题。阅读以下指南可能会有所帮助:

“Angular authentication revisited” by blacksonic86 “Easy Angular Authentication with JSON Web Tokens” on Angular blog,将其视为 angular2-jwt 使用指南

【讨论】:

【参考方案2】:

您可以使用ng-jwt 库来获取角度+2

【讨论】:

以上是关于如何在 Angular 2.0 中进行 JWT 授权的主要内容,如果未能解决你的问题,请参考以下文章

无论用户登录如何,如何保护 Angular / .NET Core 2.0 应用程序中的所有 api 调用

如何在 Angular 8 中对客户端的 JWT 解码令牌有效负载进行编码?

OAuth 2.0 和 OpenID Connect 中的 JWT 安全性

.net core 2.0 JWT 令牌过期问题

如何在 Angular 中从服务器获取带有 jwt 令牌的响应标头

JWT 授权重定向到登录