Multi-tenancy is configured via the multiTenant option in the module registration. You must provide a realmResolver to determine the realm from the request, and optionally provide resolvers for secrets, client IDs, and auth server URLs.
{
authServerUrl: 'http://localhost:8180/',
clientId: 'nest-api',
secret: 'fallback',
multiTenant: {
resolveAlways: true,
realmResolver: (request) => {
return request.get('host').split('.')[0];
},
realmSecretResolver: (realm, request) => {
const secrets = { master: 'secret', slave: 'password' };
return secrets[realm];
},
realmClientIdResolver: (realm, request) => {
const clientIds = { master: 'angular-app', slave: 'vue-app' };
return clientIds[realm];
},
realmAuthServerUrlResolver: (realm, request) => {
const authServerUrls = { master: 'https://master.local/', slave: 'https://slave.local/' };
return authServerUrls[realm];
}
}
}