feat(login): Ajoute l'authentification SSO via Keycloak et Discord

Cette modification implémente l'authentification unique (SSO) via
Keycloak et Discord, permettant aux utilisateurs de se connecter
facilement. Ajoute les trads FR.
```
This commit is contained in:
Serreau Jovann
2026-01-11 14:20:16 +01:00
parent 2deba46584
commit b01ea8b2ab
14 changed files with 555 additions and 4 deletions

247
composer.lock generated
View File

@@ -4,8 +4,67 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "ed26fccb39be0438a7def45a9b987dc9",
"content-hash": "403d821dbd4191efa1335b197d907faf",
"packages": [
{
"name": "adam-paterson/oauth2-stripe",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/adam-paterson/oauth2-stripe.git",
"reference": "52a43a58a51dceac5d91c906c6da13f0994951b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/adam-paterson/oauth2-stripe/zipball/52a43a58a51dceac5d91c906c6da13f0994951b6",
"reference": "52a43a58a51dceac5d91c906c6da13f0994951b6",
"shasum": ""
},
"require": {
"league/oauth2-client": "^2.0",
"php": ">=5.6.0"
},
"require-dev": {
"mockery/mockery": "~0.9",
"phpunit/phpunit": "~4.0",
"scrutinizer/ocular": "^1.1",
"squizlabs/php_codesniffer": "~2.0"
},
"type": "library",
"autoload": {
"psr-4": {
"AdamPaterson\\OAuth2\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Adam Paterson",
"email": "hello@adampaterson.co.uk"
}
],
"description": "Stripe OAuth 2.0 Client Provider for The PHP League OAuth2-Client",
"keywords": [
"Authentication",
"SSO",
"authorization",
"identity",
"idp",
"oauth",
"oauth2",
"single sign on",
"stripe",
"stripe api"
],
"support": {
"issues": "https://github.com/adam-paterson/oauth2-stripe/issues",
"source": "https://github.com/adam-paterson/oauth2-stripe/tree/master"
},
"time": "2018-02-26T09:35:45+00:00"
},
{
"name": "async-aws/core",
"version": "1.27.1",
@@ -4650,6 +4709,66 @@
},
"time": "2025-07-25T07:53:13+00:00"
},
{
"name": "knpuniversity/oauth2-client-bundle",
"version": "v2.20.1",
"source": {
"type": "git",
"url": "https://github.com/knpuniversity/oauth2-client-bundle.git",
"reference": "d59e4dc61484e777b6f19df2efcf8b1bcc03828a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/d59e4dc61484e777b6f19df2efcf8b1bcc03828a",
"reference": "d59e4dc61484e777b6f19df2efcf8b1bcc03828a",
"shasum": ""
},
"require": {
"league/oauth2-client": "^2.0",
"php": ">=8.1",
"symfony/dependency-injection": "^6.4|^7.3|^8.0",
"symfony/framework-bundle": "^6.4|^7.3|^8.0",
"symfony/http-foundation": "^6.4|^7.3|^8.0",
"symfony/routing": "^6.4|^7.3|^8.0",
"symfony/security-core": "^6.4|^7.3|^8.0",
"symfony/security-http": "^6.4|^7.3|^8.0"
},
"require-dev": {
"league/oauth2-facebook": "^1.1|^2.0",
"symfony/phpunit-bridge": "^7.3",
"symfony/yaml": "^6.4|^7.3|^8.0"
},
"suggest": {
"symfony/security-guard": "For integration with Symfony's Guard Security layer"
},
"type": "symfony-bundle",
"autoload": {
"psr-4": {
"KnpU\\OAuth2ClientBundle\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ryan Weaver",
"email": "ryan@symfonycasts.com"
}
],
"description": "Integration with league/oauth2-client to provide services",
"homepage": "https://symfonycasts.com",
"keywords": [
"oauth",
"oauth2"
],
"support": {
"issues": "https://github.com/knpuniversity/oauth2-client-bundle/issues",
"source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.20.1"
},
"time": "2025-12-04T15:46:43+00:00"
},
{
"name": "lasserafn/php-initial-avatar-generator",
"version": "4.5",
@@ -8437,6 +8556,67 @@
},
"time": "2024-11-15T17:47:59+00:00"
},
{
"name": "stevenmaguire/oauth2-keycloak",
"version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/stevenmaguire/oauth2-keycloak.git",
"reference": "1b690b7377dfe7a23e1590373f37e12cf40a6d75"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/stevenmaguire/oauth2-keycloak/zipball/1b690b7377dfe7a23e1590373f37e12cf40a6d75",
"reference": "1b690b7377dfe7a23e1590373f37e12cf40a6d75",
"shasum": ""
},
"require": {
"firebase/php-jwt": "^6.0",
"league/oauth2-client": "^2.0",
"php": "~7.2 || ~8.0"
},
"require-dev": {
"mockery/mockery": "~1.5.0",
"phpunit/phpunit": "~9.6.4",
"squizlabs/php_codesniffer": "~3.7.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Stevenmaguire\\OAuth2\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Steven Maguire",
"email": "stevenmaguire@gmail.com",
"homepage": "https://github.com/stevenmaguire"
}
],
"description": "Keycloak OAuth 2.0 Client Provider for The PHP League OAuth2-Client",
"keywords": [
"authorisation",
"authorization",
"client",
"keycloak",
"oauth",
"oauth2"
],
"support": {
"issues": "https://github.com/stevenmaguire/oauth2-keycloak/issues",
"source": "https://github.com/stevenmaguire/oauth2-keycloak/tree/5.1.0"
},
"time": "2023-10-24T06:10:44+00:00"
},
{
"name": "stripe/stripe-php",
"version": "v19.0.0",
@@ -15230,6 +15410,71 @@
"source": "https://github.com/webmozarts/assert/tree/1.12.1"
},
"time": "2025-10-29T15:56:20+00:00"
},
{
"name": "wohali/oauth2-discord-new",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/wohali/oauth2-discord-new.git",
"reference": "2df4d2a882e04c749880797704e4bde8f00ea1d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/wohali/oauth2-discord-new/zipball/2df4d2a882e04c749880797704e4bde8f00ea1d9",
"reference": "2df4d2a882e04c749880797704e4bde8f00ea1d9",
"shasum": ""
},
"require": {
"ext-json": "*",
"league/oauth2-client": "^2.0",
"php": "^7.2|^8.0"
},
"conflict": {
"team-reflex/oauth2-discord": ">=1.0"
},
"require-dev": {
"mockery/mockery": "~1.3.0",
"php-parallel-lint/php-parallel-lint": "~0.9",
"phpunit/phpunit": "~8.0",
"squizlabs/php_codesniffer": "^2.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Wohali\\OAuth2\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Joan Touzet",
"email": "code@atypical.net",
"homepage": "https://github.com/wohali"
}
],
"description": "Discord OAuth 2.0 Client Provider for The PHP League OAuth2-Client",
"keywords": [
"authorisation",
"authorization",
"client",
"discord",
"oauth",
"oauth2"
],
"support": {
"issues": "https://github.com/wohali/oauth2-discord-new/issues",
"source": "https://github.com/wohali/oauth2-discord-new/tree/1.2.1"
},
"time": "2022-12-29T18:45:10+00:00"
}
],
"packages-dev": [