【问题标题】:Implementing client credentials (JWT Bearer Token) into an Angular 2+ client app在 Angular 2+ 客户端应用程序中实现客户端凭据(JWT 不记名令牌)
【发布时间】:2019-10-31 05:40:39
【问题描述】:

我正在设置一个 Angular 7 客户端应用程序来

  1. 阅读 Excel 电子表格
  2. 在excel中解析数​​据
  3. 从我们的 OpenId Connect 服务器获取 JWT Bearer 令牌
  4. 使用该令牌通过 Excel 文件中的数据访问内部 API

在 Angular 中获取 JWT Bearer 令牌的最佳方式是什么?我在文档中没有找到任何具体的内容。如果这很重要,我们会使用 IdentityServer。

我尝试安装大量 NPM 包来帮助使用 OpenId 进行身份验证,但似乎我尝试过的所有库都只实现了隐式流。

【问题讨论】:

  • 如果我没看错,您就不会在应用程序的角度实现 client_credentials 流程。直接通过前端获取客户端令牌必然会暴露您的客户端机密;不?这可能是所有 Angular 包只支持隐式的原因。
  • 我对这里的术语不是很熟悉,但是在 Swagger 中,它自动实现了通过 Swagger GUI 添加客户端凭据的功能。这基本上是我试图用 Angular 实现的。用户登录并输入客户端密码的地方。顺便说一句,这是一项内部服务,永远不会在外部可用。

标签: angular oauth openid-connect


【解决方案1】:

您的后端服务器是什么?我可以为您提供一些代码示例,以使用 ASP.NET Core 作为后端在 Angular 中实现 JWT。 同时你也可以看看https://medium.com/@amcdnl/authentication-in-angular-jwt-c1067495c5e0

【讨论】:

  • 我没有后端。这是 100% 由我在客户端解析的 excel 文件驱动的。我使用在 .net 框架上运行的 IdentityServer3 作为 oauth 部分
【解决方案2】:

我推荐使用@auth0/angular-jwt,它有非常有用的助手

  • 您可以在令牌过期时查看
  • 您的访问令牌会在每次 Http 调用标头内的服务器时自动发送

【讨论】:

  • 这可能正是我想要的!如果可行,我会试一试并编辑它
猜你喜欢
  • 2022-06-16
  • 1970-01-01
  • 2022-07-14
  • 2020-04-19
  • 2021-08-12
  • 2021-10-26
  • 2017-12-04
  • 2017-10-06
  • 1970-01-01
相关资源
最近更新 更多