redis

package module
v4.1.4 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2023 License: MIT Imports: 8 Imported by: 1

README

Redis Storage for OAuth 2.0

Build Codecov ReportCard GoDoc License

Install

$ go get -u -v github.com/go-oauth2/redis/v4

Usage

package main

import (
	"github.com/redis/go-redis/v9"
	oredis "github.com/go-oauth2/redis/v4"
	"github.com/go-oauth2/oauth2/v4/manage"
)

func main() {
	manager := manage.NewDefaultManager()
	
	// use redis token store
	manager.MapTokenStorage(oredis.NewRedisStore(&redis.Options{
		Addr: "127.0.0.1:6379",
		DB: 15,
	}))

	// use redis cluster store
	// manager.MapTokenStorage(oredis.NewRedisClusterStore(&redis.ClusterOptions{
	// 	Addrs: []string{"127.0.0.1:6379"},
	// 	DB: 15,
	// }))
}

Testing

Testing requires a redis db. If you already have one, go ahead and run go test ./... like normal. If you don't already have one, or don't want to use it, you can run in docker with docker compose run --rm test && docker compose down.

MIT License

Copyright (c) 2020 Lyric

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TokenStore

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

TokenStore redis token store

func NewRedisClusterStore

func NewRedisClusterStore(opts *redis.ClusterOptions, keyNamespace ...string) *TokenStore

NewRedisClusterStore create an instance of a redis cluster store

func NewRedisClusterStoreWithCli

func NewRedisClusterStoreWithCli(cli *redis.ClusterClient, keyNamespace ...string) *TokenStore

NewRedisClusterStoreWithCli create an instance of a redis cluster store

func NewRedisStore

func NewRedisStore(opts *redis.UniversalOptions, keyNamespace ...string) *TokenStore

NewRedisStore create an instance of a redis store

func NewRedisStoreWithCli

func NewRedisStoreWithCli(cli redis.UniversalClient, keyNamespace ...string) *TokenStore

NewRedisStoreWithCli create an instance of a redis store

func (*TokenStore) Close

func (s *TokenStore) Close() error

Close close the store

func (*TokenStore) Create

func (s *TokenStore) Create(ctx context.Context, info oauth2.TokenInfo) error

Create Create and store the new token information

func (*TokenStore) GetByAccess

func (s *TokenStore) GetByAccess(ctx context.Context, access string) (oauth2.TokenInfo, error)

GetByAccess Use the access token for token information data

func (*TokenStore) GetByCode

func (s *TokenStore) GetByCode(ctx context.Context, code string) (oauth2.TokenInfo, error)

GetByCode Use the authorization code for token information data

func (*TokenStore) GetByRefresh

func (s *TokenStore) GetByRefresh(ctx context.Context, refresh string) (oauth2.TokenInfo, error)

GetByRefresh Use the refresh token for token information data

func (*TokenStore) RemoveByAccess

func (s *TokenStore) RemoveByAccess(ctx context.Context, access string) error

RemoveByAccess Use the access token to delete the token information

func (*TokenStore) RemoveByCode

func (s *TokenStore) RemoveByCode(ctx context.Context, code string) error

RemoveByCode Use the authorization code to delete the token information

func (*TokenStore) RemoveByRefresh

func (s *TokenStore) RemoveByRefresh(ctx context.Context, refresh string) error

RemoveByRefresh Use the refresh token to delete the token information

Jump to

Keyboard shortcuts

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