[server][fix]: add sub to userinfo

Resolves: #327
This commit is contained in:
Lakhan Samani 2023-02-28 12:51:11 +05:30
parent 146707d062
commit 19f5ff61c0

View File

@ -1,6 +1,8 @@
package handlers package handlers
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@ -39,7 +41,28 @@ func UserInfoHandler() gin.HandlerFunc {
}) })
return return
} }
apiUser := user.AsAPIUser()
gc.JSON(http.StatusOK, user.AsAPIUser()) userBytes, err := json.Marshal(apiUser)
if err != nil {
log.Debug("Error marshalling user: ", err)
gc.JSON(http.StatusUnauthorized, gin.H{
"error": err.Error(),
})
return
}
fmt.Println("=> str:", string(userBytes))
res := map[string]interface{}{}
err = json.Unmarshal(userBytes, &res)
if err != nil {
log.Debug("Error un-marshalling user: ", err)
gc.JSON(http.StatusUnauthorized, gin.H{
"error": err.Error(),
})
return
}
// add sub field to user as per openid standards
// https://github.com/authorizerdev/authorizer/issues/327
res["sub"] = userID
gc.JSON(http.StatusOK, res)
} }
} }