在第三台服务器中使用Firebase身份验证cookie

时间:2018-12-27 19:29:32

标签: firebase google-app-engine cookies web-applications firebase-authentication

我有一个部署在Firebase Hosting上并使用Firebase身份验证的Web应用程序。

我还有一个部署在Google App Engine上的后端服务器,可以为该应用提供服务。 如何在后端服务器中获取Firebase-UID Cookie来验证用户?

我不想强制应用为每个请求添加cookie内容作为参数。

1 个答案:

答案 0 :(得分:0)

当我使用Google Identity Toolkit(此后并入Firebase身份验证)时,花了很长时间才能完成身份验证令牌检查,因此我不想为每个后端请求都这样做。

所以我要做的是(通常)每个用户会话执行一次,并在成功验证后为用户创建一个唯一的内存缓存条目,并将其密钥放在用户会话信息中。因此,对于同一会话的后续请求,我只会检查会话信息是否包含内存缓存密钥,如果是,则检查是否存在相应的内存缓存条目-内存缓存密钥查找比令牌验证快得多。完成图片唯一需要做的就是在用户注销时删除内存缓存条目。如果需要,您还可以在一定时间后强制执行令牌重新检查-只需设置内存缓存条目的过期时间即可。

注意:memcache条目可以随时消失,即使用户没有注销,这也需要另一次令牌验证-因此每个会话多次。但就我而言,这种情况很少发生。