wip: adds config options for oidc

This commit is contained in:
2025-07-11 12:30:56 -05:00
parent 04993ebb27
commit b74b563c56
7 changed files with 96 additions and 12 deletions

View File

@@ -2,6 +2,7 @@
namespace App\User\Framework\Controller\Web;
use App\Base\ConfigResolver;
use Drenso\OidcBundle\OidcClientInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Bundle\SecurityBundle\Security;
@@ -11,9 +12,18 @@ use Symfony\Component\Routing\Attribute\Route;
class LoginOidcController extends AbstractController
{
public function __construct(
private ConfigResolver $configResolver,
) {}
#[Route('/login/oidc', name: 'app_login_oidc')]
public function oidcStart(OidcClientInterface $oidcClient): RedirectResponse
{
if (false === $this->configResolver->authIs('oidc')) {
throw new \Exception('You must configure the OIDC environment variables before logging in at this route.');
}
// Redirect to authorization @ OIDC provider
return $oidcClient->generateAuthorizationRedirect();
}
@@ -21,6 +31,10 @@ class LoginOidcController extends AbstractController
#[Route('/login/oidc/auth', name: 'app_login_oidc_auth')]
public function oidcAuthenticate(): RedirectResponse
{
if (false === $this->configResolver->authIs('oidc')) {
throw new \Exception('You must configure the OIDC environment variables before logging in at this route.');
}
throw new \LogicException('This method can be blank - it will be intercepted by the "oidc" key on your firewall.');
}