1
0
Fork 0
forked from goffee/core

add cookie secret as env, fix components

This commit is contained in:
Zeni Kim 2024-10-15 22:00:46 -05:00
parent 45e7079005
commit cc74165659
4 changed files with 46 additions and 13 deletions

View file

@ -5,10 +5,9 @@
package core
import (
"bytes"
"crypto/aes"
"crypto/cipher"
"bytes"
"crypto/rand"
"encoding/base64"
"encoding/gob"
@ -17,6 +16,8 @@ import (
"fmt"
"io"
"net/http"
"os"
"strconv"
"strings"
)
@ -39,10 +40,25 @@ func GetCookie(r *http.Request) (UserCookie, error) {
// Create a new instance of a User type.
var user UserCookie
secretcookie, err = hex.DecodeString("13d6b4dff8f84a10851021ec8608f814570d562c92fe6b5ec4c9f595bcb3234b")
// check if template engine is enable
TemplateEnableStr := os.Getenv("TEMPLATE_ENABLE")
if TemplateEnableStr == "" {
TemplateEnableStr = "false"
}
TemplateEnable, _ := strconv.ParseBool(TemplateEnableStr)
// if enabled,
if TemplateEnable {
cookie_secret := os.Getenv("COOKIE_SECRET")
if cookie_secret == "" {
panic("cookie secret key is not set")
}
secretcookie, err = hex.DecodeString(cookie_secret)
if err != nil {
return user, err
}
} else {
panic("Templates are disabled")
}
gobEncodedValue, err := CookieReadEncrypted(r, "goffee", secretcookie)
if err != nil {
@ -67,7 +83,26 @@ func SetCookie(w http.ResponseWriter, email string, token string) error {
// cookie.
var err error
secretcookie, err = hex.DecodeString("13d6b4dff8f84a10851021ec8608f814570d562c92fe6b5ec4c9f595bcb3234b")
// check if template engine is enable
TemplateEnableStr := os.Getenv("TEMPLATE_ENABLE")
if TemplateEnableStr == "" {
TemplateEnableStr = "false"
}
TemplateEnable, _ := strconv.ParseBool(TemplateEnableStr)
// if enabled,
if TemplateEnable {
cookie_secret := os.Getenv("COOKIE_SECRET")
if cookie_secret == "" {
panic("cookie secret key is not set")
}
secretcookie, err = hex.DecodeString(cookie_secret)
if err != nil {
return err
}
} else {
panic("Templates are disabled")
}
if err != nil {
return err
}
@ -101,8 +136,6 @@ func SetCookie(w http.ResponseWriter, email string, token string) error {
return err
}
fmt.Printf("Cookie set %v\n", email)
return nil
}

View file

@ -6,7 +6,7 @@
</tr>
</thead>
<tbody>
{{range .AllTD}}<tr scope="row">{{range .}}<td {{ if .ID }}id="{{.ID}}"{{end}}>{{ .Value }}</td>{{end}}</tr>{{end}}
{{- range .AllTD}}<tr scope="row">{{range .}}<td {{ if .ID }}id="{{.ID}}"{{end}}>{{ .Value }}</td>{{end}}</tr>{{- end}}
</tbody>
</table>
{{end}}

View file

@ -3,5 +3,5 @@ package components
type FormTextarea struct {
ID string
Label string
AllOptions []FormSelectOption
Value string
}

View file

@ -1,6 +1,6 @@
{{define "form_textarea"}}
<div class="input-container">
<label for="{{.ID}}" class="form-label">{{.Label}}</label>
<textarea class="form-control" id="{{.ID}}" name="{{.ID}}" rows="3"></textarea>
<textarea class="form-control" id="{{.ID}}" name="{{.ID}}" rows="3">{{.Value}}</textarea>
</div>
{{end}}