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, ".*") {