diff options
| author | Leitwolf11 | 2026-10-16 07:16:14 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-10-16 07:16:14 +0300 |
| commit | 235874b4e2bbf75acf2fd09ec37c3dfd480c01b7 (patch) | |
| tree | c76322adffc6f0a794cfe7391de8d32ece8b57ae /apps/api | |
| parent | 205d91185e22b9129c528296cf07d15225d82866 (diff) | |
| parent | e140d6587a1a74efc205b29582dfbe9942e0f3dc (diff) | |
| download | progmaweb-235874b4e2bbf75acf2fd09ec37c3dfd480c01b7.tar.gz | |
Merge remote-tracking branch 'origin/main' into feature/thirty-day-sessions
Diffstat (limited to 'apps/api')
| -rw-r--r-- | apps/api/Program.cs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/apps/api/Program.cs b/apps/api/Program.cs index 3eb96c9..688fe7d 100644 --- a/apps/api/Program.cs +++ b/apps/api/Program.cs @@ -44,6 +44,14 @@ if (!string.IsNullOrWhiteSpace(googleClientId) && !string.IsNullOrWhiteSpace(goo options.CallbackPath = "/api/v1/accounts/oauth/google/callback"; options.SignInScheme = AccountEndpoints.ExternalCookieScheme; options.SaveTokens = false; + // A callback that cannot finish (the visitor declined on Google, or the state cookie is missing or + // expired) would otherwise end in an unhandled 500. The sign-in page explains a failed Google sign-in. + options.Events.OnRemoteFailure = context => + { + context.Response.Redirect("/login?google=failed"); + context.HandleResponse(); + return Task.CompletedTask; + }; }); } builder.Services.AddProblemDetails(); |