【问题标题】:OAuth 2.0 Authorization Code flow using javascript使用 javascript 的 OAuth 2.0 授权代码流
【发布时间】:2017-01-15 18:19:36
【问题描述】:

我正在开发一个简单的 html5 前端应用程序,该应用程序从通用 OAuth 2.0 提供程序(例如 Keycloak 等)检索 OAuth2.0 访问令牌。假设用户之前在身份验证服务器(例如 Keycloak)上创建了客户端和用户,然后他在我的网页上提供以下参数:

  • 授权网址
  • 访问令牌网址
  • 客户 ID
  • 客户端密码

一种 Postman OAuth2.0 客户端:

注意:ClientId 和 Client secret 不会保存在任何地方,它们是由用户提供的。

我的问题是: 是否有任何 javascript 库来实现这种行为(邮递员)?

【问题讨论】:

  • 我同意@Ru​​bysmith,授权码授予类型不是为JS应用程序设计的。您必须使用隐式授权类型
  • @FlorentMorselli 我知道,但是这个前端应用程序的目的是测试授权代码流!

标签: javascript authentication oauth-2.0 token keycloak


【解决方案1】:

对于客户端 JavaScript 应用程序,您需要在 OAuth2 中实现 Implicit Grant Flow 而不是 Authorization Code Flow,因为在应用程序内部无法安全地保密。

Implicit Grant Flow

【讨论】:

  • 秘密不会保存在任何地方,因为它们是由用户通过网络表单提供的。顺便说一句,它没有回答关于 js 库的原始问题。
  • 自 2019 年起,建议 SPA 使用带有 PKCE 扩展且没有客户端密码的代码流。所以这个问题现在实际上是有道理的,这个答案已经过时了。
  • 可能你误解了我的初衷。我只是想在我自己的网络应用程序中模仿 Postman 的行为。此测试应用不会投入生产。
猜你喜欢
  • 2016-10-15
  • 2018-08-05
  • 2015-12-11
  • 2020-12-11
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 2014-11-04
  • 2020-03-01
相关资源
最近更新 更多