Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrTokenExpired = errors.New("token expired")
)
Functions ¶
Types ¶
type ConnectToken ¶
type ConnectToken struct { // UserID tells library an ID of connecting user. UserID string // ExpireAt allows setting time in future when connection must be validated. // Validation can be server-side or client-side using Refresh handler. ExpireAt int64 // Info contains additional information about connection. It will be // included into Join/Leave messages, into Presence information, also // info becomes a part of published message if it was published from // client directly. In some cases having additional info can be an // overhead – but you are simply free to not use it. Info []byte // Channels slice contains channels to subscribe connection to on server-side. Channels []string }
type SubscribeToken ¶
type SubscribeToken struct { // Client is a unique client ID string set to each connection on server. // Will be compared with actual client ID. Client string // Channel client wants to subscribe. Will be compared with channel in // subscribe command. Channel string // ExpireAt allows setting time in future when connection must be validated. // Validation can be server-side or client-side using SubRefresh handler. ExpireAt int64 // Info contains additional information about connection in channel. // It will be included into Join/Leave messages, into Presence information, // also channel info becomes a part of published message if it was published // from subscribed client directly. Info []byte // ExpireTokenOnly used to indicate that library must only check token // expiration but not turn on Subscription expiration checks on server side. // This allows to implement one-time subscription tokens. ExpireTokenOnly bool }
type TokenVerifier ¶
type TokenVerifier struct {
// contains filtered or unexported fields
}
func NewTokenVerifier ¶
func NewTokenVerifier(config TokenVerifierConfig) *TokenVerifier
func (*TokenVerifier) Reload ¶
func (verifier *TokenVerifier) Reload(config TokenVerifierConfig) error
func (*TokenVerifier) VerifyConnectToken ¶
func (verifier *TokenVerifier) VerifyConnectToken(t string) (ConnectToken, error)
func (*TokenVerifier) VerifySubscribeToken ¶
func (verifier *TokenVerifier) VerifySubscribeToken(t string) (SubscribeToken, error)
type TokenVerifierConfig ¶
type TokenVerifierConfig struct { // HMACSecretKey is a secret key used to validate connection and subscription // tokens generated using HMAC. Zero value means that HMAC tokens won't be allowed. HMACSecretKey string // RSAPublicKey is a public key used to validate connection and subscription // tokens generated using RSA. Zero value means that RSA tokens won't be allowed. RSAPublicKey *rsa.PublicKey }
Click to show internal directories.
Click to hide internal directories.