admin: Pick challenge title from challenge.json
This commit is contained in:
parent
d09c1741a2
commit
58af047a26
|
@ -191,13 +191,15 @@ func genDexConfig() ([]byte, error) {
|
|||
} else {
|
||||
b := bytes.NewBufferString("")
|
||||
|
||||
if dexTmpl, err := template.New("dexcfg").Parse(dexcfgtpl); err != nil {
|
||||
if challengeInfo, err := GetChallengeInfo(); err != nil {
|
||||
return nil, fmt.Errorf("Cannot create template: %w", err)
|
||||
} else if dexTmpl, err := template.New("dexcfg").Parse(dexcfgtpl); err != nil {
|
||||
return nil, fmt.Errorf("Cannot create template: %w", err)
|
||||
} else if err = dexTmpl.Execute(b, dexConfig{
|
||||
Clients: []dexConfigClient{
|
||||
dexConfigClient{
|
||||
Id: "epita-challenge",
|
||||
Name: "Challenge Forensic",
|
||||
Name: challengeInfo.Title,
|
||||
RedirectURIs: []string{"https://fic.srs.epita.fr/challenge_access/auth"},
|
||||
Secret: OidcSecret,
|
||||
},
|
||||
|
|
|
@ -85,7 +85,7 @@ func getROSettings(c *gin.Context) {
|
|||
})
|
||||
}
|
||||
|
||||
func getChallengeInfo(c *gin.Context) {
|
||||
func GetChallengeInfo() (*settings.ChallengeInfo, error) {
|
||||
var challengeinfo string
|
||||
var err error
|
||||
if sync.GlobalImporter == nil {
|
||||
|
@ -103,18 +103,25 @@ func getChallengeInfo(c *gin.Context) {
|
|||
|
||||
if err != nil {
|
||||
log.Println("Unable to retrieve challenge.json:", err.Error())
|
||||
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": fmt.Sprintf("Unable to retrive challenge.json: %s", err.Error())})
|
||||
return
|
||||
return nil, fmt.Errorf("Unable to retrive challenge.json: %w", err)
|
||||
}
|
||||
|
||||
s, err := settings.ReadChallengeInfo(challengeinfo)
|
||||
if err != nil {
|
||||
log.Println("Unable to ReadChallengeInfo:", err.Error())
|
||||
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": fmt.Sprintf("Unable to read challenge info: %s", err.Error())})
|
||||
return
|
||||
return nil, fmt.Errorf("Unable to read challenge info: %w", err)
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, s)
|
||||
return s, nil
|
||||
}
|
||||
|
||||
func getChallengeInfo(c *gin.Context) {
|
||||
if s, err := GetChallengeInfo(); err != nil {
|
||||
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": err.Error()})
|
||||
|
||||
} else {
|
||||
c.JSON(http.StatusOK, s)
|
||||
}
|
||||
}
|
||||
|
||||
func saveChallengeInfo(c *gin.Context) {
|
||||
|
|
Loading…
Reference in New Issue