authorizer/server/handlers/openid_config.go

33 lines
1.7 KiB
Go
Raw Normal View History

2022-02-23 05:54:52 +00:00
package handlers
import (
"github.com/gin-gonic/gin"
"github.com/authorizerdev/authorizer/server/constants"
2022-05-29 11:52:46 +00:00
"github.com/authorizerdev/authorizer/server/memorystore"
2022-05-30 06:24:16 +00:00
"github.com/authorizerdev/authorizer/server/parsers"
2022-02-23 05:54:52 +00:00
)
// OpenIDConfigurationHandler handler for open-id configurations
func OpenIDConfigurationHandler() gin.HandlerFunc {
return func(c *gin.Context) {
2022-05-30 06:24:16 +00:00
issuer := parsers.GetHost(c)
2022-05-29 11:52:46 +00:00
jwtType, _ := memorystore.Provider.GetStringStoreEnvVariable(constants.EnvKeyJwtType)
2022-02-23 05:54:52 +00:00
c.JSON(200, gin.H{
"issuer": issuer,
"authorization_endpoint": issuer + "/authorize",
2022-10-21 05:51:21 +00:00
"token_endpoint": issuer + "/oauth/token",
2022-02-23 05:54:52 +00:00
"userinfo_endpoint": issuer + "/userinfo",
"jwks_uri": issuer + "/.well-known/jwks.json",
"registration_endpoint": issuer + "/app",
2022-10-21 05:51:21 +00:00
"response_types_supported": []string{"code", "token", "id_token"},
"scopes_supported": []string{"openid", "email", "profile"},
2022-10-21 05:51:21 +00:00
"response_modes_supported": []string{"query", "fragment", "form_post", "web_message"},
"subject_types_supported": "public",
2022-02-23 05:54:52 +00:00
"id_token_signing_alg_values_supported": []string{jwtType},
2022-10-21 05:51:21 +00:00
"claims_supported": []string{"aud", "exp", "iss", "iat", "sub", "given_name", "family_name", "middle_name", "nickname", "preferred_username", "picture", "email", "email_verified", "roles", "role", "gender", "birthdate", "phone_number", "phone_number_verified", "nonce", "updated_at", "created_at", "revoked_timestamp", "login_method", "signup_methods", "token_type"},
2022-02-23 05:54:52 +00:00
})
}
}