2022-02-26 12:44:43 +00:00
|
|
|
package handlers
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
|
2022-05-23 06:22:51 +00:00
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
|
|
2022-02-26 12:44:43 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/constants"
|
2022-05-29 11:52:46 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/memorystore"
|
2022-02-26 12:44:43 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
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
|
|
|
|
}
|
2022-02-26 12:44:43 +00:00
|
|
|
c.JSON(200, gin.H{
|
|
|
|
"keys": []map[string]string{
|
|
|
|
data,
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|