client

package
Version: v0.0.0-...-699163f Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2017 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Overview

Package client implements the OAuth 2.0 Client functionality and provides http handlers, http clients and storage adapters.

Index

Constants

View Source
const (
	ClientsResource = "rn:hydra:clients"
	ClientResource  = "rn:hydra:clients:%s"
	Scope           = "hydra.clients"
)
View Source
const (
	ClientsHandlerPath = "/clients"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	ID                string   `json:"id" gorethink:"id"`
	Name              string   `json:"client_name" gorethink:"client_name"`
	Secret            string   `json:"client_secret,omitempty" gorethink:"client_secret"`
	RedirectURIs      []string `json:"redirect_uris" gorethink:"redirect_uris"`
	GrantTypes        []string `json:"grant_types" gorethink:"grant_types"`
	ResponseTypes     []string `json:"response_types" gorethink:"response_types"`
	Scope             string   `json:"scope" gorethink:"scope"`
	Owner             string   `json:"owner" gorethink:"owner"`
	PolicyURI         string   `json:"policy_uri" gorethink:"policy_uri"`
	TermsOfServiceURI string   `json:"tos_uri" gorethink:"tos_uri"`
	ClientURI         string   `json:"client_uri" gorethink:"client_uri"`
	LogoURI           string   `json:"logo_uri" gorethink:"logo_uri"`
	Contacts          []string `json:"contacts" gorethink:"contacts"`
	Public            bool     `json:"public" gorethink:"public"`
}

func (*Client) GetGrantTypes

func (c *Client) GetGrantTypes() fosite.Arguments

func (*Client) GetHashedSecret

func (c *Client) GetHashedSecret() []byte

func (*Client) GetID

func (c *Client) GetID() string

func (*Client) GetOwner

func (c *Client) GetOwner() string

func (*Client) GetRedirectURIs

func (c *Client) GetRedirectURIs() []string

func (*Client) GetResponseTypes

func (c *Client) GetResponseTypes() fosite.Arguments

func (*Client) GetScopes

func (c *Client) GetScopes() fosite.Arguments

func (*Client) IsPublic

func (c *Client) IsPublic() bool

type HTTPManager

type HTTPManager struct {
	Client   *http.Client
	Endpoint *url.URL
	Dry      bool
}

func (*HTTPManager) CreateClient

func (m *HTTPManager) CreateClient(c *Client) error

func (*HTTPManager) DeleteClient

func (m *HTTPManager) DeleteClient(id string) error

func (*HTTPManager) GetClient

func (m *HTTPManager) GetClient(id string) (fosite.Client, error)

func (*HTTPManager) GetClients

func (m *HTTPManager) GetClients() (map[string]Client, error)

func (*HTTPManager) GetConcreteClient

func (m *HTTPManager) GetConcreteClient(id string) (*Client, error)

func (*HTTPManager) UpdateClient

func (m *HTTPManager) UpdateClient(c *Client) error

type Handler

type Handler struct {
	Manager Manager
	H       herodot.Herodot
	W       firewall.Firewall
}

func (*Handler) Create

func (h *Handler) Create(w http.ResponseWriter, r *http.Request, _ httprouter.Params)

func (*Handler) Delete

func (h *Handler) Delete(w http.ResponseWriter, r *http.Request, ps httprouter.Params)

func (*Handler) Get

func (*Handler) GetAll

func (h *Handler) GetAll(w http.ResponseWriter, r *http.Request, ps httprouter.Params)

func (*Handler) SetRoutes

func (h *Handler) SetRoutes(r *httprouter.Router)

func (*Handler) Update

func (h *Handler) Update(w http.ResponseWriter, r *http.Request, ps httprouter.Params)

type Manager

type Manager interface {
	Storage

	Authenticate(id string, secret []byte) (*Client, error)
}

type MemoryManager

type MemoryManager struct {
	Clients map[string]Client
	Hasher  fosite.Hasher
	sync.RWMutex
}

func (*MemoryManager) Authenticate

func (m *MemoryManager) Authenticate(id string, secret []byte) (*Client, error)

func (*MemoryManager) CreateClient

func (m *MemoryManager) CreateClient(c *Client) error

func (*MemoryManager) DeleteClient

func (m *MemoryManager) DeleteClient(id string) error

func (*MemoryManager) GetClient

func (m *MemoryManager) GetClient(id string) (fosite.Client, error)

func (*MemoryManager) GetClients

func (m *MemoryManager) GetClients() (clients map[string]Client, err error)

func (*MemoryManager) GetConcreteClient

func (m *MemoryManager) GetConcreteClient(id string) (*Client, error)

func (*MemoryManager) UpdateClient

func (m *MemoryManager) UpdateClient(c *Client) error

type RedisManager

type RedisManager struct {
	DB        *redis.Client
	Hasher    fosite.Hasher
	KeyPrefix string
}

func (*RedisManager) Authenticate

func (m *RedisManager) Authenticate(id string, secret []byte) (*Client, error)

func (*RedisManager) CreateClient

func (m *RedisManager) CreateClient(c *Client) error

func (*RedisManager) DeleteClient

func (m *RedisManager) DeleteClient(id string) error

func (*RedisManager) GetClient

func (m *RedisManager) GetClient(id string) (fosite.Client, error)

func (*RedisManager) GetClients

func (m *RedisManager) GetClients() (map[string]Client, error)

func (*RedisManager) GetConcreteClient

func (m *RedisManager) GetConcreteClient(id string) (*Client, error)

func (*RedisManager) UpdateClient

func (m *RedisManager) UpdateClient(c *Client) error

type RethinkManager

type RethinkManager struct {
	Session *r.Session
	Table   r.Term
	sync.RWMutex

	Clients map[string]Client
	Hasher  fosite.Hasher
}

func (*RethinkManager) Authenticate

func (m *RethinkManager) Authenticate(id string, secret []byte) (*Client, error)

func (*RethinkManager) ColdStart

func (m *RethinkManager) ColdStart() error

func (*RethinkManager) CreateClient

func (m *RethinkManager) CreateClient(c *Client) error

func (*RethinkManager) DeleteClient

func (m *RethinkManager) DeleteClient(id string) error

func (*RethinkManager) GetClient

func (m *RethinkManager) GetClient(id string) (fosite.Client, error)

func (*RethinkManager) GetClients

func (m *RethinkManager) GetClients() (clients map[string]Client, err error)

func (*RethinkManager) GetConcreteClient

func (m *RethinkManager) GetConcreteClient(id string) (*Client, error)

func (*RethinkManager) UpdateClient

func (m *RethinkManager) UpdateClient(c *Client) error

func (*RethinkManager) Watch

func (m *RethinkManager) Watch(ctx context.Context)

type SQLManager

type SQLManager struct {
	Hasher fosite.Hasher
	DB     *sqlx.DB
}

func (*SQLManager) Authenticate

func (m *SQLManager) Authenticate(id string, secret []byte) (*Client, error)

func (*SQLManager) CreateClient

func (m *SQLManager) CreateClient(c *Client) error

func (*SQLManager) CreateSchemas

func (s *SQLManager) CreateSchemas() error

func (*SQLManager) DeleteClient

func (m *SQLManager) DeleteClient(id string) error

func (*SQLManager) GetClient

func (m *SQLManager) GetClient(id string) (fosite.Client, error)

func (*SQLManager) GetClients

func (m *SQLManager) GetClients() (clients map[string]Client, err error)

func (*SQLManager) GetConcreteClient

func (m *SQLManager) GetConcreteClient(id string) (*Client, error)

func (*SQLManager) UpdateClient

func (m *SQLManager) UpdateClient(c *Client) error

type Storage

type Storage interface {
	fosite.Storage

	CreateClient(c *Client) error

	UpdateClient(c *Client) error

	DeleteClient(id string) error

	GetClients() (map[string]Client, error)

	GetConcreteClient(id string) (*Client, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL