Есть идеи реализации? | |
---|---|
tata Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
[attachment 36370 1.png]Есть 2 фронтэнда и 2 бэкэнда (см. рисунок)
От фронтэнда партнера обращение к нашему фронтэнду возможно только единожды (открыть ссылку в браузере), все остальные общения между фронтэндами и бэкэндами - какие угодно Пользователь зарегистрирован и у нас, и у партнера с произвольными данными, условно не сопоставляющимися (разные логины, email и т.д.) Задача: Придумать схему общения (при необходимости с вводами логинов/паролей на любом фронте), при которой id нашего пользователя однозначно сопоставится с id пользователя партнера. Ручное сопоставление или передача данных пользователя (за исключением его id) недопустимо. Исправлено 1 раз(а). Последнее : tata, 30.07.22 21:18 ![]() |
Re: Есть идеи реализации? | |
---|---|
Владимир Максимов Сообщений: 14040 Откуда: Москва Дата регистрации: 02.09.2000 |
"Все уже украдено до нас" (с)
Гм... Как-то вроде и неудобно классические схемы интеграции между системами описывать ![]() Задача выглядит так Из одной системы передали id в другую систему и в этой другой системе по переданному значению id надо понять, о какой записи текущей системы идет речь Без периодической синхронизации справочников задача решения не имеет. Ведь в любом случае надо как-то узнать какой id одной системы к какому id-другой системы относится? Если записей относительно немного, то это можно и через Excel делать или просто вручную Как правило, для решения задачи делают таблицу соответствия с 3 полями 1. id записи в текущей системе 2. id внешней системы 3. id записи во внешней системе Если "внешних" систем немного или одна, то просто в справочнике одной системы добавляют поле с кодом из другой системы Или вопрос был о другом? ![]() |
Re: Есть идеи реализации? | |
---|---|
tata Сообщений: 3381 Откуда: Казань Дата регистрации: 23.10.2005 |
В одной системе человек числится как Петя, в другой как Вася.
Как определить, что Петя это Вася? При условии, что во вторую систему поступает только ID, который к тому же можно подменить. Исправлено 1 раз(а). Последнее : tata, 02.08.22 14:18 ![]() |
Re: Есть идеи реализации? | |
---|---|
Владимир Максимов Сообщений: 14040 Откуда: Москва Дата регистрации: 02.09.2000 |
Никак. Только "пальцем показать".
В системе должна быть таблица "перекодировки" переданного значения ID в значение ID текущей системы. Это и есть "пальцем показать". Как Вы эту таблицу сформируете - вопрос отдельный и напрямую к интеграции не относится. Это же не обязательно делать именно в момент получения. Можно вечерком не торопясь завести нужные значения ![]() Если входящее значение ID может быть изменено "на лету", то задача решения не имеет. Мы передали значение "Вася", но, вообще-то, мы имели в виду "Толя", хотя у Вас в системе он записан как "Петя". Попытка автоматизировать бардак приведет только к созданию автоматизированного бардака. Но бардаком от этого он быть не перестанет ![]() По описанию, даже прямой обмен всеми остальными данными не даст однозначного ответа, что "Вася" в одной системе - это "Петя" в другой. Просто не понятно, на основании каких данных можно выполнить подобную идентификацию, если в разных системах вообще все данные могут отличаться? Остается именно что "пальцем показать" (таблица перекодировки) ![]() |
Re: Есть идеи реализации? | |
---|---|
Дмитрий Петров Сообщений: 2977 Откуда: Пермь Дата регистрации: 09.07.2001 |
В обеих системах сделать авторизацию как в сбер онлайн с СМС подтверждением.
Тогда наверное с высокой долей вероятности можно связать Васю с Петей.. Ну это так- непроверенная мысль ![]() ![]() |
Re: Есть идеи реализации? | |
---|---|
Владимир Максимов Сообщений: 14040 Откуда: Москва Дата регистрации: 02.09.2000 |
Чтобы сделать вывод о том, что два id относятся к одной и той же сущности необходимо чтобы у них было что-то общее (номер телефона, например, как предложил Дмитрий). Вот на основании этого "чего-то" и сделать вывод об их идентичности
Насколько я понимаю, общение на уровне back-end между системами никак не ограничено. Условно, на уровне базы данных можно любые запросы отправлять/принимать. Т.е. на уровне front-end передали id, далее спустились к back-end и связались с back-end системы-партнера, чтобы получить все возможные данные этого id. Затем по каким-то критериям попытаться сделать вывод об идентичности id. Если получилось, то сделать запись в своем справочнике как код партнерской системы (перекодировку). При повторном обращении по этому же id уже есть связь в текущей системе и повторно делать все то же самое уже не надо ![]() |
Re: Есть идеи реализации? | |
---|---|
Дмитрий Петров Сообщений: 2977 Откуда: Пермь Дата регистрации: 09.07.2001 |
Татьяна, забыл. Сейчас есть такой способ авторизации, как яндекс ключ(тоже через телефон).
Можно в эту сторону посмотреть ![]() |
Re: Есть идеи реализации? | |
---|---|
PaulWist Автор Сообщений: 14427 Дата регистрации: 01.04.2004 |
Владимир, тут трёхзвенка, под back-end подразумевается сервер среднего слоя (веб-сервис), те про БД в задаче нет исходных данных. Либо надо что-то додумывать (вводить БД, ещё какой-то сервис, например Удостоверяющий центр, либо одно из двух) ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
© 2000-2023 Fox Club  |