Added all necessary api endpoints for OpenID

This commit is contained in:
2024-12-22 10:55:24 +01:00
parent ba7584c771
commit 9b38a10797
15 changed files with 233 additions and 17 deletions

View File

@@ -7,13 +7,13 @@ namespace HopFrame.Testing.Api.Controllers;
public class AuthController(IOpenIdAccessor accessor) : Controller {
[HttpGet("auth/callback")]
public async Task<ActionResult<string>> Callback([FromQuery] string code, [FromQuery] string state) {
public async Task<ActionResult> Callback([FromQuery] string code, [FromQuery] string state) {
if (string.IsNullOrEmpty(code)) {
return BadRequest("Authorization code is missing");
}
var token = await accessor.RequestToken(code);
return Ok(token.AccessToken);
return Ok(token);
}
[HttpGet("auth")]

View File

@@ -66,5 +66,11 @@ public class TestController(ITokenContext userContext, DatabaseContext context,
var token = await tokens.GetToken(tokenId);
await tokens.DeleteToken(token);
}
[HttpGet("url")]
public async Task<ActionResult<SingleValueResult<string>>> GetUrl() {
var protocol = Request.IsHttps ? "https" : "http";
return Ok($"{protocol}://{Request.Host.Value}/auth/callback");
}
}