Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修改laravel中间件以使用firebase身份验证_Javascript_Laravel_Laravel 5_Firebase Authentication - Fatal编程技术网

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

Javascript 如何修改laravel中间件以使用firebase身份验证,javascript,laravel,laravel-5,firebase-authentication,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; // ... });

我在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中,我如何在中间件中检查用户是否登录。为此,我必须使用单独的数据库吗?请帮我朝正确的方向走。

你必须打电话:

 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后端库来验证令牌以检查用户是否登录。

一个php库正在开发中。当它准备好时,它应该提供类似的功能来铸造自定义令牌和验证Firebase id令牌。

您必须调用:

 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后端库来验证令牌以检查用户是否登录。


一个php库正在开发中。准备好了,,它应该为定制令牌和验证Firebase id令牌提供类似的功能。

您只需使用此laravel软件包通过Firebase进行身份验证

您只需使用此laravel软件包通过Firebase进行身份验证

我想在我的中间件中检查用户是否登录以保护我的应用程序路由。我从localStorage获取用户信息并将其存储在cookie中,然后在我的中间件中读取cookie,这是一种安全的方法吗?即使您在中间件中读取cookie,您仍然需要验证令牌。我建议现在只将上面获得的Firebase Id令牌存储在cookie中。在不久的将来,当php库准备好时,您将能够使用它来验证这一点。localStorage包含一些敏感数据,如刷新令牌,不应将其发送到后端,因为它不会过期,除非发生大的帐户更改,并且您不想冒泄露的风险。请确保您的站点通过https加密,并为您的cookie设置安全标志。同时请记住,id令牌每小时过期一次,因此您必须在每次刷新cookie时更新cookie值。firebase团队正在短期内开发一个php库,另外还有一个更好的会话管理解决方案,这将有助于您的案例。对于稍后阅读本文的人,现在是:auth.currentUser.getIdToken.ThenFunctionToken我想在我的中间件中检查用户是否登录以保护我的应用程序路由。我从localStorage获取用户信息并将其存储在cookie中,然后在我的中间件中读取cookie,这是一种安全的方法吗?即使您在中间件中读取cookie,您仍然需要验证令牌。我建议现在只将上面获得的Firebase Id令牌存储在cookie中。在不久的将来,当php库准备好时,您将能够使用它来验证这一点。localStorage包含一些敏感数据,如刷新令牌,不应将其发送到后端,因为它不会过期,除非发生大的帐户更改,并且您不想冒泄露的风险。请确保您的站点通过https加密,并为您的cookie设置安全标志。同时请记住,id令牌每小时过期一次,因此您必须在每次刷新cookie时更新cookie值。firebase团队正在短期内开发一个php库,另外还有一个更好的会话管理解决方案,这将有助于您的案例。对于稍后阅读本文的人,它现在是:auth.currentUser.getIdToken.thenfunctiontoken