0

我想使用 IBM 应用程序 ID 从使用单独节点应用程序的 React 应用程序执行身份验证。我已经验证当从节点应用程序提供网页时可以进行身份​​验证(即我的配置是正确的)。我使用下面的文章作为指导。

我对流程的理解是:前端调用后端节点服务器上的一个登录api。节点服务器调用授权 oauth 端点,该端点通过节点服务器返回(重定向)到 App ID 登录页面到前端。

这种理解正确吗?如果是这样,如何(在节点服务器中)配置 App ID 以将 React 前端重定向到 App ID 登录页面?

https://www.ibm.com/cloud/blog/securing-angularnode-js-applications-using-app-id

4

1 回答 1

0

我会用 FE 做你的前端,用 BE 做你的后端

用户转到您的 FE 上需要授权的页面。FE 将用户重定向到 App ID 授权 URL。用户使用 App ID 进行身份验证。App ID 为浏览器提供了code一个重定向 URL,以返回您的网站或任何授权的 URL。这可以是你的 BE。您的 BE 处理代码并将其交换为 OAuth 令牌(取决于请求:访问令牌、身份令牌、刷新令牌)。BE 现在需要将用户重定向回您的 FE。

问题是您不想使用重定向将 OAuth 令牌传递给 FE。这意味着您需要调用 FE 的 BE 的另一种方法来为该用户传递令牌。

这些都不会占用您的任何处理能力,并且由非常简单的代码组成。检查您的设计,看看您是否真的需要通过 FE 和 BE 通信来复杂化。

这种理解正确吗?如果是这样,如何(在节点服务器中)配置 App ID 以将 React 前端重定向到 App ID 登录页面?

除非用户在 BE 的网页上,否则 BE 不会重定向用户。您可以调用您的 BE 来启动授权过程并让 BE 将重定向 URL 返回给 FE,但用户所在的页面必须将重定向发送给用户(例如按钮单击)。

于 2019-11-27T19:08:54.870 回答