osinserver

package
v3.7.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2017 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AuthorizePath = "/authorize"
	TokenPath     = "/token"
	InfoPath      = "/info"
)

Variables

This section is empty.

Functions

func NewDefaultServerConfig

func NewDefaultServerConfig() *osin.ServerConfig

Types

type AccessHandler

type AccessHandler interface {
	// HandleAccess populates an AccessRequest (typically the Authorized and UserData fields)
	HandleAccess(ar *osin.AccessRequest, w http.ResponseWriter) error
}

AccessHandler populates an AccessRequest

type AccessHandlerFunc

type AccessHandlerFunc func(ar *osin.AccessRequest, w http.ResponseWriter) error

func (AccessHandlerFunc) HandleAccess

type AccessHandlers

type AccessHandlers []AccessHandler

func (AccessHandlers) HandleAccess

func (all AccessHandlers) HandleAccess(ar *osin.AccessRequest, w http.ResponseWriter) error

type AuthorizeHandler

type AuthorizeHandler interface {
	// HandleAuthorize does one of the following:
	// 1. populates an AuthorizeRequest (typically the Authorized and UserData fields) and returns false
	// 2. populates the error fields of a Response object and returns false
	// 3. returns an internal server error and returns false
	// 4. writes the response itself and returns true
	HandleAuthorize(ar *osin.AuthorizeRequest, resp *osin.Response, w http.ResponseWriter) (handled bool, err error)
}

AuthorizeHandler populates an AuthorizeRequest or handles the request itself

type AuthorizeHandlerFunc

type AuthorizeHandlerFunc func(ar *osin.AuthorizeRequest, resp *osin.Response, w http.ResponseWriter) (bool, error)

func (AuthorizeHandlerFunc) HandleAuthorize

func (f AuthorizeHandlerFunc) HandleAuthorize(ar *osin.AuthorizeRequest, resp *osin.Response, w http.ResponseWriter) (bool, error)

type AuthorizeHandlers

type AuthorizeHandlers []AuthorizeHandler

func (AuthorizeHandlers) HandleAuthorize

func (all AuthorizeHandlers) HandleAuthorize(ar *osin.AuthorizeRequest, resp *osin.Response, w http.ResponseWriter) (bool, error)

type ErrorHandler

type ErrorHandler interface {
	// HandleError writes an error response
	HandleError(err error, w http.ResponseWriter, req *http.Request)
}

ErrorHandler writes an error response

func NewDefaultErrorHandler

func NewDefaultErrorHandler() ErrorHandler

NewDefaultErrorHandler returns a simple ErrorHandler

type Mux

type Mux interface {
	Handle(pattern string, handler http.Handler)
	HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request))
}

mux is an object that can register http handlers.

type Server

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

func New

func New(config *osin.ServerConfig, storage osin.Storage, authorize AuthorizeHandler, access AccessHandler, errorHandler ErrorHandler) *Server

func (*Server) AuthorizationHandler

func (s *Server) AuthorizationHandler() http.Handler

AuthorizationHandler returns an http.Handler capable of authorizing. Used for implicit authorization special flows.

func (*Server) Install

func (s *Server) Install(mux Mux, paths ...string)

Install registers the Server OAuth handlers into a mux. It is expected that the provided prefix will serve all operations

func (*Server) TokenHandler

func (s *Server) TokenHandler() http.Handler

TokenHandler returns an http.Handler capable of granting tokens. Used for implicit token granting special flows.

type TokenGen

type TokenGen struct {
}

TokenGen is an authorization and access token generator

func (TokenGen) GenerateAccessToken

func (TokenGen) GenerateAccessToken(data *osin.AccessData, generaterefresh bool) (string, string, error)

GenerateAccessToken generates random UUID access and refresh tokens

func (TokenGen) GenerateAuthorizeToken

func (TokenGen) GenerateAuthorizeToken(data *osin.AuthorizeData) (ret string, err error)

GenerateAuthorizeToken generates a random UUID code

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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