【问题标题】:Calling Javascript function from Laravel controller and return data从 Laravel 控制器调用 Javascript 函数并返回数据
【发布时间】:2018-06-29 13:50:07
【问题描述】:
我想从我的控制器调用一个 firebase auth 函数(在 Javascript 中),我希望返回的 token 回到我的控制器中,但我不知道如何继续。
我知道如何向控制器发布ajax 请求并取回数据,但是我不知道如何反过来提出请求。
如果您能将我和其他未来的用户引向正确的方向,我将不胜感激。
【问题讨论】:
标签:
javascript
laravel
laravel-5
firebase-authentication
【解决方案1】:
这是行不通的。
您知道网络服务器应该始终在线。这样一来,您就可以随时提出请求。
客户端(用户),不需要需要,并且并不总是在线。如果他们关闭浏览器窗口,您将无法再与他们互动。服务器将很难在您拥有的数千个用户中检查哪个用户刚刚宕机。
可以调用网络服务器,但不能调用客户端。
除此之外,如果您能够向客户端发出请求,则存在安全问题。
您可能应该做的,是从 Javascript 单独请求身份验证令牌,让 Laravel 调用 Firebase AUTH 服务器,然后返回它收到的令牌。
更新
可以使用server-push 向使用HTTP2 的客户端发出请求。要正确执行此操作,尤其是使用身份验证令牌,您将需要一些构建 Web 服务和安全性的经验。
【解决方案2】:
PHP 是服务器端语言,Javascript 是客户端语言。您不能在服务器上使用 javascript,反之亦然。如果您只需要生成 JWT 令牌,那么已经有可用的 PHP 库。但是如果你真的想在服务器上执行javascript,我认为不是这样,你必须使用nodejs