Documentation ¶
Overview ¶
Package auth provides functions to generate and check Centrifugo tokens and signs.
Index ¶
- Constants
- func CheckAdminToken(secret string, token string) bool
- func CheckApiSign(secret string, data []byte, providedSign string) bool
- func CheckChannelSign(secret, client, channel, channelData, providedSign string) bool
- func CheckClientToken(secret, user, timestamp, info, providedToken string) bool
- func GenerateAdminToken(secret string) (string, error)
- func GenerateApiSign(secret string, data []byte) string
- func GenerateChannelSign(secret, client, channel, channelData string) string
- func GenerateClientToken(secret, user, timestamp, info string) string
Constants ¶
const ( // AdminTokenKey is a key for admin authorization token. AdminTokenKey = "token" // AdminTokenValue is a value for secure admin authorization token. AdminTokenValue = "authorized" )
const (
HMACLength = 64
)
HMACLength used to validate length of token string we received. Centrifugo uses sha256 as digest algorithm for HMAC tokens and signs so all correct tokens must be of fixed length set by this const.
Variables ¶
This section is empty.
Functions ¶
func CheckAdminToken ¶ added in v1.6.0
CheckAdminToken checks admin connection token which Centrifugo returns after admin login.
func CheckApiSign ¶
CheckApiSign validates correctness of provided (in HTTP API request) sign comparing it with generated one
func CheckChannelSign ¶
CheckChannelSign validates a correctness of provided (in subscribe client command) sign comparing it with generated one
func CheckClientToken ¶
CheckClientToken validates correctness of provided (by client connection) token comparing it with generated one
func GenerateAdminToken ¶ added in v1.6.0
GenerateAdminToken generates admin authentication token.
func GenerateApiSign ¶
GenerateApiSign generates sign which is used to sign HTTP API requests
func GenerateChannelSign ¶
GenerateChannelSign generates sign which is used to prove permission of client to subscribe on private channel
func GenerateClientToken ¶
GenerateClientToken generates client token based on project secret key and provided connection parameters such as user ID, timestamp and info JSON string.
Types ¶
This section is empty.