Итак, вы говорите:
если у нас два разных пользователя в разных арендаторах, оба зарегистрированы для одного и того же приложения
Приложения FusionAuth привязаны к арендатору, поэтому невозможно использовать приложение FusionAuth совместно с арендаторами. От https://fusionauth.io/docs/v1/tech/apis/authentication#making -an-api-request-using-a-tenant-id
Некоторые ресурсы в FusionAuth относятся к арендаторам, таким как пользователи, группы и приложения. Когда существует более одного арендатора, для этих API потребуется идентификатор арендатора, чтобы запрос не был неоднозначным.
Теперь, конечно, можно разделить ваше приложение с клиентами, где каждый клиент является клиентом FusionAuth. Так что вопрос, который вы задаете, хороший. Я бы перефразировал его как «как веб-приложение или другой клиент FusionAuth может узнать, с каким клиентом он связан?» Если это не тот вопрос, который вы задаете, сообщите мне.
Если у вас есть веб-приложение (скажем, приложение todo), которое вы развертываете для нескольких клиентов, и каждый клиент является арендатором в FusionAuth, todo Приложение может знать, основываясь на имени домена (foo.todo.com или bar.todo.com) или пути (todo.com/foo или todo.com/bar), к которому оно развернуто, для которого идентификатор клиента FusionAuth (foo или bar) передать FusionAuth. Вот соответствующее сообщение на форуме: https://fusionauth.io/community/forum/topic/19/can-different-tenants-have-their-own-custom-domains-self-hosted-community-edition
Если на уровне URL нет различий, вы можете сохранить идентификатор арендатора в таблице группы или пользователя в базе данных.
Стоит также отметить, что в настройках по умолчанию для FusionAuth идентификатор клиента является идентификатором приложения. Идентификатор приложения связывает сеанс входа в систему с конкретным клиентом, поскольку каждое приложение FusionAuth принадлежит только одному клиенту FusionAuth (хотя у клиента может быть несколько приложений FusionAuth).