admin: Pick challenge title from challenge.json
This commit is contained in:
parent
d09c1741a2
commit
58af047a26
2 changed files with 17 additions and 8 deletions
|
@ -191,13 +191,15 @@ func genDexConfig() ([]byte, error) {
|
||||||
} else {
|
} else {
|
||||||
b := bytes.NewBufferString("")
|
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)
|
return nil, fmt.Errorf("Cannot create template: %w", err)
|
||||||
} else if err = dexTmpl.Execute(b, dexConfig{
|
} else if err = dexTmpl.Execute(b, dexConfig{
|
||||||
Clients: []dexConfigClient{
|
Clients: []dexConfigClient{
|
||||||
dexConfigClient{
|
dexConfigClient{
|
||||||
Id: "epita-challenge",
|
Id: "epita-challenge",
|
||||||
Name: "Challenge Forensic",
|
Name: challengeInfo.Title,
|
||||||
RedirectURIs: []string{"https://fic.srs.epita.fr/challenge_access/auth"},
|
RedirectURIs: []string{"https://fic.srs.epita.fr/challenge_access/auth"},
|
||||||
Secret: OidcSecret,
|
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 challengeinfo string
|
||||||
var err error
|
var err error
|
||||||
if sync.GlobalImporter == nil {
|
if sync.GlobalImporter == nil {
|
||||||
|
@ -103,19 +103,26 @@ func getChallengeInfo(c *gin.Context) {
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Unable to retrieve challenge.json:", err.Error())
|
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 nil, fmt.Errorf("Unable to retrive challenge.json: %w", err)
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
s, err := settings.ReadChallengeInfo(challengeinfo)
|
s, err := settings.ReadChallengeInfo(challengeinfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Unable to ReadChallengeInfo:", err.Error())
|
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 nil, fmt.Errorf("Unable to read challenge info: %w", err)
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
c.JSON(http.StatusOK, s)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func saveChallengeInfo(c *gin.Context) {
|
func saveChallengeInfo(c *gin.Context) {
|
||||||
var info *settings.ChallengeInfo
|
var info *settings.ChallengeInfo
|
||||||
|
|
Reference in a new issue