:: Не фоксом единым
Есть идеи реализации?
tata

Сообщений: 3469
Откуда: Йошкар-Ола
Дата регистрации: 23.10.2005
[attachment 36370 1.png]Есть 2 фронтэнда и 2 бэкэнда (см. рисунок)
От фронтэнда партнера обращение к нашему фронтэнду возможно только единожды (открыть ссылку в браузере), все остальные общения между фронтэндами и бэкэндами - какие угодно
Пользователь зарегистрирован и у нас, и у партнера с произвольными данными, условно не сопоставляющимися (разные логины, email и т.д.)

Задача:
Придумать схему общения (при необходимости с вводами логинов/паролей на любом фронте), при которой id нашего пользователя однозначно сопоставится с id пользователя партнера.
Ручное сопоставление или передача данных пользователя (за исключением его id) недопустимо.



Исправлено 1 раз(а). Последнее : tata, 30.07.22 21:18
Ratings: 0 negative/0 positive
Re: Есть идеи реализации?
Владимир Максимов

Сообщений: 14103
Откуда: Москва
Дата регистрации: 02.09.2000
"Все уже украдено до нас" (с)

Гм... Как-то вроде и неудобно классические схемы интеграции между системами описывать

Задача выглядит так

Из одной системы передали id в другую систему и в этой другой системе по переданному значению id надо понять, о какой записи текущей системы идет речь

Без периодической синхронизации справочников задача решения не имеет. Ведь в любом случае надо как-то узнать какой id одной системы к какому id-другой системы относится? Если записей относительно немного, то это можно и через Excel делать или просто вручную

Как правило, для решения задачи делают таблицу соответствия с 3 полями

1. id записи в текущей системе
2. id внешней системы
3. id записи во внешней системе

Если "внешних" систем немного или одна, то просто в справочнике одной системы добавляют поле с кодом из другой системы

Или вопрос был о другом?
Ratings: 0 negative/0 positive
Re: Есть идеи реализации?
tata

Сообщений: 3469
Откуда: Йошкар-Ола
Дата регистрации: 23.10.2005
В одной системе человек числится как Петя, в другой как Вася.
Как определить, что Петя это Вася?
При условии, что во вторую систему поступает только ID, который к тому же можно подменить.



Исправлено 1 раз(а). Последнее : tata, 02.08.22 14:18
Ratings: 0 negative/0 positive
Re: Есть идеи реализации?
Владимир Максимов

Сообщений: 14103
Откуда: Москва
Дата регистрации: 02.09.2000
Никак. Только "пальцем показать".

В системе должна быть таблица "перекодировки" переданного значения ID в значение ID текущей системы. Это и есть "пальцем показать". Как Вы эту таблицу сформируете - вопрос отдельный и напрямую к интеграции не относится. Это же не обязательно делать именно в момент получения. Можно вечерком не торопясь завести нужные значения

Если входящее значение ID может быть изменено "на лету", то задача решения не имеет. Мы передали значение "Вася", но, вообще-то, мы имели в виду "Толя", хотя у Вас в системе он записан как "Петя". Попытка автоматизировать бардак приведет только к созданию автоматизированного бардака. Но бардаком от этого он быть не перестанет


По описанию, даже прямой обмен всеми остальными данными не даст однозначного ответа, что "Вася" в одной системе - это "Петя" в другой. Просто не понятно, на основании каких данных можно выполнить подобную идентификацию, если в разных системах вообще все данные могут отличаться? Остается именно что "пальцем показать" (таблица перекодировки)
Ratings: 0 negative/1 positive
Re: Есть идеи реализации?
Дмитрий Петров

Сообщений: 3075
Откуда: Пермь
Дата регистрации: 09.07.2001
В обеих системах сделать авторизацию как в сбер онлайн с СМС подтверждением.
Тогда наверное с высокой долей вероятности можно связать Васю с Петей..
Ну это так- непроверенная мысль
Ratings: 0 negative/1 positive
Re: Есть идеи реализации?
Владимир Максимов

Сообщений: 14103
Откуда: Москва
Дата регистрации: 02.09.2000
Чтобы сделать вывод о том, что два id относятся к одной и той же сущности необходимо чтобы у них было что-то общее (номер телефона, например, как предложил Дмитрий). Вот на основании этого "чего-то" и сделать вывод об их идентичности

Насколько я понимаю, общение на уровне back-end между системами никак не ограничено. Условно, на уровне базы данных можно любые запросы отправлять/принимать.

Т.е. на уровне front-end передали id, далее спустились к back-end и связались с back-end системы-партнера, чтобы получить все возможные данные этого id. Затем по каким-то критериям попытаться сделать вывод об идентичности id. Если получилось, то сделать запись в своем справочнике как код партнерской системы (перекодировку). При повторном обращении по этому же id уже есть связь в текущей системе и повторно делать все то же самое уже не надо
Ratings: 0 negative/1 positive
Re: Есть идеи реализации?
Дмитрий Петров

Сообщений: 3075
Откуда: Пермь
Дата регистрации: 09.07.2001
Татьяна, забыл. Сейчас есть такой способ авторизации, как яндекс ключ(тоже через телефон).
Можно в эту сторону посмотреть
Ratings: 0 negative/1 positive
Re: Есть идеи реализации?
PaulWist
Автор

Сообщений: 14659
Дата регистрации: 01.04.2004
Владимир Максимов

Насколько я понимаю, общение на уровне back-end между системами никак не ограничено. Условно, на уровне базы данных можно любые запросы отправлять/принимать.

Владимир, тут трёхзвенка, под back-end подразумевается сервер среднего слоя (веб-сервис), те про БД в задаче нет исходных данных.

Либо надо что-то додумывать (вводить БД, ещё какой-то сервис, например Удостоверяющий центр, либо одно из двух)


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 alex;  (Гостей: 2)

© 2000-2024 Fox Club 
Яндекс.Метрика