SPA的最佳流程

时间:2019-01-03 21:26:39

标签: angular oauth-2.0 single-page-application oidc

我应该使用仅提供隐式流程的当前受支持的库,还是从头开始编写自己的代码以处理代码流?

在对该主题进行了大量研究之后,我对使用OAuth2.0(OIDC)时使用哪种流类型有各种不同的看法。尽管建议似乎正在发生变化,但对新建议的支持却没有似乎不在那里。我应该走哪条路?

  1. 没有客户端密码和PKCE的代码流似乎是当前的“建议”。

  2. 隐性流似乎是过去的建议。

环顾四周后,我发现许多编写的Angular库都主要仅支持隐式流。

那么,问题又来了:将现有的库与建议的旧隐式流一起使用,还是编写我们自己的服务以使用PKCE处理新的无秘密代码流?

我的项目要考虑的事情:

  1. 在我们的应用中,首次登录后,您将必须选择一个组织,并根据该组织获得具有新作用域的新令牌。
  2. 我们将有一个主启动器应用程序,可根据您选择的应用程序打开iFrame。每个启动的应用还必须获得新的令牌。
  3. 经验有限,但我们愿意投入学习。
  4. 我们的期限很紧。

1 个答案:

答案 0 :(得分:0)

当前建议是将授权代码流与PKCE一起使用。首次发布OpenID Connect / OAuth 2.0时,建议对SPA使用隐式流程。但是由于安全方面的考虑,这种情况已经改变。不久将对这些规范进行修订以突出建议。

我建议将AppAuth-JS用作库。它通过PKCE提供授权码流支持。这是一个官方的Openid基础库。