forked from goffee/core
add cookie secret as env, fix components
This commit is contained in:
parent
45e7079005
commit
cc74165659
4 changed files with 46 additions and 13 deletions
45
cookies.go
45
cookies.go
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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}}
|
|
@ -3,5 +3,5 @@ package components
|
|||
type FormTextarea struct {
|
||||
ID string
|
||||
Label string
|
||||
AllOptions []FormSelectOption
|
||||
Value string
|
||||
}
|
||||
|
|
|
@ -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}}
|
Loading…
Reference in a new issue