Something went wrong. Try again.
forked from tangled.org/core
Something went wrong. Try again.
Go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174package db
type OAuthRequest struct { ID uint AuthserverIss string Handle string State string Did string PdsUrl string PkceVerifier string DpopAuthserverNonce string DpopPrivateJwk string}
func SaveOAuthRequest(e Execer, oauthRequest OAuthRequest) error { _, err := e.Exec(` insert into oauth_requests ( auth_server_iss, state, handle, did, pds_url, pkce_verifier, dpop_auth_server_nonce, dpop_private_jwk ) values (?, ?, ?, ?, ?, ?, ?, ?)`, oauthRequest.AuthserverIss, oauthRequest.State, oauthRequest.Handle, oauthRequest.Did, oauthRequest.PdsUrl, oauthRequest.PkceVerifier, oauthRequest.DpopAuthserverNonce, oauthRequest.DpopPrivateJwk, ) return err}
func GetOAuthRequestByState(e Execer, state string) (OAuthRequest, error) { var req OAuthRequest err := e.QueryRow(` select id, auth_server_iss, handle, state, did, pds_url, pkce_verifier, dpop_auth_server_nonce, dpop_private_jwk from oauth_requests where state = ?`, state).Scan( &req.ID, &req.AuthserverIss, &req.Handle, &req.State, &req.Did, &req.PdsUrl, &req.PkceVerifier, &req.DpopAuthserverNonce, &req.DpopPrivateJwk, ) return req, err}
func DeleteOAuthRequestByState(e Execer, state string) error { _, err := e.Exec(` delete from oauth_requests where state = ?`, state) return err}
type OAuthSession struct { ID uint Handle string Did string PdsUrl string AccessJwt string RefreshJwt string AuthServerIss string DpopPdsNonce string DpopAuthserverNonce string DpopPrivateJwk string Expiry string}
func SaveOAuthSession(e Execer, session OAuthSession) error { _, err := e.Exec(` insert into oauth_sessions ( did, handle, pds_url, access_jwt, refresh_jwt, auth_server_iss, dpop_auth_server_nonce, dpop_private_jwk, expiry ) values (?, ?, ?, ?, ?, ?, ?, ?, ?)`, session.Did, session.Handle, session.PdsUrl, session.AccessJwt, session.RefreshJwt, session.AuthServerIss, session.DpopAuthserverNonce, session.DpopPrivateJwk, session.Expiry, ) return err}
func RefreshOAuthSession(e Execer, did string, accessJwt, refreshJwt, expiry string) error { _, err := e.Exec(` update oauth_sessions set access_jwt = ?, refresh_jwt = ?, expiry = ? where did = ?`, accessJwt, refreshJwt, expiry, did, ) return err}
func GetOAuthSessionByDid(e Execer, did string) (*OAuthSession, error) { var session OAuthSession err := e.QueryRow(` select id, did, handle, pds_url, access_jwt, refresh_jwt, auth_server_iss, dpop_auth_server_nonce, dpop_private_jwk, expiry from oauth_sessions where did = ?`, did).Scan( &session.ID, &session.Did, &session.Handle, &session.PdsUrl, &session.AccessJwt, &session.RefreshJwt, &session.AuthServerIss, &session.DpopAuthserverNonce, &session.DpopPrivateJwk, &session.Expiry, ) return &session, err}
func DeleteOAuthSessionByDid(e Execer, did string) error { _, err := e.Exec(` delete from oauth_sessions where did = ?`, did) return err}
func UpdateDpopPdsNonce(e Execer, did string, dpopPdsNonce string) error { _, err := e.Exec(` update oauth_sessions set dpop_pds_nonce = ? where did = ?`, dpopPdsNonce, did, ) return err}