What Is Tenant
The article explains, what tenant is and how to set up tenant (clinic)
In terms of Aidbox, a tenant is logically isolated data belonging to one medical practice (clinic)
Structure of a Tenant
id: my-clinic
resourceType: Tenant
name: My Clinic Name
logoUrl: https://example.com/my-clinic-logo.png
identityProvider:
client:
id: ziW2...lv0
secret: 7Ho...gvb
scopes:
- user
- read:org
- openid
- profile
system: aidbox:tenant:my-clinic
token_endpoint: https://auth.example.com/token
userinfo_endpoint: https://auth.example.com/userinfo
authorize_endpoint: https://auth.example.com/authorize
idshould consist of Unreserved Characters (section 2.3 of RFC 3986 ) as it is used as the part of URLnameis a tenant namelogoUrldefines where the tenant logo image is. The link should be publicly accessibleidentityProviderdefines the external identity provider Aidbox uses to authenticate users. If it's omitted, Aidbox uses the built-inLoginformclientidis theClient IDin the external identity providersecretis theClient Secretin the external identity provider
scopesis an array of scopes identity providers supportssystemshould be a string representing the current tenant. Users of the tenant should have the same system value in theiridentifierpropertytoken_endpointis the token endpoint of the external identity provideruserinfo_endpointis the userinfo endpoint of the external identity providerauthorize_endpointis the authorize endpoint of the external identity provider
How to create a Tenant
POST /Tenant
content-type: text/yaml
id: my-clinic
resourceType: Tenant
name: My Clinic Name
logoUrl: https://example.com/my-clinic-logo.png
identityProvider:
client:
id: ziW2...lv0
secret: 7Ho...gvb
scopes:
- user
- read:org
- openid
- profile
system: aidbox:tenant:my-clinic
token_endpoint: https://auth.example.com/token
userinfo_endpoint: https://auth.example.com/userinfo
authorize_endpoint: https://auth.example.com/authorize
How to create a User
POST /User
content-type: text/yaml
resourceType: User
active: true
email: mail@example.com
identifier:
- system: aidbox:tenant:my-clinic
value: user-id-in-external-identity-provider
meta:
tenant:
id: my-clinic
resourceType: Tenant
meta.tenant links the user to the Tenant
There should be one element in the identifier section where
systemlinks to theidentityProvider.systemvalueis theuser IDin the external identity provider