Repository navigation
Datamodel
Bill Burke edited this page Aug 4, 2013
·
2 revisions
There is one and only one global SaaS realm. Its just a set of users and a relationship to which Application Realms they have created.
1..N Users
1..N Application Realms
- User
- Role
Defines what roles an oauth client is allowed to request
- User
- Role
- Type - password, totp, cert
- input - whether login form input is required
- secret - whether the credential should be masked on the login form (like password)
- name
- public/private key, and other config attributes
- 1..N Users
- 1..N Roles
- 1..N UserRoleMappings
- 1..N ScopeMappings
- 1..N RequiredCredential for users
- 1..N RequiredCredential for resources
- 1..N RequiredCredential for oauth clients
- 1..N Resource
- 'KEYCLOAK_GRANT_NOT_REQUIRED' - doesn't require the oauth grant page
- 'KEYCLOAK_LOGIN_ALLOWED' - is allowed to request a login
- 'KEYCLOAK_REALM_ADMIN' - allowed to administer the realm.
- '*' Wildcard, allow everything
A User is created within the realm with the same name as the resource. This is so the resource can request access tokens. This User will be granted the KEYCLOAK_GRANT_NOT_REQUIRED and KEYCLOAK_LOGIN_ALLOWED roles. It will have a resource scope mapping of '*'. An OAuth Client mapping will be created too with the Resource's allowed redirect pattern
- Name
- 1..N Roles
- 1..N UserRoleMappings
- 1..N ScopeMappings
- admin URL - Keycloak server can make requests to this URL for things like logout
- 1..N Redirect Pattern
- URL pattern
- '*' Wildcard, allow everything
- 'KEYCLOAK_RESOURCE_ADMIN'
An OAuth client is a user that is allowed to initiate the token protocol. They have Redirect Patterns associated with them.
- User
- 1..N Redirect Pattern