In a general sense, yes, Zitadel would be a good fit for your use case but I do have a few questions based on how you may need to approach some of this:
For 2. Should they only be logged into one tenant at a time? Or is the list of tenants that the user belongs to enough? For 3. Could you provide more insight into this point and what you would be hoping to achieve with the Zitadel platform? For 4. Can you give us some more clarity on this flow and what you're hoping to achieve with it/why it's structured this way?
In the following guides you will learn how to create your own login UI with our APIs. The different scenarios like username/password, external identity provider, etc. will be shown.
Thanks for sharing this context - This is very helpful! Your use case definitely aligns with Zitadel's capabilities. I believe @FFO or @fabienne might be able to provide you more insight into designing the workflow for something like this as you're going through your evaluation.
When you're getting closer to building out your PoC, a good next step would be booking a quick meeting with us here.
To be sure I do not recommend a wrong approach here.
Should each person have its own user per tenant? We usually recommend to solve that with authorization approaches. I.e. one user has access to multiple tenants.
I see, so that is possible if you for example rely on the email to be the username which needs to be globally unique. But it would require some glue code to handle that the access rights get added.
Two options come to mind:
1) You could create a dedicated register UI on your end that calls the zitadel api to figure out if that user already exists and then adds the right or creates the user 2) An action could be used to add the access rights post-login but that might be less solid