SPA 隐式流程与授权流程与混合流程
SPA Implicit Flow vs Authorization Flow vs Hybrid Flow
尽管存在一些安全问题,但似乎已就针对 SPA 使用 OpenId 隐式流程达成共识,使用 HTTPS 是否可以减轻该风险,或者使用其他流程类型更安全?例如授权或混合流程。
我认为如果您对 SPA 使用授权或混合流程,风险会更高,对于混合和授权代码,您必须保留一个在身份提供者和客户之间共享的密码,这在 SPA 的情况下非常危险。因为它是一个刷新令牌,如果被盗可以用来获取新令牌
你知道刷新令牌的寿命比 access_token 长,所以最好提供一个访问令牌(隐式流),有效期为 1 小时,而不是提供一个寿命更长且可以使用的刷新令牌代币
现在 SPA 的标准是将授权代码流与 PKCE 结合使用。这允许您通过 PKCE 使用动态机密请求长寿命令牌 (refresh_token)。
尽管存在一些安全问题,但似乎已就针对 SPA 使用 OpenId 隐式流程达成共识,使用 HTTPS 是否可以减轻该风险,或者使用其他流程类型更安全?例如授权或混合流程。
我认为如果您对 SPA 使用授权或混合流程,风险会更高,对于混合和授权代码,您必须保留一个在身份提供者和客户之间共享的密码,这在 SPA 的情况下非常危险。因为它是一个刷新令牌,如果被盗可以用来获取新令牌
你知道刷新令牌的寿命比 access_token 长,所以最好提供一个访问令牌(隐式流),有效期为 1 小时,而不是提供一个寿命更长且可以使用的刷新令牌代币
现在 SPA 的标准是将授权代码流与 PKCE 结合使用。这允许您通过 PKCE 使用动态机密请求长寿命令牌 (refresh_token)。