Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBearerJwtToken ¶
Example ¶
expires := int64(2862226989) signingKey := "123456" token := NewBearerJwtToken(expires, signingKey) apiTokenMap := make(map[string]interface{}) data := "user.id.1" tokenStr, err := token.Get(data) if err != nil { // error todo } refreshTokenStr, err := token.GetRefresh(data) if err != nil { // error todo } apiTokenMap["access_token"] = tokenStr apiTokenMap["token_type"] = token.GetType() apiTokenMap["expires_in"] = token.GetExpires() apiTokenMap["refresh_token"] = refreshTokenStr jsonStr, err := json.Marshal(apiTokenMap) if err != nil { // error todo } log.Println(string(jsonStr)) /** { "access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjI4NjIyMjY5ODksImlzcyI6ImV5SlNZWGRFWVhSaElqb2lkWE5sY2k1cFpDNHhJaXdpVkc5clpXNVVlWEJsSWpvaVFtVmhjbVZ5SWl3aVZHbHRaWE4wWVcxd0lqb3hOakF3TURBNU9USXpMQ0pGZUhCcGNtVnpJam95T0RZeU1qSTJPVGc1TENKU1pXWnlaWE5vSWpwbVlXeHpaU3dpVTJsbmJtRjBkWEpsSWpvaUluMD0uUjBaQlp6bDBXWEpoYm14S1J6UllTbWwyWTB4ZlUyVTFlbXRoT1VKbE9FNXVkREpEVW5GMGExVkhRUT09In0.ZwSwy7LFsRd7DpWZ9v_o09wXisZoqmAzo2YvdaLVG0w", "expires_in":2862226989, "refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjI4NjIyMjY5ODksImlzcyI6ImV5SlNZWGRFWVhSaElqb2lkWE5sY2k1cFpDNHhJaXdpVkc5clpXNVVlWEJsSWpvaVFtVmhjbVZ5SWl3aVZHbHRaWE4wWVcxd0lqb3hOakF3TURBNU9USXpMQ0pGZUhCcGNtVnpJam95T0RZeU1qSTJPVGc1TENKU1pXWnlaWE5vSWpwMGNuVmxMQ0pUYVdkdVlYUjFjbVVpT2lJaWZRPT0uTVZWWlMySjBhMlZPUm5ZM01tOTZObVZvWDNWTlRHTldiMlpwY2pWd05HTXRSRTQwVjI1QlJXbEhOQT09In0.l2WQwypvE-RhrG6KZK_eO5Yp0JRiAJMbSjbq1Qxlib8", "token_type":"Bearer" } */ } */
Output:
func NewJwtToken ¶
Types ¶
type ApiTokenData ¶
type ApiTokenData struct { AccessToken string `json:"access_token"` TokenType string `json:"token_type"` ExpiresIn int64 `json:"expires_in"` RefreshToken string `json:"refresh_token"` }
func CreateApiToken ¶
func CreateApiToken(expires int64, signingKey string, data interface{}) (td *ApiTokenData, err error)
func RefreshApiToken ¶
func RefreshApiToken(expires int64, signingKey string, refreshTokenStr string) (td *ApiTokenData, err error)
type Data ¶
type Data struct { RawData interface{} TokenType string Timestamp int64 Expires int64 Refresh bool Signature string }
Data
func NewRefreshData ¶
NewRefreshData
type JwtDecode ¶
type JwtDecode struct {
// contains filtered or unexported fields
}
func NewJwtDecode ¶
func (*JwtDecode) GetTokenType ¶
type Tokener ¶
type Tokener interface { GetDecoder() Decoder GetType() string GetExpires() int64 Get(data interface{}) (token string, error error) GetRefresh(data interface{}) (newRefreshToken string, error error) Refresh(refreshToken string) (newRefreshToken string, err error) Validate(token string) (data *Data, err error) }
Click to show internal directories.
Click to hide internal directories.