feat(auth): Add /token endpoint to request a access token
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"git.secnex.io/secnex/masterlog"
|
||||
"git.secnex.io/secnex/oauth2-api/services"
|
||||
"git.secnex.io/secnex/oauth2-api/utils"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
@@ -15,15 +17,21 @@ type AuthorizeRequest struct {
|
||||
}
|
||||
|
||||
func AuthorizeController(c *fiber.Ctx) error {
|
||||
masterlog.Debug("Authorize request received", map[string]interface{}{"path": c.Path()})
|
||||
var request AuthorizeRequest
|
||||
if err := c.BodyParser(&request); err != nil {
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": err.Error()})
|
||||
masterlog.Debug("Failed to parse request", map[string]interface{}{"error": err.Error()})
|
||||
return utils.NewHTTPResponse(fiber.StatusBadRequest, &fiber.Map{"error": err.Error()}, "", nil, nil).Send(c)
|
||||
}
|
||||
|
||||
if err := validator.New().Struct(request); err != nil {
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": err.Error()})
|
||||
masterlog.Debug("Failed to validate request", map[string]interface{}{"error": err.Error()})
|
||||
return utils.NewHTTPResponse(fiber.StatusBadRequest, &fiber.Map{"error": err.Error()}, "", nil, nil).Send(c)
|
||||
}
|
||||
|
||||
masterlog.Debug("Authorize request validated", map[string]interface{}{"path": c.Path()})
|
||||
|
||||
response := services.Authorize(c.Locals("user").(string), request.ClientID, request.RedirectURI, request.ResponseType, request.Scope, request.State)
|
||||
masterlog.Debug("Authorize response sent", map[string]interface{}{"path": c.Path()})
|
||||
return response.Send(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user