Initial commit: OAuth IAM Laravel application
Laravel-based OAuth/IAM service with Passport, Vue 3 frontend, and Docker Compose setup for local and production deployment. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
56
resources/views/app.blade.php
Normal file
56
resources/views/app.blade.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>OAuth2 Server</title>
|
||||
<script>
|
||||
// Aplica el tema ANTES del primer paint (evita el flash del tema equivocado).
|
||||
// Prioridad: preferencia guardada > prefers-color-scheme del SO.
|
||||
(function () {
|
||||
var stored = localStorage.getItem('theme');
|
||||
var dark = stored ? stored === 'dark' : window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||
document.documentElement.classList.toggle('dark', dark);
|
||||
})();
|
||||
</script>
|
||||
@vite(['resources/scss/app.scss', 'resources/js/app.ts'])
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
@php
|
||||
$sessionLocale = app()->getLocale();
|
||||
// La SPA trae diccionario propio para "es", "en" y "ca".
|
||||
$frontendLocale = in_array($sessionLocale, ['es', 'en', 'ca'], true) ? $sessionLocale : 'es';
|
||||
@endphp
|
||||
<script>
|
||||
// Locale de sesión real (es/en/ca) — para preseleccionar el selector de idioma.
|
||||
window.__SESSION_LOCALE__ = @json($sessionLocale);
|
||||
window.__LOCALE__ = @json($frontendLocale);
|
||||
</script>
|
||||
|
||||
@isset($authToken)
|
||||
@php
|
||||
$oauthAuthorizePayload = [
|
||||
'authToken' => $authToken,
|
||||
'csrfToken' => csrf_token(),
|
||||
'client' => [
|
||||
'id' => $client->id,
|
||||
'name' => $client->name,
|
||||
],
|
||||
'scopes' => collect($scopes)->map(fn ($scope) => [
|
||||
'id' => $scope->id,
|
||||
'description' => $scope->description,
|
||||
])->values(),
|
||||
'user' => [
|
||||
'name' => $user->name,
|
||||
'email' => $user->email,
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
<script>
|
||||
window.__OAUTH_AUTHORIZE__ = @json($oauthAuthorizePayload);
|
||||
</script>
|
||||
@endisset
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user