diff options
Diffstat (limited to 'src/server/Utilities/HandleGithubCreatingTicket.cs')
| -rw-r--r-- | src/server/Utilities/HandleGithubCreatingTicket.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/server/Utilities/HandleGithubCreatingTicket.cs b/src/server/Utilities/HandleGithubCreatingTicket.cs new file mode 100644 index 0000000..3ead322 --- /dev/null +++ b/src/server/Utilities/HandleGithubCreatingTicket.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Authentication.OAuth; +using Npgsql; + +namespace IOL.BookmarkThing.Server.Utilities; + +public static class HandleGithubCreatingTicket +{ + public static Task Handle(OAuthCreatingTicketContext context, IConfiguration configuration) { + var ghid = context.Identity?.FindFirst(p => p.Type == AppClaims.GITHUB_ID); + if (ghid == default) { + return default; + } + + var connstring = ConnectionStrings.AppDatabaseConnectionString(configuration); + var connection = new NpgsqlConnection(connstring); + connection.Open(); + var query = new NpgsqlCommand(@$"SELECT user_id FROM github_user_mappings WHERE github_id='{ghid}'", connection); + var x = query.ExecuteReader(); + foreach (var row in x) { + Console.WriteLine(JsonSerializer.Serialize(row)); + } + + // var claims = context.Identity.Claims.ToList(); + // foreach (var claim in claims) { + // context.Identity.RemoveClaim(claim); + // } + + return Task.CompletedTask; + } +} |
