fix(server): env setup

This commit is contained in:
Lakhan Samani 2022-01-19 23:19:20 +05:30
parent 5ecc49f861
commit 7785f98dcd
4 changed files with 40 additions and 7 deletions

View File

@ -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 <Box>Welcome to Environment Page</Box>;
return (
<Box m="5" p="5" bg="white" rounded="md">
<h1>Social Media Logins</h1>
<Divider />- Add horizontal input for clientID and secret for - Google -
Github - Facebook
<h1>Roles</h1>
<Divider />- Add tagged input for roles, default roles, and protected
roles
<h1>JWT Configurations</h1>
<Divider />- 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
<h1>Session Storage</h1>
<Divider />- Add input for redis url
<h1>Email Configurations</h1>
<Divider />- Add input for SMTP Host, PORT, Username, Password, From
Email,
<h1>White Listing</h1>
<Divider />- Add input for allowed origins
<h1>Organization Information</h1>
<Divider />- Add input for organization name, and logo
<h1>Custom Scripts</h1>
<Divider />- For now add text area input for CUSTOM_ACCESS_TOKEN_SCRIPT
<h1>Disable Features</h1>
<Divider />
<h1>Danger</h1>
<Divider />- Include changing admin secret
</Box>
);
}

View File

@ -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 {

View File

@ -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
}

View File

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