diff --git a/dashboard/src/pages/Environment.tsx b/dashboard/src/pages/Environment.tsx index a789dc8..cf5618f 100644 --- a/dashboard/src/pages/Environment.tsx +++ b/dashboard/src/pages/Environment.tsx @@ -1,6 +1,35 @@ -import { Box, Flex } from '@chakra-ui/react'; +import { Box, Divider, Flex } from '@chakra-ui/react'; import React from 'react'; +// Don't allow changing database from here as it can cause persistence issues export default function Environment() { - return Welcome to Environment Page; + return ( + +

Social Media Logins

+ - Add horizontal input for clientID and secret for - Google - + Github - Facebook +

Roles

+ - Add tagged input for roles, default roles, and protected + roles +

JWT Configurations

+ - Add input for JWT Type (keep this disabled for now with + notice saying, "More JWT types will be enabled in upcoming releases"),JWT + secret, JWT role claim +

Session Storage

+ - Add input for redis url +

Email Configurations

+ - Add input for SMTP Host, PORT, Username, Password, From + Email, +

White Listing

+ - Add input for allowed origins +

Organization Information

+ - Add input for organization name, and logo +

Custom Scripts

+ - For now add text area input for CUSTOM_ACCESS_TOKEN_SCRIPT +

Disable Features

+ +

Danger

+ - Include changing admin secret +
+ ); } diff --git a/server/env/persist_env.go b/server/env/persist_env.go index fda443f..291e1f3 100644 --- a/server/env/persist_env.go +++ b/server/env/persist_env.go @@ -28,6 +28,7 @@ func PersistEnv() error { if err != nil { return err } + encryptedConfig, err := utils.EncryptAES(configData) if err != nil { return err @@ -121,6 +122,7 @@ func PersistEnv() error { } } + envstore.EnvInMemoryStoreObj.UpdateEnvStore(jsonData) if hasChanged { encryptedConfig, err := utils.EncryptEnvData(jsonData) if err != nil { diff --git a/server/resolvers/admin_signup.go b/server/resolvers/admin_signup.go index fd35fc7..6a14839 100644 --- a/server/resolvers/admin_signup.go +++ b/server/resolvers/admin_signup.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "log" "strings" "github.com/authorizerdev/authorizer/server/constants" @@ -58,6 +59,7 @@ func AdminSignupResolver(ctx context.Context, params model.AdminSignupInput) (*m } configData, err := utils.EncryptEnvData(jsonData) + log.Println("=> config data from signup:", configData) if err != nil { return res, err } diff --git a/server/utils/validator.go b/server/utils/validator.go index e51bc16..be708f1 100644 --- a/server/utils/validator.go +++ b/server/utils/validator.go @@ -18,8 +18,8 @@ func IsValidEmail(email string) bool { // IsValidOrigin validates origin based on ALLOWED_ORIGINS func IsValidOrigin(url string) bool { - allowedOrigins := envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAllowedOrigins).([]string) - if len(allowedOrigins) == 1 && allowedOrigins[0] == "*" { + allowedOrigins := envstore.EnvInMemoryStoreObj.GetEnvVariable(constants.EnvKeyAllowedOrigins).([]interface{}) + if len(allowedOrigins) == 1 && allowedOrigins[0].(string) == "*" { return true } @@ -28,10 +28,10 @@ func IsValidOrigin(url string) bool { currentOrigin := hostName + ":" + port for _, origin := range allowedOrigins { - replacedString := origin + replacedString := origin.(string) // if has regex whitelisted domains - if strings.Contains(origin, "*") { - replacedString = strings.Replace(origin, ".", "\\.", -1) + if strings.Contains(origin.(string), "*") { + replacedString = strings.Replace(origin.(string), ".", "\\.", -1) replacedString = strings.Replace(replacedString, "*", ".*", -1) if strings.HasPrefix(replacedString, ".*") {