Passport/pkg/internal/http/api/well_known_api.go

36 lines
1.4 KiB
Go
Raw Normal View History

package api
2024-01-28 16:32:39 +00:00
import (
2024-01-30 08:04:12 +00:00
"fmt"
"git.solsynth.dev/hypernet/passport/pkg/internal/services"
2024-01-28 16:32:39 +00:00
"github.com/gofiber/fiber/v2"
"github.com/spf13/viper"
)
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": viper.GetString("security.issuer"),
2024-04-21 09:27:05 +00:00
"authorization_endpoint": fmt.Sprintf("%s/authorize", basepath),
2024-02-19 08:25:57 +00:00
"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"},
"jwks_uri": fmt.Sprintf("%s/.well-known/jwks", basepath),
})
}
func getJwk(c *fiber.Ctx) error {
return c.JSON(fiber.Map{
"keys": []fiber.Map{
services.EReader.BuildJwk(viper.GetString("id")),
},
2024-01-30 08:04:12 +00:00
})
}