func (p *Policy) GenerateToken(id bson.ObjectId, issuedAt, expiresAt time.Time, client Client, resourceOwner ResourceOwner, token GenericToken) (string, error) {
	// prepare claims
	claims := &TokenClaims{}
	claims.Id = id.Hex()
	claims.IssuedAt = issuedAt.Unix()
	claims.ExpiresAt = expiresAt.Unix()

	// set user data
	if p.TokenData != nil {
		claims.Data = p.TokenData(client, resourceOwner, token)
	}

	// create token
	tkn := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)

	// sign token
	str, err := tkn.SignedString(p.Secret)
	if err != nil {
		return "", nil
	}

	return str, nil
}
func (p *Policy) GenerateToken(id bson.ObjectId, issuedAt, expiresAt time.Time, client Client, resourceOwner ResourceOwner, token GenericToken) (string, error) {
	
	claims := &TokenClaims{}
	claims.Id = id.Hex()
	claims.IssuedAt = issuedAt.Unix()
	claims.ExpiresAt = expiresAt.Unix()

	
	if p.TokenData != nil {
		claims.Data = p.TokenData(client, resourceOwner, token)
	}

	
	tkn := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)

	
	str, err := tkn.SignedString(p.Secret)
	if err != nil {
		return "", nil
	}

	return str, nil
}
func ( p * Policy ) GenerateToken ( id bson . ObjectId , issuedAt , expiresAt time . Time , client Client , resourceOwner ResourceOwner , token GenericToken ) ( string , error ) { // prepare claims claims := & TokenClaims { } claims . Id = id . Hex ( ) claims . IssuedAt = issuedAt . Unix ( ) claims . ExpiresAt = expiresAt . Unix ( ) // set user data if p . TokenData != nil { claims . Data = p . TokenData ( client , resourceOwner , token ) } // create token tkn := jwt . NewWithClaims ( jwt . SigningMethodHS256 , claims ) // sign token str , err := tkn . SignedString ( p . Secret ) if err != nil { return " " , nil } return str , nil }
// GenerateToken returns a new token for the provided information.
GenerateToken returns a new token for the provided information .