The following are the tables that are consumed for persisting the metadata related to the AuthServer



This table has all the details about the client applications like the name, secret key, redirect uri which is a JSON array and the lifetimes for the access_token

 The application types are : MultiTenantAccess, InternalWeb



 This denotes that the application can be consumed by any tenant's with the same URl instead of a unique URI per tenant.



 Denotes that the client belongs internally to a tenant with a unique URI.



 Currently we support only the Authorization Code Grant and the implicit flows. The remaining fields are set with the default values as per the existing records.



This table contains the mapping data related to the cello user and the corresponding external mapping like CelloUserId to Google Profile Id



This table contains all the registered identity providers like Cello, Social Logins, Active Directory



This table contains all the registered authentication types registered under a given identity provider. For example : Facebook, LinkedIn are valid authentication types under social logins identity providers.



This table contains an entry for each of the tenant to store the identity provider pertaining to that tenant.



This table contains the user's preferred authentication type that was set when the user was created / registered with the application.

Sample Db Script


The following is a database Script to insert a new client in the ClientDetails table

INSERT INTO [dbo].[ClientDetails]( [Id],[TenantId],[Name],[Description],[Secret],[Uri],[LogoUri],[ApplicationTypes],[RequireConsent],[AllowRememberConsent],[Flows],[RedirectUris],[SigningKeyType],[IdentityTokenLifetime],[AccessTokenLifetime],[RefreshTokenLifetime],[AuthorizationCodeLifetime],[ScopeRestrictions],[AccessTokenType],[PublicAccessAllowed],[ClientType],[CreatedBy],[CreatedOn],[Status] )

VALUES( N'2af3d511-7c80-453a-8062-01ec8a7b2ba1',N'b590cd25-3093-df11-8deb-001ec9dab123',N'Multi-Tenant Implicit Client',N'Multi-Tenant Implicit Client',N'UBd2DX9xIPprqtB7D0yb0w==',NULL,NULL,N'MultiTenantAccess',0,0,N'Implicit',N'["https://localhost/"]',N'Default',1200,1200,1200,1200,NULL,N'JWT',1,N'Web','3398F837-B988-4708-999D-D3DFE11875B3',GETDATE(),1 );