sessionid_server

command module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 28, 2021 License: MIT Imports: 14 Imported by: 0

README

sessionid_server

Token server implemented using github.com/powerpuffpenguin/sessionid

Support http and grpc interfaces

  • grpc -> Please see the proto definition
  • http -> Browser access /document/ to get swagger

client

package main

import (
	"context"
	"fmt"
	"log"

	"github.com/powerpuffpenguin/sessionid"
	"github.com/powerpuffpenguin/sessionid_server/client"
	"google.golang.org/grpc"
)

func main() {
	runGRPC()
}

type User struct {
	ID   int
	Name string
}

func runGRPC() {
	cc, e := grpc.Dial(
		`127.0.0.1:9000`,
		grpc.WithInsecure(),
	)
	if e != nil {
		log.Fatalln(e)
	}
	var manager sessionid.Manager = client.NewManager(cc, sessionid.JSONCoder{})
	ctx := context.Background()
	session, refresh, e := manager.Create(ctx, `1`, sessionid.Pair{
		Key: `user`,
		Value: User{
			ID:   123,
			Name: `kate`,
		},
	})
	if e != nil {
		log.Fatalln(e)
	}
	fmt.Println(`access`, session.Token())
	fmt.Println(`refresh`, refresh)
	var user User
	session.Get(ctx, `user`, &user)
	fmt.Println(user)
}

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
assets
protocol
logger
Package logger is a reverse proxy.
Package logger is a reverse proxy.
manager
Package manager is a reverse proxy.
Package manager is a reverse proxy.
provider
Package provider is a reverse proxy.
Package provider is a reverse proxy.

Jump to

Keyboard shortcuts

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