From 06f773101193486d72896b0cf13c21e70885f34c Mon Sep 17 00:00:00 2001 From: Masu Baumgartner <68913099+Masu-Baumgartner@users.noreply.github.com> Date: Sun, 3 Nov 2024 20:55:40 +0100 Subject: [PATCH] Implemented register functionality --- .../Controllers/OAuth2/OAuth2Controller.cs | 27 ++++++++++++------- Moonlight.ApiServer/Services/AuthService.cs | 4 +-- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Moonlight.ApiServer/Http/Controllers/OAuth2/OAuth2Controller.cs b/Moonlight.ApiServer/Http/Controllers/OAuth2/OAuth2Controller.cs index dcb99546..d6a85c0f 100644 --- a/Moonlight.ApiServer/Http/Controllers/OAuth2/OAuth2Controller.cs +++ b/Moonlight.ApiServer/Http/Controllers/OAuth2/OAuth2Controller.cs @@ -47,22 +47,22 @@ public class OAuth2Controller : Controller if (action == "register") { await Response.WriteAsync( - await RenderPage(parmeters => + await RenderPage(parameters => { - parmeters.Add("ClientId", clientId); - parmeters.Add("ResponseType", responseType); - parmeters.Add("RedirectUri", redirectUri); + parameters.Add("ClientId", clientId); + parameters.Add("ResponseType", responseType); + parameters.Add("RedirectUri", redirectUri); }) ); } else { await Response.WriteAsync( - await RenderPage(parmeters => + await RenderPage(parameters => { - parmeters.Add("ClientId", clientId); - parmeters.Add("ResponseType", responseType); - parmeters.Add("RedirectUri", redirectUri); + parameters.Add("ClientId", clientId); + parameters.Add("ResponseType", responseType); + parameters.Add("RedirectUri", redirectUri); }) ); } @@ -74,7 +74,9 @@ public class OAuth2Controller : Controller [FromQuery(Name = "client_id")] string clientId, [FromQuery(Name = "redirect_uri")] string redirectUri, [FromForm(Name = "email")] string email, - [FromForm(Name = "password")] string password + [FromForm(Name = "password")] string password, + [FromForm(Name = "username")] string username = "", + [FromQuery(Name = "action")] string action = "login" ) { if (responseType != "code") @@ -83,7 +85,12 @@ public class OAuth2Controller : Controller if (!await OAuth2Service.IsValidAuthorization(clientId, redirectUri)) throw new HttpApiException("Invalid authorization request", 400); - var user = await AuthService.Login(email, password); + User user; + + if (action == "register") + user = await AuthService.Register(username, email, password); + else + user = await AuthService.Login(email, password); var code = await OAuth2Service.GenerateCode(data => { data.Add("userId", user.Id); }); diff --git a/Moonlight.ApiServer/Services/AuthService.cs b/Moonlight.ApiServer/Services/AuthService.cs index 793d92c7..fe5323f6 100644 --- a/Moonlight.ApiServer/Services/AuthService.cs +++ b/Moonlight.ApiServer/Services/AuthService.cs @@ -12,12 +12,10 @@ namespace Moonlight.ApiServer.Services; public class AuthService { private readonly DatabaseRepository UserRepository; - private readonly AppConfiguration Configuration; - public AuthService(DatabaseRepository userRepository, AppConfiguration configuration) + public AuthService(DatabaseRepository userRepository) { UserRepository = userRepository; - Configuration = configuration; } public Task Register(string username, string email, string password)