我已经在我的应用程序中实现了一个类似 facebook 的消息系统,现在我尝试使用 varnish 来提高性能。(即缓存用户消息对话)。必须保护用户对话,以便只有经过身份验证的用户才能查看它。
我使用 oauth2 来授权/验证用户,所以检索用户消息的请求是这样的。
curl -X GET user/{id}/message/thread/{thread} -H 'Authorization: Bearer XXX'
Run Code Online (Sandbox Code Playgroud)
据我了解清漆缓存,如果请求具有授权或 Cookie 标头,则清漆的默认设置不会缓存内容,我可以在清漆设置中对标头信息进行条带化,但是如果这样做,我将失去后端的控制权以识别如果用户是经过身份验证的用户。
所以我的问题是:在这种情况下使用清漆缓存的最佳做法是什么?
目前,我有一个解决方法,而不是在标头中发送授权,我将其附加为查询字符串,因此它将类似于
curl -X GET user/{id}/message/thread/{thread}?access_token=XXX
Run Code Online (Sandbox Code Playgroud)
它有效,但我觉得这不是一种正确的方法,有什么想法吗?
谢谢!