Remove themes from this repo
This commit is contained in:
@@ -69,7 +69,11 @@ func NewIdentificationProvider(cfg *viper.Viper, services *services.ServicesHand
|
||||
|
||||
func (p *IdentificationProvider) Middleware(next http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
session, _ := p.SessionsStore.Get(r, "parcoursmob_session")
|
||||
fmt.Println("IDP Middleware")
|
||||
session, err := p.SessionsStore.Get(r, "parcoursmob_session")
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
if session.Values["idtoken"] == nil || session.Values["idtoken"] == "" {
|
||||
|
||||
|
||||
@@ -64,13 +64,18 @@ func NewEtcdHandler(cfg *viper.Viper) (*EtcdHandler, error) {
|
||||
var (
|
||||
endpoints = cfg.GetStringSlice("storage.kv.etcd.endpoints")
|
||||
prefix = cfg.GetString("storage.kv.etcd.prefix")
|
||||
username = cfg.GetString("storage.kv.etcd.username")
|
||||
password = cfg.GetString("storage.kv.etcd.password")
|
||||
)
|
||||
|
||||
cli, err := clientv3.New(clientv3.Config{
|
||||
Endpoints: endpoints,
|
||||
Username: username,
|
||||
Password: password,
|
||||
DialTimeout: 5 * time.Second,
|
||||
})
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -87,6 +92,7 @@ func NewEtcdHandler(cfg *viper.Viper) (*EtcdHandler, error) {
|
||||
func (s *EtcdHandler) Put(k string, v any) error {
|
||||
data, err := s.serializer.Serialize(v)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
// _, err = s.Client.KV.Put(context.TODO(), k, data.String())
|
||||
@@ -94,6 +100,7 @@ func (s *EtcdHandler) Put(k string, v any) error {
|
||||
_, err = s.Client.KV.Put(ctx, k, string(data))
|
||||
cancel()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -102,18 +109,22 @@ func (s *EtcdHandler) Put(k string, v any) error {
|
||||
func (s *EtcdHandler) PutWithTTL(k string, v any, duration time.Duration) error {
|
||||
lease, err := s.Client.Lease.Grant(context.TODO(), int64(duration.Seconds()))
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
|
||||
data, err := s.serializer.Serialize(v)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
// _, err = s.Client.KV.Put(context.TODO(), k, data.String(), clientv3.WithLease(lease.ID))
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
_, err = s.Client.KV.Put(ctx, k, string(data), clientv3.WithLease(lease.ID))
|
||||
cancel()
|
||||
fmt.Println("?")
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -124,12 +135,14 @@ func (s *EtcdHandler) Get(k string) (any, error) {
|
||||
resp, err := s.Client.KV.Get(ctx, k)
|
||||
cancel()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
for _, v := range resp.Kvs {
|
||||
var data any
|
||||
err := s.serializer.Deserialize([]byte(v.Value), &data)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
// We return directly as we want to last revision of value
|
||||
@@ -143,6 +156,7 @@ func (s *EtcdHandler) Delete(k string) error {
|
||||
_, err := s.Client.KV.Delete(ctx, k)
|
||||
cancel()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
@@ -72,9 +72,11 @@ func (s *SessionStore) New(r *http.Request, name string) (*sessions.Session, err
|
||||
|
||||
// Save adds a single session to the response.
|
||||
func (s *SessionStore) Save(r *http.Request, w http.ResponseWriter, session *sessions.Session) error {
|
||||
fmt.Println("Save session")
|
||||
// Marked for deletion.
|
||||
if session.Options.MaxAge <= 0 {
|
||||
if err := s.delete(r.Context(), session); err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
http.SetCookie(w, sessions.NewCookie(session.Name(), "", session.Options))
|
||||
@@ -83,11 +85,15 @@ func (s *SessionStore) Save(r *http.Request, w http.ResponseWriter, session *ses
|
||||
if session.ID == "" {
|
||||
session.ID = strings.TrimRight(base32.StdEncoding.EncodeToString(securecookie.GenerateRandomKey(32)), "=")
|
||||
}
|
||||
fmt.Println("before save")
|
||||
if err := s.save(r.Context(), session); err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
fmt.Println("secure cookie")
|
||||
encoded, err := securecookie.EncodeMulti(session.Name(), session.ID, s.Codecs...)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
http.SetCookie(w, sessions.NewCookie(session.Name(), encoded, session.Options))
|
||||
@@ -98,20 +104,27 @@ func (s *SessionStore) Save(r *http.Request, w http.ResponseWriter, session *ses
|
||||
// save stores the session in kv.
|
||||
func (s *SessionStore) save(ctx context.Context, session *sessions.Session) error {
|
||||
m := make(map[string]interface{}, len(session.Values))
|
||||
fmt.Println(m)
|
||||
for k, v := range session.Values {
|
||||
fmt.Println(v)
|
||||
ks, ok := k.(string)
|
||||
if !ok {
|
||||
err := fmt.Errorf("non-string key value, cannot serialize session: %v", k)
|
||||
fmt.Println(err)
|
||||
return err
|
||||
}
|
||||
m[ks] = v
|
||||
}
|
||||
|
||||
fmt.Println("loop finished")
|
||||
|
||||
age := session.Options.MaxAge
|
||||
if age == 0 {
|
||||
age = s.DefaultMaxAge
|
||||
}
|
||||
|
||||
fmt.Println("before return")
|
||||
|
||||
return s.KV.PutWithTTL(s.keyPrefix+session.ID, m, time.Duration(age)*time.Second)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user