fix: oauth login

This commit is contained in:
Lakhan Samani
2022-03-07 08:31:39 +05:30
parent 07552bc0b1
commit e61dc2f08a
5 changed files with 83 additions and 31 deletions

View File

@@ -6,8 +6,10 @@ import (
"net/http"
"strings"
"github.com/authorizerdev/authorizer/server/constants"
"github.com/authorizerdev/authorizer/server/cookie"
"github.com/authorizerdev/authorizer/server/db"
"github.com/authorizerdev/authorizer/server/envstore"
"github.com/authorizerdev/authorizer/server/sessionstore"
"github.com/authorizerdev/authorizer/server/token"
"github.com/gin-gonic/gin"
@@ -26,7 +28,23 @@ func TokenHandler() gin.HandlerFunc {
codeVerifier := strings.TrimSpace(reqBody["code_verifier"])
code := strings.TrimSpace(reqBody["code"])
redirectURI := strings.TrimSpace(reqBody["redirect_uri"])
clientID := strings.TrimSpace(reqBody["client_id"])
if clientID == "" {
gc.JSON(http.StatusBadRequest, gin.H{
"error": "client_id_required",
"error_description": "The client id is required",
})
return
}
if clientID != envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyClientID) {
gc.JSON(http.StatusBadRequest, gin.H{
"error": "invalid_client_id",
"error_description": "The client id is invalid",
})
return
}
if codeVerifier == "" {
gc.JSON(http.StatusBadRequest, gin.H{
@@ -44,14 +62,6 @@ func TokenHandler() gin.HandlerFunc {
return
}
if redirectURI == "" {
gc.JSON(http.StatusBadRequest, gin.H{
"error": "invalid_redirect_uri",
"error_description": "The redirect URI is required",
})
return
}
hash := sha256.New()
hash.Write([]byte(codeVerifier))
encryptedCode := strings.ReplaceAll(base64.URLEncoding.EncodeToString(hash.Sum(nil)), "+", "-")