From f41cef5da51a884e68d12ac90ae627428b02b112 Mon Sep 17 00:00:00 2001 From: abhishek9686 Date: Thu, 4 Apr 2024 11:45:33 +0530 Subject: [PATCH] add set auth secret --- auth/auth.go | 16 ++++------------ logic/auth.go | 21 +++++++++++++++------ 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/auth/auth.go b/auth/auth.go index f9a524b0..5340db31 100644 --- a/auth/auth.go +++ b/auth/auth.go @@ -75,9 +75,9 @@ func InitializeAuthProvider() string { if functions == nil { return "" } - var _, err = fetchPassValue(logic.RandomString(64)) + var err = logic.SetAuthSecret(auth_key, logic.RandomString(64)) if err != nil { - logger.Log(0, err.Error()) + logger.FatalLog("failed to set auth_secret", err.Error()) return "" } var authInfo = servercfg.GetAuthProviderInfo() @@ -280,16 +280,8 @@ func fetchPassValue(newValue string) (string, error) { type valueHolder struct { Value string `json:"value" bson:"value"` } - var b64NewValue = base64.StdEncoding.EncodeToString([]byte(newValue)) - var newValueHolder = &valueHolder{ - Value: b64NewValue, - } - var data, marshalErr = json.Marshal(newValueHolder) - if marshalErr != nil { - return "", marshalErr - } - - var currentValue, err = logic.FetchAuthSecret(auth_key, string(data)) + newValueHolder := valueHolder{} + var currentValue, err = logic.FetchAuthSecret(auth_key) if err != nil { return "", err } diff --git a/logic/auth.go b/logic/auth.go index 5c27d36d..23b900df 100644 --- a/logic/auth.go +++ b/logic/auth.go @@ -1,6 +1,7 @@ package logic import ( + "encoding/base64" "encoding/json" "errors" "fmt" @@ -284,15 +285,23 @@ func DeleteUser(user string) (bool, error) { return true, nil } +func SetAuthSecret(key, secret string) error { + type valueHolder struct { + Value string `json:"value" bson:"value"` + } + var b64NewValue = base64.StdEncoding.EncodeToString([]byte(secret)) + newValueHolder := valueHolder{ + Value: b64NewValue, + } + d, _ := json.Marshal(newValueHolder) + return database.Insert(key, string(d), database.GENERATED_TABLE_NAME) +} + // FetchAuthSecret - manages secrets for oauth -func FetchAuthSecret(key string, secret string) (string, error) { +func FetchAuthSecret(key string) (string, error) { var record, err = database.FetchRecord(database.GENERATED_TABLE_NAME, key) if err != nil { - if err = database.Insert(key, secret, database.GENERATED_TABLE_NAME); err != nil { - return "", err - } else { - return secret, nil - } + return "", err } return record, nil }