Documentation
¶
Index ¶
- Constants
- Variables
- func MarshalVerifyOtpCredentials(c VerifyOtpCredentials) ([]byte, error)
- type Admin
- func (a *Admin) CreateUser(ctx context.Context, params AdminUserParams) (*AdminUser, error)
- func (a *Admin) GenerateLink(ctx context.Context, params GenerateLinkParams) (*GenerateLinkResponse, error)
- func (a *Admin) GetUser(ctx context.Context, userID string) (*AdminUser, error)
- func (a *Admin) UpdateUser(ctx context.Context, userID string, params AdminUserParams) (*AdminUser, error)
- type AdminUser
- type AdminUserParams
- type AppMetadata
- type Auth
- func (a *Auth) ExchangeCode(ctx context.Context, opts ExchangeCodeOpts) (*AuthenticatedDetails, error)
- func (a *Auth) InviteUserByEmail(ctx context.Context, email string) (*User, error)
- func (a *Auth) InviteUserByEmailWithData(ctx context.Context, email string, data map[string]interface{}, ...) (*User, error)
- func (a *Auth) RefreshUser(ctx context.Context, userToken string, refreshToken string) (*AuthenticatedDetails, error)
- func (a *Auth) ResetPasswordForEmail(ctx context.Context, email string, redirectTo string) error
- func (a *Auth) SendMagicLink(ctx context.Context, email string) error
- func (a *Auth) SignIn(ctx context.Context, credentials UserCredentials) (*AuthenticatedDetails, error)
- func (a *Auth) SignInWithProvider(opts ProviderSignInOptions) (*ProviderSignInDetails, error)
- func (a *Auth) SignOut(ctx context.Context, userToken string) error
- func (a *Auth) SignUp(ctx context.Context, credentials UserCredentials) (*User, error)
- func (a *Auth) UpdateUser(ctx context.Context, userToken string, updateData map[string]interface{}) (*User, error)
- func (a *Auth) User(ctx context.Context, userToken string) (*User, error)
- func (a *Auth) VerifyOtp(ctx context.Context, credentials VerifyOtpCredentials) (*AuthenticatedDetails, error)
- type AuthenticatedDetails
- type BroadcastConfig
- type BroadcastParams
- type BucketOption
- type Channel
- func (c *Channel) Broadcast(event string, payload interface{}) error
- func (c *Channel) GetPresenceState() PresenceState
- func (c *Channel) Join() error
- func (c *Channel) Name() string
- func (c *Channel) Status() ChannelStatus
- func (c *Channel) Subscribe(callback EventHandler) error
- func (c *Channel) SubscribeToBroadcast(events []string, opts BroadcastConfig) *Channel
- func (c *Channel) SubscribeToEvent(event string, callback EventHandler) error
- func (c *Channel) SubscribeToPostgresChanges(changes []PostgresChange) *Channel
- func (c *Channel) SubscribeToPresence(key string) *Channel
- func (c *Channel) Track(payload interface{}) error
- func (c *Channel) Unsubscribe() error
- func (c *Channel) Untrack() error
- type ChannelOptions
- type ChannelStatus
- type Client
- type ClientOptions
- type ColumnData
- type ConnectionStatus
- type EmailOtpType
- type ErrorResponse
- type EventHandler
- type ExchangeCodeOpts
- type Factor
- type FileErrorResponse
- type FileObject
- type FileResponse
- type FileSearchOptions
- type FileUploadOptions
- type FlowType
- type GenerateLinkParams
- type GenerateLinkResponse
- type GetAccessToken
- type GorillaWebSocketTransport
- func (t *GorillaWebSocketTransport) Connect(wsURL string, params map[string]string, headers map[string]string) error
- func (t *GorillaWebSocketTransport) Disconnect(code int, reason string) error
- func (t *GorillaWebSocketTransport) OnClose(callback func(code int, reason string)) error
- func (t *GorillaWebSocketTransport) OnError(callback func(err error)) error
- func (t *GorillaWebSocketTransport) OnMessage(callback func(data []byte)) error
- func (t *GorillaWebSocketTransport) OnOpen(callback func()) error
- func (t *GorillaWebSocketTransport) Send(data []byte) error
- type Identity
- type JSONMap
- type ListFileRequest
- type Logger
- type Message
- type PKCEParams
- type PhoneOtpType
- type PostgresChange
- type PresenceConfig
- type PresenceDiff
- type PresenceState
- type ProviderSignInDetails
- type ProviderSignInOptions
- type Push
- type PusherEvent
- type Realtime
- type RealtimeClient
- type RealtimePostgresChangesPayload
- type SignedUrlResponse
- type SortBy
- type Storage
- func (s *Storage) CreateBucket(ctx context.Context, option BucketOption) (*bucket, error)
- func (s *Storage) DeleteBucket(ctx context.Context, id string) (*bucketResponse, error)
- func (s *Storage) EmptyBucket(ctx context.Context, id string) (*bucketMessage, error)
- func (s *Storage) From(bucketId string) *file
- func (s *Storage) GetBucket(ctx context.Context, id string) (*bucketResponse, error)
- func (s *Storage) ListBuckets(ctx context.Context) (*[]bucketResponse, error)
- func (s *Storage) UpdateBucket(ctx context.Context, id string, option BucketOption) (*bucketMessage, error)
- type SubscribeParams
- type User
- type UserCredentials
- type VerifyEmailOtpCredentials
- type VerifyOtpCredentials
- type VerifyPhoneOtpCredentials
- type VerifyTokenHashOtpCredentials
- type WebSocketTransport
Constants ¶
const ( AuthEndpoint = "auth/v1" AdminEndpoint = "auth/v1/admin" RestEndpoint = "rest/v1" StorageEndpoint = "storage/v1" RealtimeEndpoint = "realtime/v1" )
Variables ¶
var ErrNotFound = errors.New("file not found")
Functions ¶
func MarshalVerifyOtpCredentials ¶
func MarshalVerifyOtpCredentials(c VerifyOtpCredentials) ([]byte, error)
MarshalVerifyOtpCredentials marshals the VerifyOtpCredentials into a JSON byte slice.
Types ¶
type Admin ¶
type Admin struct {
// contains filtered or unexported fields
}
func (*Admin) CreateUser ¶
Create a user
func (*Admin) GenerateLink ¶
func (a *Admin) GenerateLink(ctx context.Context, params GenerateLinkParams) (*GenerateLinkResponse, error)
Update a user
func (*Admin) UpdateUser ¶
func (a *Admin) UpdateUser(ctx context.Context, userID string, params AdminUserParams) (*AdminUser, error)
Update a user
type AdminUser ¶
type AdminUser struct {
ID string `json:"id" db:"id"`
Aud string `json:"aud" db:"aud"`
Role string `json:"role" db:"role"`
Email string `json:"email" db:"email"`
EmailConfirmedAt *time.Time `json:"email_confirmed_at,omitempty" db:"email_confirmed_at"`
InvitedAt *time.Time `json:"invited_at,omitempty" db:"invited_at"`
Phone string `json:"phone" db:"phone"`
PhoneConfirmedAt *time.Time `json:"phone_confirmed_at,omitempty" db:"phone_confirmed_at"`
ConfirmationSentAt *time.Time `json:"confirmation_sent_at,omitempty" db:"confirmation_sent_at"`
RecoverySentAt *time.Time `json:"recovery_sent_at,omitempty" db:"recovery_sent_at"`
EmailChange string `json:"new_email,omitempty" db:"email_change"`
EmailChangeSentAt *time.Time `json:"email_change_sent_at,omitempty" db:"email_change_sent_at"`
PhoneChange string `json:"new_phone,omitempty" db:"phone_change"`
PhoneChangeSentAt *time.Time `json:"phone_change_sent_at,omitempty" db:"phone_change_sent_at"`
ReauthenticationSentAt *time.Time `json:"reauthentication_sent_at,omitempty" db:"reauthentication_sent_at"`
LastSignInAt *time.Time `json:"last_sign_in_at,omitempty" db:"last_sign_in_at"`
AppMetaData JSONMap `json:"app_metadata" db:"raw_app_meta_data"`
UserMetaData JSONMap `json:"user_metadata" db:"raw_user_meta_data"`
Factors []Factor `json:"factors,omitempty" has_many:"factors"`
Identities []Identity `json:"identities" has_many:"identities"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
BannedUntil *time.Time `json:"banned_until,omitempty" db:"banned_until"`
DeletedAt *time.Time `json:"deleted_at,omitempty" db:"deleted_at"`
}
type AdminUserParams ¶
type AdminUserParams struct {
Role string `json:"role"`
Email string `json:"email"`
Phone string `json:"phone"`
Password *string `json:"password"`
EmailConfirm bool `json:"email_confirm"`
PhoneConfirm bool `json:"phone_confirm"`
UserMetadata JSONMap `json:"user_metadata"`
AppMetadata JSONMap `json:"app_metadata"`
BanDuration string `json:"ban_duration"`
}
type AppMetadata ¶ added in v0.6.3
type Auth ¶
type Auth struct {
// contains filtered or unexported fields
}
func (*Auth) ExchangeCode ¶
func (a *Auth) ExchangeCode(ctx context.Context, opts ExchangeCodeOpts) (*AuthenticatedDetails, error)
ExchangeCode takes an auth code and PCKE verifier and returns the current user if succeeded.
func (*Auth) InviteUserByEmail ¶
InviteUserByEmail sends an invite link to the given email. Returns a user.
func (*Auth) InviteUserByEmailWithData ¶
func (a *Auth) InviteUserByEmailWithData(ctx context.Context, email string, data map[string]interface{}, redirectTo string) (*User, error)
InviteUserByEmailWithOpts sends an invite link to the given email with metadata. Returns a user.
func (*Auth) RefreshUser ¶
func (a *Auth) RefreshUser(ctx context.Context, userToken string, refreshToken string) (*AuthenticatedDetails, error)
RefreshUser refreshes the user's token and session.
func (*Auth) ResetPasswordForEmail ¶
ResetPasswordForEmail sends a password recovery link to the given e-mail address.
func (*Auth) SendMagicLink ¶
SendMagicLink sends a link to a specific e-mail address for passwordless auth.
func (*Auth) SignIn ¶
func (a *Auth) SignIn(ctx context.Context, credentials UserCredentials) (*AuthenticatedDetails, error)
SignIn enters the user credentials and returns the current user if succeeded.
func (*Auth) SignInWithProvider ¶
func (a *Auth) SignInWithProvider(opts ProviderSignInOptions) (*ProviderSignInDetails, error)
SignInWithProvider returns a URL for signing in via OAuth
func (*Auth) UpdateUser ¶
func (a *Auth) UpdateUser(ctx context.Context, userToken string, updateData map[string]interface{}) (*User, error)
UpdateUser updates the user information
func (*Auth) VerifyOtp ¶
func (a *Auth) VerifyOtp(ctx context.Context, credentials VerifyOtpCredentials) (*AuthenticatedDetails, error)
verify otp takes in a token hash and verify type, verifies the user and returns the the user if succeeded.
type AuthenticatedDetails ¶
type AuthenticatedDetails struct {
AccessToken string `json:"access_token"`
TokenType string `json:"token_type"`
ExpiresIn int `json:"expires_in"`
RefreshToken string `json:"refresh_token"`
User User `json:"user"`
ProviderToken string `json:"provider_token"`
ProviderRefreshToken string `json:"provider_refresh_token"`
}
type BroadcastConfig ¶
type BroadcastConfig struct {
Self bool `json:"self"`
Ack bool `json:"ack"`
Events []string `json:"events"`
}
BroadcastConfig settings
type BroadcastParams ¶
type BroadcastParams struct {
Type string `json:"type"`
Event string `json:"event"`
Payload interface{} `json:"payload"`
}
BroadcastParams for message broadcasting
type BucketOption ¶
type Channel ¶
type Channel struct {
// contains filtered or unexported fields
}
Channel represents a Realtime channel.
func NewChannel ¶
func NewChannel(name string, client *RealtimeClient, options *ChannelOptions) *Channel
NewChannel creates a new channel.
func (*Channel) GetPresenceState ¶
func (c *Channel) GetPresenceState() PresenceState
GetPresenceState returns the current presence state.
func (*Channel) Status ¶
func (c *Channel) Status() ChannelStatus
Status returns the current status of the channel.
func (*Channel) Subscribe ¶
func (c *Channel) Subscribe(callback EventHandler) error
Subscribe subscribes to all events on the channel.
func (*Channel) SubscribeToBroadcast ¶
func (c *Channel) SubscribeToBroadcast(events []string, opts BroadcastConfig) *Channel
SubscribeToBroadcast subscribes to broadcast events.
func (*Channel) SubscribeToEvent ¶
func (c *Channel) SubscribeToEvent(event string, callback EventHandler) error
SubscribeToEvent subscribes to a specific event on the channel.
func (*Channel) SubscribeToPostgresChanges ¶
func (c *Channel) SubscribeToPostgresChanges(changes []PostgresChange) *Channel
SubscribeToPostgresChanges subscribes to PostgreSQL changes.
func (*Channel) SubscribeToPresence ¶
SubscribeToPresence subscribes to presence events.
func (*Channel) Unsubscribe ¶
Unsubscribe unsubscribes from the channel.
type ChannelOptions ¶
type ChannelOptions struct {
Config map[string]interface{}
Params map[string]string
RetryAfterMs func(tries int) time.Duration
RetryJoinUntil time.Duration
BroadcastEndpointURL string
PresenceEndpointURL string
}
ChannelOptions for channel configuration
type ChannelStatus ¶
type ChannelStatus string
ChannelStatus for realtime channels
const ( ChannelStatusClosed ChannelStatus = "CLOSED" ChannelStatusJoining ChannelStatus = "JOINING" ChannelStatusJoined ChannelStatus = "JOINED" ChannelStatusLeaving ChannelStatus = "LEAVING" ChannelStatusError ChannelStatus = "ERROR" )
type Client ¶
type ClientOptions ¶
type ClientOptions struct {
ConnectionTimeout time.Duration
HeartbeatInterval time.Duration
Headers map[string]string
Params map[string]string
AccessToken GetAccessToken
Transport WebSocketTransport
Logger Logger
ReconnectAfterMs func(tries int) time.Duration
HeartbeatTimeoutMs int
}
ClientOptions for Realtime client configuration
type ColumnData ¶
type ColumnData struct {
Name string `json:"name"`
Type string `json:"type"`
DataType string `json:"data_type"`
}
ColumnData for PostgreSQL column information
type ConnectionStatus ¶
type ConnectionStatus string
ConnectionStatus for WebSocket connection
const ( StatusClosed ConnectionStatus = "CLOSED" StatusConnecting ConnectionStatus = "CONNECTING" StatusOpen ConnectionStatus = "OPEN" )
type EmailOtpType ¶
type EmailOtpType string
EmailOtpType is the type of email OTP.
const ( EmailOtpTypeEmail EmailOtpType = "email" EmailOtpTypeReceovery EmailOtpType = "recovery" EmailOtpTypeInvite EmailOtpType = "invite" EmailOtpTypeEmailChange EmailOtpType = "email_change" )
type ErrorResponse ¶
func (*ErrorResponse) Error ¶
func (err *ErrorResponse) Error() string
type ExchangeCodeOpts ¶
type Factor ¶
type Factor struct {
ID string `json:"id" db:"id"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
Status string `json:"status" db:"status"`
FriendlyName string `json:"friendly_name,omitempty" db:"friendly_name"`
FactorType string `json:"factor_type" db:"factor_type"`
}
type FileErrorResponse ¶
type FileErrorResponse struct {
Status string `json:"statusCode"`
ShortError string `json:"error"`
Message string `json:"message"`
}
func (*FileErrorResponse) Error ¶
func (err *FileErrorResponse) Error() string
type FileObject ¶
type FileObject struct {
Name string `json:"name"`
BucketId string `json:"bucket_id"`
Owner string `json:"owner"`
Id string `json:"id"`
UpdatedAt string `json:"updated_at"`
CreatedAt string `json:"created_at"`
LastAccessedAt string `json:"last_accessed_at"`
Metadata interface{} `json:"metadata"`
Buckets bucket `json:"buckets"`
}
type FileResponse ¶
type FileSearchOptions ¶
type FileUploadOptions ¶
type GenerateLinkParams ¶
type GenerateLinkResponse ¶
type GorillaWebSocketTransport ¶
type GorillaWebSocketTransport struct {
// contains filtered or unexported fields
}
GorillaWebSocketTransport implements WebSocketTransport using gorilla/websocket
func NewGorillaWebSocketTransport ¶
func NewGorillaWebSocketTransport() *GorillaWebSocketTransport
func (*GorillaWebSocketTransport) Connect ¶
func (t *GorillaWebSocketTransport) Connect(wsURL string, params map[string]string, headers map[string]string) error
Connect establishes a WebSocket connection
func (*GorillaWebSocketTransport) Disconnect ¶
func (t *GorillaWebSocketTransport) Disconnect(code int, reason string) error
Disconnect closes the WebSocket connection
func (*GorillaWebSocketTransport) OnClose ¶
func (t *GorillaWebSocketTransport) OnClose(callback func(code int, reason string)) error
func (*GorillaWebSocketTransport) OnError ¶
func (t *GorillaWebSocketTransport) OnError(callback func(err error)) error
func (*GorillaWebSocketTransport) OnMessage ¶
func (t *GorillaWebSocketTransport) OnMessage(callback func(data []byte)) error
func (*GorillaWebSocketTransport) OnOpen ¶
func (t *GorillaWebSocketTransport) OnOpen(callback func()) error
Callbacks
func (*GorillaWebSocketTransport) Send ¶
func (t *GorillaWebSocketTransport) Send(data []byte) error
Send sends a message over the WebSocket connection
type Identity ¶
type Identity struct {
ID string `json:"id" db:"id"`
UserID string `json:"user_id" db:"user_id"`
IdentityData JSONMap `json:"identity_data,omitempty" db:"identity_data"`
Provider string `json:"provider" db:"provider"`
LastSignInAt *time.Time `json:"last_sign_in_at,omitempty" db:"last_sign_in_at"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
}
type ListFileRequest ¶
type Logger ¶
type Logger interface {
Debug(args ...interface{})
Info(args ...interface{})
Warn(args ...interface{})
Error(args ...interface{})
}
Logger interface
type Message ¶
type Message struct {
Event string `json:"event"`
Topic string `json:"topic"`
Payload map[string]interface{} `json:"payload"`
Ref string `json:"ref,omitempty"`
JoinRef string `json:"join_ref,omitempty"`
}
Message from a channel
type PKCEParams ¶
adapted from https://go-review.googlesource.com/c/oauth2/+/463979/9/pkce.go#64
type PhoneOtpType ¶
type PhoneOtpType string
PhoneOtpType is the type of phone OTP.
const ( PhoneOtpTypeSMS PhoneOtpType = "sms" PhoneOtpTypePhoneChange PhoneOtpType = "phone_change" )
type PostgresChange ¶
type PostgresChange struct {
Event string `json:"event"`
Schema string `json:"schema"`
Table string `json:"table"`
Filter string `json:"filter,omitempty"`
Columns []string `json:"columns,omitempty"`
}
PostgresChange subscription
type PresenceConfig ¶
type PresenceConfig struct {
Key string `json:"key"`
}
PresenceConfig settings
type PresenceDiff ¶
type PresenceDiff struct {
Joins map[string]map[string]interface{} `json:"joins"`
Leaves map[string]map[string]interface{} `json:"leaves"`
}
PresenceDiff for presence changes
type ProviderSignInDetails ¶
type ProviderSignInOptions ¶
type Push ¶
type Push struct {
Event string
Topic string
Payload map[string]interface{}
Ref string
JoinRef string
}
Push message for WebSocket
type PusherEvent ¶
type PusherEvent struct {
Channel string `json:"channel"`
Event string `json:"event"`
Data interface{} `json:"data"`
}
PusherEvent for Pusher compatibility
type Realtime ¶
type Realtime struct {
// contains filtered or unexported fields
}
func (*Realtime) Initialize ¶
Initialize sets up the Realtime client with the base URL and API key
type RealtimeClient ¶
type RealtimeClient struct {
// contains filtered or unexported fields
}
RealtimeClient for realtime communication
func NewRealtimeClient ¶
type RealtimePostgresChangesPayload ¶
type RealtimePostgresChangesPayload struct {
Commit string `json:"commit_timestamp"`
Errors []string `json:"errors"`
Schema string `json:"schema"`
Table string `json:"table"`
Type string `json:"type"`
Old map[string]interface{} `json:"old,omitempty"`
New map[string]interface{} `json:"new,omitempty"`
Columns []ColumnData `json:"columns,omitempty"`
}
RealtimePostgresChangesPayload for PostgreSQL changes
type SignedUrlResponse ¶
type SignedUrlResponse struct {
SignedUrl string `json:"signedURL"`
}
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
func (*Storage) CreateBucket ¶
func (s *Storage) CreateBucket(ctx context.Context, option BucketOption) (*bucket, error)
CreateBucket creates a new storage bucket @param: option: a bucketOption with the name and id of the bucket you want to create @returns: bucket: a response with the details of the bucket of the bucket created
func (*Storage) DeleteBucket ¶
DeleteBucket deletes a bucket by its id, a bucket can't be deleted except emptied @param: id: the id of the bucket @returns bucketMessage: a successful response message or failed
func (*Storage) EmptyBucket ¶
EmptyBucket empties the object of a bucket by id @param: id: the id of the bucket @returns bucketMessage: a successful response message or failed
func (*Storage) GetBucket ¶
GetBucket retrieves a bucket by its id @param: id: the id of the bucket @returns: bucketResponse: a response with the details of the bucket
func (*Storage) ListBuckets ¶
ListBucket retrieves all buckets ina supabase storage @returns: []bucketResponse: a response with the details of all the bucket
func (*Storage) UpdateBucket ¶
func (s *Storage) UpdateBucket(ctx context.Context, id string, option BucketOption) (*bucketMessage, error)
UpdateBucket updates a bucket by its id @param: id: the id of the bucket @param: option: the options to be updated @returns bucketMessage: a successful response message or failed
type SubscribeParams ¶
type SubscribeParams struct {
PostgresChanges []PostgresChange `json:"postgres_changes,omitempty"`
Broadcast BroadcastConfig `json:"broadcast,omitempty"`
Presence PresenceConfig `json:"presence,omitempty"`
}
SubscribeParams for topic subscription
type User ¶
type User struct {
ID string `json:"id"`
Aud string `json:"aud"`
Role string `json:"role"`
Email string `json:"email"`
InvitedAt time.Time `json:"invited_at"`
ConfirmedAt time.Time `json:"confirmed_at"`
ConfirmationSentAt time.Time `json:"confirmation_sent_at"`
AppMetadata *AppMetadata `json:"app_metadata,omitempty"`
UserMetadata map[string]interface{} `json:"user_metadata"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type UserCredentials ¶
type VerifyEmailOtpCredentials ¶
type VerifyEmailOtpCredentials struct {
Email string `mapstructure:"email"`
Token string `mapstructure:"token"`
TokenHash string `mapstructure:"token_hash"`
Type EmailOtpType `mapstructure:"type"`
RedirectTo string `mapstructure:"redirect_to,omitempty"`
}
VerifyEmailOtpCredentials is the struct for verifying OTPs sent to an email address.
func (VerifyEmailOtpCredentials) OtpType ¶
func (c VerifyEmailOtpCredentials) OtpType() string
OtpType returns the type of OTP.
type VerifyOtpCredentials ¶
type VerifyOtpCredentials interface {
OtpType() string
}
VerifyOtpCredentials is the interface for verifying OTPs.
type VerifyPhoneOtpCredentials ¶
type VerifyPhoneOtpCredentials struct {
Phone string `mapstructure:"phone"`
Type PhoneOtpType `mapstructure:"type"`
TokenHash string `mapstructure:"token_hash"`
Token string `mapstructure:"token"`
RedirectTo string `mapstructure:"redirect_to,omitempty"`
}
VerifyPhoneOtpCredentials is the struct for verifying OTPs sent to a phone number.
func (VerifyPhoneOtpCredentials) OtpType ¶
func (c VerifyPhoneOtpCredentials) OtpType() string
type VerifyTokenHashOtpCredentials ¶
type VerifyTokenHashOtpCredentials struct {
TokenHash string `mapstructure:"token_hash"`
Type string `mapstructure:"type"`
RedirectTo string `mapstructure:"redirect_to,omitempty"`
}
VerifyTokenHashOtpCredentials is the struct for verifying OTPs sent other than email or phone.
func (VerifyTokenHashOtpCredentials) OtpType ¶
func (c VerifyTokenHashOtpCredentials) OtpType() string
OtpType returns the type of OTP.
type WebSocketTransport ¶
type WebSocketTransport interface {
Connect(url string, params map[string]string, headers map[string]string) error
Disconnect(code int, reason string) error
Send(data []byte) error
OnOpen(callback func()) error
OnClose(callback func(code int, reason string)) error
OnError(callback func(err error)) error
OnMessage(callback func(data []byte)) error
}
WebSocketTransport interface