Node js + Laravel + Python Communication для разработки гибридных приложений - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужно разработать гибридное приложение с узлом js для аутентификации пользователя и laravel для функциональных возможностей приложения и python для сложных вычислений. Поэтому каждый запрос спереди должен достигать узла js, а оттуда запрос будет перенаправляться на соответствующую платформу (laravel или pyhton). Узел js должен выступать в качестве промежуточного программного обеспечения для этого. Каким образом возможна связь между этими несколькими платформами, и есть ли какая-либо архитектура, доступная для разработки гибридных приложений такого типа. Возможно взаимодействие с использованием REST apis, но как аутентификация может быть сделана.

1 Ответ

0 голосов
/ 27 апреля 2018

in NodeJS : вы можете использовать ExpressJS http://expressjs.com/ framework для REST API

в Python : вы можете использовать Django Framework https://www.djangoproject.com/ для REST API

вы можете отправить AJAX request из Frontend, построенного с Laravel, на ваш сервер NodeJS, и после проверки входа в систему вы можете отправить статус аутентификации пользователя, как показано ниже:

Ошибка входа:

{ 
  status:"error",
  message:"Login Failed , Invalid Credentials"
}

для успешного входа в систему:

{
    status:"success",
    message:"Login Successful",
    user:{ 
       id:"",
       name:"",
       email:"",
       ...
    }
 }

но теперь вы должны войти в систему этого пользователя в вашей системе Laravel, поэтому

вам необходимо разработать пользовательские функции для входа в систему, выхода из системы и регистрации.

Но это не правильный путь, потому что это отнимает много времени, вместо этого я предлагаю вам использовать встроенную в Laravel Auth System , используя только одну команду php artisan make:auth

Я также предлагаю вам выбрать либо NodeJS, либо Laravel для бэкэнда, потому что оба мощны на своем месте.

в NodeJS доступны различные пакеты NPM:

expressjs: http://expressjs.com/

паспорт: http://www.passportjs.org/

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/

Лодаш: https://lodash.com/docs/

момент: http://momentjs.com/

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/

Толкатель: https://pusher.com/

и т.д ... Laravel предоставляет множество встроенных функций.

если в вашей системе больше пользователей, чем лучше использовать NodeJS в качестве Backend.

Наконец, выбор за вами. Вы можете установить связь между этими приложениями, создав конечные точки API REST и вызывая их с помощью AJAX из внешнего интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...