fix: update authorizer-react + oauth callback

This commit is contained in:
Lakhan Samani
2021-08-10 22:20:24 +05:30
parent b9872b5aac
commit 5c3a5000cd
6 changed files with 1453 additions and 1559 deletions

View File

@@ -4,7 +4,6 @@ import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"strings"
"time"
@@ -63,7 +62,9 @@ func processGoogleUserInfo(code string, c *gin.Context) error {
}
user, _ = db.Mgr.SaveUser(user)
user, _ = db.Mgr.GetUserByEmail(user.Email)
userIdStr := fmt.Sprintf("%v", user.ID)
refreshToken, _, _ := utils.CreateAuthToken(utils.UserAuthInfo{
ID: userIdStr,
Email: user.Email,
@@ -139,6 +140,7 @@ func processGithubUserInfo(code string, c *gin.Context) error {
}
user, _ = db.Mgr.SaveUser(user)
user, _ = db.Mgr.GetUserByEmail(user.Email)
userIdStr := fmt.Sprintf("%v", user.ID)
refreshToken, _, _ := utils.CreateAuthToken(utils.UserAuthInfo{
ID: userIdStr,
@@ -156,17 +158,16 @@ func processGithubUserInfo(code string, c *gin.Context) error {
func OAuthCallbackHandler() gin.HandlerFunc {
return func(c *gin.Context) {
log.Println("url:", c.Request.URL)
provider := c.Param("oauth_provider")
state := c.Request.FormValue("state")
log.Println("session state", state)
sessionState := session.GetToken(state)
if sessionState == "" {
c.JSON(400, gin.H{"error": "invalid oauth state"})
}
session.DeleteToken(sessionState)
sessionSplit := strings.Split(state, "___")
log.Println(sessionSplit)
// TODO validate redirect url
if len(sessionSplit) != 2 {
c.JSON(400, gin.H{"error": "invalid redirect url"})

View File

@@ -18,15 +18,15 @@ func ResetPassword(ctx context.Context, params model.ResetPasswordInput) (*model
return res, fmt.Errorf(`basic authentication is disabled for this instance`)
}
if params.Password != params.ConfirmPassword {
return res, fmt.Errorf(`passwords don't match`)
}
_, err := db.Mgr.GetVerificationByToken(params.Token)
if err != nil {
return res, fmt.Errorf(`invalid token`)
}
if params.Password != params.ConfirmPassword {
return res, fmt.Errorf(`passwords don't match`)
}
// verify if token exists in db
claim, err := utils.VerifyVerificationToken(params.Token)
if err != nil {