jwt

package module
v0.0.0-...-cd86ab9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2016 License: MIT Imports: 13 Imported by: 0

README

JSON Web Token

GoDoc Build Status Coverage Status

Библиотека для работы с JSON Web Token

Documentation

Overview

jwt поддерживает работу с токенами в формате JSON Web Token.

Example
package main

import (
	"fmt"
	"time"

	"github.com/mdigger/jwt"
)

func main() {
	// создаем шаблон и описываем в нем те вещи, которые
	// мы хотели бы включать во все токены
	tmpl := &jwt.Template{
		Issuer:  "me.mdigger.test",
		Expire:  time.Hour,
		Created: true,
		Signer:  jwt.NewSignerHS256([]byte(`top secret`)),
	}
	// описываем дополнительные поля токена (можно структурой)
	data := map[string]interface{}{
		"user-id": "34529345",
	}
	// создаем и подписываем токен
	token, err := tmpl.Token(data)
	if err != nil {
		fmt.Println("Error creating:", err)
		return
	}
	// разбираем токен и получаем данные
	// если токен не валиден, то вернется ошибка
	if err := tmpl.Parse(token, &data); err != nil {
		fmt.Println("Error parsing:", err)
		return
	}
}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Signer

type Signer struct {
	// contains filtered or unexported fields
}

Signer описывает информацию для подписи токена.

func NewSignerHS256

func NewSignerHS256(key []byte) *Signer

NewSigner возвращает инициализированный подписчик токена, основанный на алгоритме SHA256.

func NewSignerHS384

func NewSignerHS384(key []byte) *Signer

NewSignerHS384 возвращает инициализированный подписчик токена, основанный на алгоритме SHA384.

func NewSignerHS512

func NewSignerHS512(key []byte) *Signer

NewSignerHS512 возвращает инициализированный подписчик токена, основанный на алгоритме SHA512.

func (Signer) Parse

func (s Signer) Parse(token []byte) ([]byte, error)

Parse разбирает токен и возвращает его содержимое.

func (Signer) Sign

func (s Signer) Sign(token []byte) []byte

Sign возвращает подписанный токен.

type Template

type Template struct {
	Issuer    string        // кто выдал
	Subject   string        // тема
	Audience  []string      // кому предназначен
	Created   bool          // добавлять дату и время создания
	Expire    time.Duration // время жизни
	NotBefore time.Duration // добавлять время начала использования
	Signer    *Signer       // генератор подписи
}

Template описывает основные поля токена, которые будут заполнены автоматически.

func (*Template) Parse

func (t *Template) Parse(token []byte, obj interface{}) error

Parse разбирает токен и десериализует его содержимое в указанный объект.

func (*Template) Token

func (t *Template) Token(obj interface{}) (token []byte, err error)

Token возвращает подписанный токен, сгенерированный на основании данных из шаблона и данных пользователя. Подпись осуществляется методом, указанным в шаблоне.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL