authorizer/server/handlers/jwks.go

39 lines
799 B
Go
Raw Normal View History

package handlers
import (
"encoding/json"
2022-05-23 06:22:51 +00:00
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
"github.com/authorizerdev/authorizer/server/constants"
2022-05-29 11:52:46 +00:00
"github.com/authorizerdev/authorizer/server/memorystore"
)
func JWKsHandler() gin.HandlerFunc {
return func(c *gin.Context) {
2022-02-26 15:06:22 +00:00
var data map[string]string
2022-05-29 11:52:46 +00:00
jwk, err := memorystore.Provider.GetStringStoreEnvVariable(constants.EnvKeyJWK)
if err != nil {
log.Debug("Error getting JWK from memorystore: ", err)
c.JSON(500, gin.H{
"error": err.Error(),
})
return
}
err = json.Unmarshal([]byte(jwk), &data)
2022-02-26 15:06:22 +00:00
if err != nil {
2022-05-25 07:00:22 +00:00
log.Debug("Failed to parse JWK: ", err)
2022-02-26 15:06:22 +00:00
c.JSON(500, gin.H{
"error": err.Error(),
})
return
}
c.JSON(200, gin.H{
"keys": []map[string]string{
data,
},
})
}
}