adds default tester - found error

This commit is contained in:
Gabriel Matte 2025-01-16 18:12:43 -05:00
parent ba77b73899
commit b04e9216dc
2 changed files with 192 additions and 0 deletions

96
docker-compose-auth.yaml Normal file
View file

@ -0,0 +1,96 @@
version: '3'
services:
frontend:
build:
context: ./client
dockerfile: Dockerfile
container_name: frontend
ports:
- "5173:5173"
restart: always
backend:
build:
context: ./server
dockerfile: Dockerfile
container_name: backend
ports:
- "3000:3000"
environment:
PORT: 3000
MONGO_URI: "mongodb://mongo:27017/evaluetonsavoir"
MONGO_DATABASE: evaluetonsavoir
EMAIL_SERVICE: gmail
SENDER_EMAIL: infoevaluetonsavoir@gmail.com
EMAIL_PSW: 'vvml wmfr dkzb vjzb'
JWT_SECRET: haQdgd2jp09qb897GeBZyJetC8ECSpbFJe
SESSION_Secret: 'lookMomImQuizzing'
SITE_URL: http://localhost
FRONTEND_PORT: 5173
USE_PORTS: false
AUTHENTICATED_ROOMS: false
volumes:
- ./server/auth_config.json:/usr/src/app/serveur/config/auth_config.json
depends_on:
- mongo
- keycloak
restart: always
# Ce conteneur sert de routeur pour assurer le bon fonctionnement de l'application
nginx:
image: fuhrmanator/evaluetonsavoir-routeur:latest
container_name: nginx
ports:
- "80:80"
depends_on:
- backend
- frontend
restart: always
# Ce conteneur est la base de données principale pour l'application
mongo:
image: mongo
container_name: mongo
ports:
- "27017:27017"
tty: true
volumes:
- mongodb_data:/data/db
restart: always
# Ce conteneur assure que l'application est à jour en allant chercher s'il y a des mises à jours à chaque heure
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=America/Montreal
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_DEBUG=true
- WATCHTOWER_INCLUDE_RESTARTING=true
- WATCHTOWER_SCHEDULE=0 0 5 * * * # At 5 am everyday
restart: always
keycloak:
container_name: keycloak
image: quay.io/keycloak/keycloak:latest
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin123
KC_HEALTH_ENABLED: 'true'
KC_FEATURES: preview
ports:
- "8080:8080"
volumes:
- ./oauth-tester/config.json:/opt/keycloak/data/import/realm-config.json
command:
- start-dev
- --import-realm
- --hostname-strict=false
volumes:
mongodb_data:
external: false

96
oauth-tester/config.json Normal file
View file

@ -0,0 +1,96 @@
{
"id": "test-realm",
"realm": "EvalueTonSavoir",
"enabled": true,
"users": [
{
"username": "teacher",
"enabled": true,
"credentials": [
{
"type": "password",
"value": "teacher123",
"temporary": false
}
],
"groups": ["teachers"]
},
{
"username": "student",
"enabled": true,
"credentials": [
{
"type": "password",
"value": "student123",
"temporary": false
}
],
"groups": ["students"]
}
],
"groups": [
{
"name": "teachers",
"attributes": {
"role": ["teacher"]
}
},
{
"name": "students",
"attributes": {
"role": ["student"]
}
}
],
"roles": {
"realm": [
{
"name": "teacher",
"description": "Teacher role"
},
{
"name": "student",
"description": "Student role"
}
]
},
"clients": [
{
"clientId": "evaluetonsavoir-client",
"enabled": true,
"publicClient": false,
"clientAuthenticatorType": "client-secret",
"secret": "your-secret-key-123",
"redirectUris": ["http://localhost:5173/*","http://localhost/*"],
"webOrigins": ["http://localhost:5173","http://localhost/"]
}
],
"clientScopes": [
{
"name": "group",
"description": "Group scope for access control",
"protocol": "openid-connect",
"attributes": {
"include.in.token.scope": "true",
"display.on.consent.screen": "true"
},
"protocolMappers": [
{
"name": "group mapper",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
"user.attribute": "group",
"id.token.claim": "true",
"access.token.claim": "true",
"claim.name": "group",
"jsonType.label": "String"
}
}
]
}
],
"defaultDefaultClientScopes": ["group"]
}