2024-01-28 16:32:39 +00:00
|
|
|
package server
|
|
|
|
|
|
|
|
import (
|
2024-01-30 08:04:12 +00:00
|
|
|
"fmt"
|
2024-03-16 06:47:16 +00:00
|
|
|
|
2024-01-28 16:32:39 +00:00
|
|
|
"github.com/gofiber/fiber/v2"
|
|
|
|
"github.com/spf13/viper"
|
|
|
|
)
|
|
|
|
|
|
|
|
func getMetadata(c *fiber.Ctx) error {
|
|
|
|
return c.JSON(fiber.Map{
|
2024-01-29 08:11:59 +00:00
|
|
|
"name": viper.GetString("name"),
|
|
|
|
"domain": viper.GetString("domain"),
|
|
|
|
"open_registration": !viper.GetBool("use_registration_magic_token"),
|
2024-01-28 16:32:39 +00:00
|
|
|
})
|
|
|
|
}
|
2024-01-30 08:04:12 +00:00
|
|
|
|
|
|
|
func getOidcConfiguration(c *fiber.Ctx) error {
|
|
|
|
domain := viper.GetString("domain")
|
|
|
|
basepath := fmt.Sprintf("https://%s", domain)
|
|
|
|
|
|
|
|
return c.JSON(fiber.Map{
|
|
|
|
"issuer": basepath,
|
2024-02-19 08:25:57 +00:00
|
|
|
"authorization_endpoint": fmt.Sprintf("%s/auth/o/connect", basepath),
|
|
|
|
"token_endpoint": fmt.Sprintf("%s/api/auth/token", basepath),
|
2024-01-30 08:04:12 +00:00
|
|
|
"userinfo_endpoint": fmt.Sprintf("%s/api/users/me", basepath),
|
|
|
|
"response_types_supported": []string{"code", "token"},
|
|
|
|
"grant_types_supported": []string{"authorization_code", "implicit", "refresh_token"},
|
|
|
|
"subject_types_supported": []string{"public"},
|
|
|
|
"token_endpoint_auth_methods_supported": []string{"client_secret_post"},
|
|
|
|
"id_token_signing_alg_values_supported": []string{"HS512"},
|
|
|
|
"token_endpoint_auth_signing_alg_values_supported": []string{"HS512"},
|
|
|
|
})
|
|
|
|
}
|