如何修改laravel中间件以使用firebase身份验证

时间:2016-06-23 09:32:20

标签: javascript laravel laravel-5 firebase-authentication

我在laravel和firebase中工作,作为身份验证和数据存储的后端。我正在使用firebase提供的js代码来登录用户

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});

问题是我想保护我的路由免受非认证用户的影响。我如何在我的中间件中检查用户是否登录,因为js将当前用户的uid存储在localStorage中。我是否必须为此目的使用单独的数据库?请帮我走正确的方向。

2 个答案:

答案 0 :(得分:3)

你必须致电:

 auth.currentUser.getIdToken().then(function(token) {
   // The Firebase id token is returned here.
   // You will have to send that along your requests to your server.
   // Keep in mind this is a short lived token
   // You have to call getToken each time you need it in case
   // it is auto refreshed underneath.
 });

目前,Firebase提供了node.js和java后端库来验证令牌(以检查用户是否已登录)。 https://firebase.google.com/docs/auth/server

一个php库正在开发中。准备就绪后,它应该提供类似的功能,用于铸造自定义令牌和验证Firebase ID令牌。

答案 1 :(得分:0)

您可以使用此https://github.com/vinkas0/firebase-auth-laravel laravel包通过firebase进行身份验证