Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security SPA+API服务器和传统Web应用程序的单一身份验证模型(OIDC方式)_Security_Oauth_Oauth 2.0_Openid Connect - Fatal编程技术网

Security SPA+API服务器和传统Web应用程序的单一身份验证模型(OIDC方式)

Security SPA+API服务器和传统Web应用程序的单一身份验证模型(OIDC方式),security,oauth,oauth-2.0,openid-connect,Security,Oauth,Oauth 2.0,Openid Connect,我正在设计一个适用于SPA+API服务器和web应用程序的单一身份验证模型。 从这里获得了一些见解,可以在cookie form none httpOnly中使用access/id令牌进行web应用程序集成 尝试采用OIDC公共客户端和PKCE的方式,这种集成对于SPA+API服务器是可行的,但我仍停留在令牌上 传统web应用程序的更新流程。Oidc静默更新流由前端通道启动,当访问令牌过期时,web应用程序检索新访问令牌的选项是什么?假设来自IdP的会话未过期 您应该使用OpenID连接混合流。

我正在设计一个适用于SPA+API服务器和web应用程序的单一身份验证模型。 从这里获得了一些见解,可以在cookie form none httpOnly中使用access/id令牌进行web应用程序集成

尝试采用OIDC公共客户端和PKCE的方式,这种集成对于SPA+API服务器是可行的,但我仍停留在令牌上 传统web应用程序的更新流程。Oidc静默更新流由前端通道启动,当访问令牌过期时,web应用程序检索新访问令牌的选项是什么?假设来自IdP的会话未过期


您应该使用OpenID连接混合流。这将向您的前端和传统后端Web应用程序发放代币。它还允许您向每个人发行不同种类的代币,并具有不同的权利要求

更具体地说,前端可能只获得:

ID令牌;或 ID令牌和接入令牌;或 ID令牌、访问令牌和刷新令牌。 此外,后端只能发布这些的任意组合

如果您不熟悉混合流,可以使用

对于前端,您有两个选项可以在不提示用户的情况下继续访问受保护的资源:

依靠你提到的前端通道方法或 向SPA颁发刷新令牌 在刷新情况下,请注意以下内容:

无论何时兑换,都应重新创建刷新令牌 刷新令牌必须在某个时间或在某个非活动期后过期 续订的刷新令牌不得在原始令牌的生存期之后续订 如果您执行了这些操作,那么向SPA颁发刷新令牌仍然存在风险,因此请考虑:

没有发布一个或多个 将两种方法结合使用 当执行SSO+RT组合时,您可以将刷新令牌的生存期限制为不会对用户与API的交互产生重大影响的时间,同时仍然要求他们以一定的频率证明对原始凭证的控制,以抵消风险。在这种情况下,通过在授权服务器上允许SSO,可以减少必须登录的摩擦。这也会带来风险,因此其寿命应该受到限制

我将所有这些超时视为旋钮,您可以转动和扭转这些旋钮,以确保足够的安全性


延长传统后端应用程序的访问期限可以使用相同的两个选项SSO或RT来完成。

感谢此。。。尤其是浏览器应用程序上Oauth2的ietf。但我的问题是,当当前用户活动页面位于web服务器上时,我们如何执行访问令牌更新,web服务器通常是后端驱动的。我突然想到了一些想法:-1当访问令牌过期/接近过期时,web服务器将用户重定向回新访问令牌的身份验证端点,并再次重定向回web服务器,但这可能会导致用户可见的可用性问题,而不是iframe。2使用专用客户端进行web服务器集成,使用OIDC会话管理检测会话不活动。3将访问和刷新令牌存储在浏览器、web服务器中,以便在访问令牌即将过期时续订,同时替换cookie example.com中的访问令牌。遗漏了关于传统后端web应用程序@bLaXjack的部分。我更新了我的答案。混合流将向SPA和WA颁发不同的访问令牌,这与问题中的articlelink不同。我想让这个问题更具体一些。。如果SPA和WA都共享访问令牌,WA可以更新访问令牌吗?虽然可能与本文不同,但我对如何设计auth模型的回答仍然相同。