diff options
Diffstat (limited to 'src/server/Api/Internal')
| -rw-r--r-- | src/server/Api/Internal/Account/CreateGithubSessionRoute.cs | 17 | ||||
| -rw-r--r-- | src/server/Api/Internal/OAuthCallbackRoute.cs | 18 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/server/Api/Internal/Account/CreateGithubSessionRoute.cs b/src/server/Api/Internal/Account/CreateGithubSessionRoute.cs new file mode 100644 index 0000000..21cfead --- /dev/null +++ b/src/server/Api/Internal/Account/CreateGithubSessionRoute.cs @@ -0,0 +1,17 @@ +using AspNet.Security.OAuth.GitHub; + +namespace IOL.BookmarkThing.Server.Api.Internal.Account; + +public class CreateGithubSessionRoute : RouteBaseInternalSync.WithoutRequest.WithActionResult +{ + [AllowAnonymous] + [ApiVersionNeutral] + [ApiExplorerSettings(IgnoreApi = true)] + [HttpGet("~/v{version:apiVersion}/account/create-github-session")] + public override ActionResult Handle() { + return Challenge(new AuthenticationProperties { + RedirectUri = "/oauth-cb", + }, + GitHubAuthenticationDefaults.AuthenticationScheme); + } +} diff --git a/src/server/Api/Internal/OAuthCallbackRoute.cs b/src/server/Api/Internal/OAuthCallbackRoute.cs new file mode 100644 index 0000000..156ff11 --- /dev/null +++ b/src/server/Api/Internal/OAuthCallbackRoute.cs @@ -0,0 +1,18 @@ +namespace IOL.BookmarkThing.Server.Api.Internal; + +public class OAuthCallbackRoute : RouteBaseInternalSync.WithoutRequest.WithActionResult +{ + private readonly IConfiguration _configuration; + + public OAuthCallbackRoute(IConfiguration configuration) { + _configuration = configuration; + } + + [AllowAnonymous] + [ApiVersionNeutral] + [ApiExplorerSettings(IgnoreApi = true)] + [HttpGet("~/oauth-cb")] + public override ActionResult Handle() { + return Redirect(_configuration.GetValue<string>("FRONTEND_CANONICAL_URL")); + } +} |
