diff --git a/Dockerfile b/Dockerfile index abba0ee..57f3618 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,11 @@ FROM golang:1.16-alpine as builder - WORKDIR /app - COPY . . - -RUN apk add build-base && cd server && go mod download && go build && chmod 777 server && ls -l +RUN apk add build-base &&\ + cd server && \ + go mod download && \ + go build && \ + chmod 777 server FROM alpine:latest RUN apk --no-cache add ca-certificates diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..9595e2d --- /dev/null +++ b/TODO.md @@ -0,0 +1,2 @@ +- [] Add env to disalbe email verification -> this can be helpful while onboarding user +- [] \ No newline at end of file diff --git a/server/email/email.go b/server/email/email.go index 9e7a8c9..3b2bf60 100644 --- a/server/email/email.go +++ b/server/email/email.go @@ -19,6 +19,8 @@ import ( // https://stackoverflow.com/questions/19877246/nodemailer-with-gmail-and-nodejs **/ +// TODO -> try using gomail.v2 + type Sender struct { User string Password string diff --git a/server/utils/authToken.go b/server/utils/authToken.go index 736b8a7..44af5c4 100644 --- a/server/utils/authToken.go +++ b/server/utils/authToken.go @@ -49,9 +49,8 @@ func CreateAuthToken(user UserAuthInfo, tokenType enum.TokenType) (string, int64 } func GetAuthToken(gc *gin.Context) (string, error) { - token := "" - cookie, err := gc.Request.Cookie(constants.COOKIE_NAME) - if err != nil { + token, err := GetCookie(gc) + if err != nil || token == "" { // try to check in auth header for cookie log.Println("cookie not found checking headers") auth := gc.Request.Header.Get("Authorization") @@ -60,10 +59,7 @@ func GetAuthToken(gc *gin.Context) (string, error) { } token = strings.TrimPrefix(auth, "Bearer ") - } else { - token = cookie.Value } - return token, nil } diff --git a/server/utils/cookie.go b/server/utils/cookie.go index 0cb23a1..795846c 100644 --- a/server/utils/cookie.go +++ b/server/utils/cookie.go @@ -24,6 +24,15 @@ func SetCookie(gc *gin.Context, token string) { gc.SetCookie(constants.COOKIE_NAME, token, 3600, "/", u.Hostname(), secure, httpOnly) } +func GetCookie(gc *gin.Context) (string, error) { + cookie, err := gc.Request.Cookie(constants.COOKIE_NAME) + if err != nil { + return "", err + } + + return cookie.Value, nil +} + func DeleteCookie(gc *gin.Context) { secure := true httpOnly := true