♻️ Update the sign in web page to the latest API
This commit is contained in:
@ -36,7 +36,7 @@ func doAuthenticate(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"is_finished": ticket.IsAvailable(),
|
||||
"is_finished": ticket.IsAvailable() == nil,
|
||||
"ticket": ticket,
|
||||
})
|
||||
}
|
||||
@ -68,7 +68,7 @@ func doMultiFactorAuthenticate(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"is_finished": ticket.IsAvailable(),
|
||||
"is_finished": ticket.IsAvailable() == nil,
|
||||
"ticket": ticket,
|
||||
})
|
||||
}
|
||||
|
@ -1,10 +1,29 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.solsynth.dev/hydrogen/passport/pkg/internal/services"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
func getAvailableFactors(c *fiber.Ctx) error {
|
||||
ticketId := c.QueryInt("ticketId", 0)
|
||||
if ticketId <= 0 {
|
||||
return fiber.NewError(fiber.StatusBadRequest, "must provide ticket id as a query parameter")
|
||||
}
|
||||
|
||||
ticket, err := services.GetTicket(uint(ticketId))
|
||||
if err != nil {
|
||||
return fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("ticket was not found: %v", err))
|
||||
}
|
||||
factors, err := services.ListUserFactor(ticket.AccountID)
|
||||
if err != nil {
|
||||
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
|
||||
}
|
||||
|
||||
return c.JSON(factors)
|
||||
}
|
||||
|
||||
func requestFactorToken(c *fiber.Ctx) error {
|
||||
id, _ := c.ParamsInt("factorId", 0)
|
||||
|
||||
|
@ -55,7 +55,10 @@ func MapAPIs(app *fiber.App) {
|
||||
api.Post("/users", doRegister)
|
||||
|
||||
api.Post("/auth", doAuthenticate)
|
||||
api.Post("/auth/mfa", doMultiFactorAuthenticate)
|
||||
api.Post("/auth/token", getToken)
|
||||
|
||||
api.Get("/auth/factors", getAvailableFactors)
|
||||
api.Post("/auth/factors/:factorId", requestFactorToken)
|
||||
|
||||
realms := api.Group("/realms").Name("Realms API")
|
||||
|
Reference in New Issue
Block a user