我们维护一个使用OAuth保护的Web API。要使用API,您必须使用我们的auth服务器进行身份验证。 auth服务器使用访问令牌,刷新令牌和expires值(int)进行响应。访问令牌需要与Web API通信。
我们希望开发一个与API对话的SPA风格的网络应用程序(使用Angular JS或类似程序)。
我一直在研究安全方面的最佳实践,但我发现了很多相互矛盾的信息。
有人可以从安全的角度建议最佳做法。例如:
a)将访问令牌和刷新令牌发送到浏览器是否安全(显然使用https)? b)从防止CSRF攻击的角度来看,使用标头从Web应用程序而不是cookie发送令牌是否更好? c)通过代理服务器与Web API进行通信是否更安全?代理服务器以某种方式使用OAuth令牌生成新令牌并将其发送到浏览器?
如果问题看起来含糊不清,请道歉。我正在寻找用于Web应用程序的“规范”工作流程,如果存在这样的话。
堆栈溢出警告我,我的问题是主观的,但可能有基于证据的指导原则?