Files
collective-lists/keycloak/realm-export.json
Oier Bravo Urtasun f197a81a42 Record Fase 1 design decisions before implementation
- JWT strategy: Option B (GoTrue as OIDC proxy, not direct Keycloak JWT)
- Self-registration enabled in Keycloak realm
- Multiple collectives per user with sidebar switcher
- Invitations are link-only (no email/Resend integration)
- Avatar upload uses in-browser crop (cropperjs) at 1:1 ratio
- Removed Edge Functions from plan; invitation logic handled in SvelteKit server actions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 14:39:11 +02:00

142 lines
3.2 KiB
JSON

{
"id": "colectivo",
"realm": "colectivo",
"displayName": "Colectivo",
"enabled": true,
"sslRequired": "external",
"registrationAllowed": true,
"loginWithEmailAllowed": true,
"duplicateEmailsAllowed": false,
"resetPasswordAllowed": true,
"editUsernameAllowed": false,
"bruteForceProtected": true,
"accessTokenLifespan": 3600,
"refreshTokenMaxReuse": 0,
"offlineSessionMaxLifespanEnabled": false,
"clients": [
{
"clientId": "colectivo-web",
"name": "Colectivo Web App",
"enabled": true,
"publicClient": true,
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": false,
"protocol": "openid-connect",
"attributes": {
"pkce.code.challenge.method": "S256"
},
"redirectUris": [
"http://localhost:5173/*",
"http://localhost:3000/*"
],
"webOrigins": [
"http://localhost:5173",
"http://localhost:3000"
],
"fullScopeAllowed": true,
"defaultClientScopes": [
"web-origins",
"profile",
"roles",
"email"
],
"optionalClientScopes": [
"address",
"phone",
"offline_access",
"microprofile-jwt"
]
}
],
"users": [
{
"id": "11111111-1111-1111-1111-111111111111",
"username": "ana",
"email": "ana@dev.local",
"emailVerified": true,
"enabled": true,
"firstName": "Ana",
"lastName": "García",
"credentials": [
{
"type": "password",
"value": "test1234",
"temporary": false
}
]
},
{
"id": "22222222-2222-2222-2222-222222222222",
"username": "borja",
"email": "borja@dev.local",
"emailVerified": true,
"enabled": true,
"firstName": "Borja",
"lastName": "López",
"credentials": [
{
"type": "password",
"value": "test1234",
"temporary": false
}
]
},
{
"id": "33333333-3333-3333-3333-333333333333",
"username": "carmen",
"email": "carmen@dev.local",
"emailVerified": true,
"enabled": true,
"firstName": "Carmen",
"lastName": "Martínez",
"credentials": [
{
"type": "password",
"value": "test1234",
"temporary": false
}
]
},
{
"id": "44444444-4444-4444-4444-444444444444",
"username": "david",
"email": "david@dev.local",
"emailVerified": true,
"enabled": true,
"firstName": "David",
"lastName": "Fernández",
"credentials": [
{
"type": "password",
"value": "test1234",
"temporary": false
}
]
},
{
"id": "55555555-5555-5555-5555-555555555555",
"username": "eva",
"email": "eva@dev.local",
"emailVerified": true,
"enabled": true,
"firstName": "Eva",
"lastName": "Ruiz",
"credentials": [
{
"type": "password",
"value": "test1234",
"temporary": false
}
]
}
],
"scopeMappings": [],
"clientScopeMappings": {},
"roles": {
"realm": [],
"client": {}
}
}