Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 8
1

Объединить laravel и Форум (Laravel + XenForo)

11.01.2021, 04:34. Просмотров 1042. Ответов 5
Метки нет (Все метки)

Здравствуйте!

Суть:
Есть магазин на Laravel и есть Форум на XenForo
Нужно объединить профиль форума и магазина
+ сделать как чтобы при регистрации учетка сразу создавалась на форуме и в магазине

Вопросы:
1.Как в таком случае взаимодействовать между БД ?
(Понятно что можно cделать API, но эта статья мне намекает что можно сделать проще https://qna.habr.com/q/546453)

2.Как сделать одновременную авторизацию на форуме и в магазине, без API не как?

В Laravel еще новичок, надеюсь на помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2021, 04:34
Ответы с готовыми решениями:

Как использовать на сервере Laravel внутри папки Laravel?
Внутри папки Laravel 7 на сервере Ubuntu 16.04 лежит папка с Laravel 7. Родительский проект...

Installing laravel/laravel (v5.8.17) [ErrorException] mkdir(): Invalid path
Я только начинаю разбираться не судите строго. Пытаюсь установить laravel на XAMPPv3.2.4 командою...

Как в WP интегрировать XENFORO (чтоб общее меню было у сайта и при переходе на форум)
Друзья ПОМОГИТЕ!!! -На сайте стоит форум bbpres+WP интеграция ( При переходе между сайтом и...

Laravel 4
В исходники ларавела добавил свои классы. Сидирование в базу данных проходит успешно командой:...

5
1704 / 1034 / 382
Регистрация: 13.06.2013
Сообщений: 3,508
11.01.2021, 16:10 2
По хорошему нужно делать отдельный микросервис для авторизации. Аля яндекс.Паспорт. Туда переносишь юзеров, права итп.
Если домен одинаковый, то достаточно одинаково читать/писать авторизационную куку.
Если домены разные, то надо на каждый запрос с бекенда дополнительно ходить в сервис авторизации. Можно без доп запроса, если логику вынесешь в отдельную библиотеку, которая подключается и к магазину, и к форуме.
В случае SPA приложения, можно все АПИ запросы пропускать через авторизационную проксю, тогда в бекенде за проксей можно авторизацию вообще не проверять.

Цитата Сообщение от HahaImjon Посмотреть сообщение
сделать как чтобы при регистрации учетка сразу создавалась на форуме и в магазине
Можно и так, но это костыль
1
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 8
11.01.2021, 20:33  [ТС] 3
Нашел вариант проще.
У XenForo Уже есть api
Юзера можно авторизовать через
https://xenforo.com/community/... ogin_token
Зерегать через
https://xenforo.com/community/... ost_users_

Пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use GuzzleHttp\Client;
 
require 'vendor/autoload.php';
 
$client = new Client(['base_uri' => 'http://xenforo/', 'timeout'  => 2.0]);
 
 
 $response = $client->request('POST', 'index.php?api/users', [
    'headers' => [
        'XF-Api-Key' => 'AXblNoL1Xfe6dfss9AejFejOaw5Zdz1',
        'XF-Api-User' => '1',
    ],
    'form_params' => [
        'username' => 'Api',
        'password' => 'api',
        'email' => 'api@xf2.loc'
    ]
]);  
 
$body = $response->getBody();
echo $body->getContents();
Для отправки запросов юзал Guzzle

+ Над авторизацией можно запарится и сделать так
https://habr.com/ru/post/80900/
0
1704 / 1034 / 382
Регистрация: 13.06.2013
Сообщений: 3,508
11.01.2021, 21:10 4
Т.е. вы все таки хотите две базы поддерживать. Костыли...

Рекомендую подумать еще по этим вопросам:
1) Какой план по сохранению консистентности данных?
2) Что если будет ошибка при запросе (по любой причине), в одной базе юзер есть, в другой нет?
3) У вас будет одна форма регистрации/редактирования или своя на каждом сайте?
4) Как будет происходить редактирование? Наверняка у магазина и форума есть как одинаковые поля, так и разные?
5) Что будете делать, если захотите прикрутить какой-то еще проект к этой же системе авторизации?
6) Как будут работать такие фичи как смена почты, восстановление пароля?
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 8
11.01.2021, 23:07  [ТС] 5
tarasalk, видение как сделать костылями есть, но как поставить еще сервер авторизации и скрестить все - жестко.
0
0 / 0 / 0
Регистрация: 11.01.2021
Сообщений: 8
12.01.2021, 18:44  [ТС] 6
Цитата Сообщение от tarasalk Посмотреть сообщение
Т.е. вы все таки хотите две базы поддерживать. Костыли...
Почему костыль ?
Допустим оставляем одну форму регистрации в магазе, в форуме ее выпиливаем.
При регистрации регаем юзера в магазе и через API на форуме, также при смене пароля отправляем API запрос на смену, при подтверждении и тд.
Просто нужно сделать единый профиль, разве не так ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2021, 18:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Laravel 5
Столкнулся с такой проблемой в фреймворке laravel 5. Вообщем ситуация такая есть у меня файл...

Laravel-5 роутинг
Доброго времени суток уважаемые! Подскажите пожалуйста, как сделать один из параметров роута...

Laravel filemanager
Как присвоить значение, выбранное в файловом менеджере vue переменной image, при такой записи она...

Laravel menu
Парни всем привет! Пытаюсь работать с Laravel menu используя Lavary. Подскажи как сделать так что...

Laravel 5.2 downgrade до 5.1
Добрый день! Подскажите плиз как сделать laravel 5.2 downgrade до 5.1 Гуглю гуглю и нигде...

Установить Laravel
Очень прошу отозваться ставлю Ларавель 5.2 В логах вот такая штука (104)Connection reset by...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.