对于使用OpenId Implicit Flow for SPA似乎已达成共识,尽管存在一些安全问题,使用HTTPS是否可以降低风险,或者使用其他流类型更安全?例如授权或混合流程。
答案 0 :(得分:0)
我认为,如果对SPA使用授权或混合流,则风险会更高;对于混合和授权代码,您必须保留一个在身份提供者和客户端之间共享的秘密代码,这对于SPA来说是非常危险的。因为它是一个刷新令牌,如果被盗可以用来获取新令牌
您知道刷新令牌的寿命比access_token长,因此最好提供1小时的访问令牌(隐式流),而不是提供寿命更长并且可以用来获取新令牌的刷新令牌
答案 1 :(得分:0)
SPA的当前标准是将授权代码流与PKCE一起使用。这样,您就可以通过PKCE使用动态机密来请求长期存在的令牌(refresh_token)。