我不知道这是否会成功,或者这是正确的做法.
我创建了一个angularjs应用程序,并使用firebase为我的应用程序提供"后端",或者包含我的应用程序所需的任何数据.
在处理身份验证时,我也不想打扰自己,而FirebaseSimpleLogin只是这项工作的绝佳工具.
我可以:
resolve : { 'isAuthenticated': isLoggedIn }
在我的路线中,所以我可以阻止他们移动到安全的路线.所以没有问题,我已经有一个经过身份验证的用户.
问题是,我只使用firebase来保存用户数据和auth,没有别的.
现在我想在我的服务器中执行一些服务器任务,但我希望只有经过身份验证的用户才能执行此操作.
我如何确定用户在firebase中进行了身份验证?
这是firebase令牌生成器的用途.
或者我应该使用nodejs创建一个身份验证系统?
检查队列模式.让用户将项目写入队列,让服务器响应它们.
使用Firebase作为API /中间人的真正重要的一点是,工作人员(即服务器)不需要担心客户端是否已经过身份验证.安全规则负责这一点.
只需编写一条规则,只允许登录用户写入队列:
{ "rules": { "queue": { "in": { // I can only write if logged in ".write": "auth !== null", "user_id": { // I can only write to the queue as myself, this tells the server which // out/ queue the user will be listening on ".validate": "auth.uid === newData.val()" } }, "out": { "$userid": { // I can only listen to my out queue ".read": "auth.uid === $userid" } } } } }
现在,用户只需将记录写入/使用push(),然后侦听/直到服务器回复.
服务器从in/queue中读取记录,处理它们,并将它们写回out/user_id路径.
没有RESTful协议,没有快速服务器,没有头痛.