diff options
author | 2023-11-06 04:27:35 +1030 | |
---|---|---|
committer | 2023-11-05 18:57:35 +0100 | |
commit | 62ef8ed57aab9f2b05a64b153d231ae4f42769f4 (patch) | |
tree | acc33ab1fd02113f8fc93751e593dc67ff504a84 /internal/storage/session.go | |
parent | 62188b49f072ea3c2bf30a8ed42f8b9303840191 (diff) | |
download | v2-62ef8ed57aab9f2b05a64b153d231ae4f42769f4.tar.gz v2-62ef8ed57aab9f2b05a64b153d231ae4f42769f4.tar.zst v2-62ef8ed57aab9f2b05a64b153d231ae4f42769f4.zip |
Add WebAuthn / Passkey integration
This is a rebase of #1618 in which @dave-atx added WebAuthn support.
Closes #1618
Diffstat (limited to '')
-rw-r--r-- | internal/storage/session.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/storage/session.go b/internal/storage/session.go index fb78ea02..cf48b5aa 100644 --- a/internal/storage/session.go +++ b/internal/storage/session.go @@ -70,6 +70,23 @@ func (s *Storage) UpdateAppSessionField(sessionID, field string, value any) erro return nil } +func (s *Storage) UpdateAppSessionObjectField(sessionID, field string, value interface{}) error { + query := ` + UPDATE + sessions + SET + data = jsonb_set(data, '{%s}', $1, true) + WHERE + id=$2 + ` + _, err := s.db.Exec(fmt.Sprintf(query, field), value, sessionID) + if err != nil { + return fmt.Errorf(`store: unable to update session field: %v`, err) + } + + return nil +} + // AppSession returns the given session. func (s *Storage) AppSession(id string) (*model.Session, error) { var session model.Session |