A -> 3rd Patry SMAL,domain-xyz.com
B ->我的应用后端(.net核心REST API),domain-b.com
C ->我的应用程序前端(反应应用程序),domain-c.com
当用户尝试登录 C 并重定向到 A 时,通过身份验证后, B 会发出一个令牌,该令牌在URL中添加到 C ,重定向从 B 发布到 C 。
它显示 C 中的URL,例如 domain-c.com/user_access_token ,并且该令牌用于使用 B 中的API
问题: URL中的可见令牌是一个问题,由安全测试人员报告
问题: 如何更改它以确保此模型安全?
请提出建议,谢谢!
答案 0 :(得分:0)
您正在谈论的流称为隐式授予流,您可以在其中直接在前端获得令牌。对于您来说,响应类型将为token
。
现在的问题是如何使其更安全。我建议不要将响应类型设置为token
,而应将其设置为响应类型code
。
这将为您提供前端的授权代码(而不是access_token),这对于试图窃取您的令牌的黑客来说是无用的。
现在,此代码已在C处接收,您将其发送到后端B。
立即使用client_id, client_secret
对A进行授权呼叫,并收到code
以获取access token
。使用此访问令牌为用户创建会话。