Files
skybridge/sso-config/keycloak/kms-realm.json
2025-08-26 19:15:37 -04:00

158 lines
4.1 KiB
JSON

{
"realm": "kms",
"displayName": "KMS Test Realm",
"enabled": true,
"registrationAllowed": false,
"loginWithEmailAllowed": true,
"duplicateEmailsAllowed": false,
"resetPasswordAllowed": true,
"editUsernameAllowed": false,
"bruteForceProtected": false,
"loginTheme": "keycloak",
"accountTheme": "keycloak",
"adminTheme": "keycloak",
"emailTheme": "keycloak",
"sslRequired": "external",
"accessTokenLifespan": 3600,
"accessTokenLifespanForImplicitFlow": 900,
"ssoSessionIdleTimeout": 1800,
"ssoSessionMaxLifespan": 36000,
"refreshTokenMaxReuse": 0,
"accessCodeLifespan": 60,
"accessCodeLifespanUserAction": 300,
"accessCodeLifespanLogin": 1800,
"actionTokenGeneratedByAdminLifespan": 43200,
"actionTokenGeneratedByUserLifespan": 300,
"users": [
{
"username": "admin@example.com",
"email": "admin@example.com",
"firstName": "Admin",
"lastName": "User",
"enabled": true,
"emailVerified": true,
"credentials": [
{
"type": "password",
"value": "admin123",
"temporary": false
}
],
"attributes": {
"permissions": ["internal.*"]
},
"realmRoles": ["admin"]
},
{
"username": "test@example.com",
"email": "test@example.com",
"firstName": "Test",
"lastName": "User",
"enabled": true,
"emailVerified": true,
"credentials": [
{
"type": "password",
"value": "test123",
"temporary": false
}
],
"attributes": {
"permissions": ["app.read", "token.read"]
},
"realmRoles": ["user"]
},
{
"username": "limited@example.com",
"email": "limited@example.com",
"firstName": "Limited",
"lastName": "User",
"enabled": true,
"emailVerified": true,
"credentials": [
{
"type": "password",
"value": "limited123",
"temporary": false
}
],
"attributes": {
"permissions": ["repo.read"]
},
"realmRoles": ["user"]
}
],
"roles": {
"realm": [
{
"name": "admin",
"description": "Administrator role"
},
{
"name": "user",
"description": "Standard user role"
}
]
},
"clients": [
{
"clientId": "kms-api",
"name": "KMS API Client",
"description": "Client for KMS API authentication",
"enabled": true,
"clientAuthenticatorType": "client-secret",
"secret": "kms-client-secret",
"redirectUris": [
"http://localhost:8081/*",
"http://localhost:8080/*",
"http://localhost:3000/*"
],
"webOrigins": [
"http://localhost:8081",
"http://localhost:8080",
"http://localhost:3000"
],
"protocol": "openid-connect",
"publicClient": false,
"bearerOnly": false,
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": true,
"serviceAccountsEnabled": false,
"attributes": {
"access.token.lifespan": "3600"
},
"protocolMappers": [
{
"name": "email",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
"user.attribute": "email",
"id.token.claim": "true",
"access.token.claim": "true",
"claim.name": "email",
"jsonType.label": "String"
}
},
{
"name": "permissions",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
"user.attribute": "permissions",
"id.token.claim": "true",
"access.token.claim": "true",
"claim.name": "permissions",
"jsonType.label": "JSON",
"multivalued": "true"
}
}
]
}
]
}