我需要开发一个带有节点js的混合应用程序,用于用户身份验证和laravel用于app功能,而python用于复杂计算。因此,前面的每个请求都应该到达节点js,并且从那里请求将被转移到相应的平台(laravel或pynton).Node js应该充当这个中间件。如何在这些多个平台之间进行通信,并且是可用于这种混合应用程序开发的任何架构。可以使用REST apis进行通信,但是如何可以进行身份验证。
答案 0 :(得分:0)
:您可以将ExpressJS http://expressjs.com/框架用于REST API
Python 中的:您可以将Django框架https://www.djangoproject.com/用于REST API
您可以将AJAX request
从使用Laravel
构建的前端发送到您的NodeJS服务器,并在验证登录后,您可以发送如下所示的用户身份验证状态:
登录失败:
{
status:"error",
message:"Login Failed , Invalid Credentials"
}
登录成功:
{
status:"success",
message:"Login Successful",
user:{
id:"",
name:"",
email:"",
...
}
}
但现在您必须将此用户登录到您的Laravel系统,所以
您需要为登录,注销和注册开发自定义功能。
但这不是正确的方法,因为它变得非常耗时,相反我建议您只使用一个命令php artisan make:auth
<使用Laravel内置的 Auth系统 / p>
我还建议你选择NodeJS或Laravel作为后端,因为两者都很强大。
在NodeJS中提供各种NPM包:
expressjs:http://expressjs.com/
body-parser:https://www.npmjs.com/package/body-parser
multer:https://github.com/expressjs/multer
ejs:http://ejs.co/
异步:https://caolan.github.io/async/
请求:https://github.com/request/request
socket-io:https://socket.io/
lodash:https://lodash.com/docs/
nodemailer:https://nodemailer.com/about/
node-mysql:https://github.com/mysqljs/mysql
猫鼬:http://mongoosejs.com/docs/
redis:http://redis.js.org/
在Laravel中,您可以使用composer 使用不同的包社交名媛:https://github.com/laravel/socialite
护照:https://github.com/laravel/passport
PHP邮件程序:https://github.com/PHPMailer/PHPMailer
碳:http://carbon.nesbot.com/docs/
Pusher:https://pusher.com/
等...... Laravel提供了许多内置的功能。
如果您的系统拥有的用户数量超过将NodeJS用作Backend更好的用户。
最后根据您的要求,选择是您的。您可以通过创建REST API端点并使用前端的AJAX调用它们来在这些应用程序之间进行通信。