client

package
v0.0.0-...-b238d47 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Encoder = func() httphelper.Encoder {
	e := schema.NewEncoder()
	e.RegisterEncoder(oidc.SpaceDelimitedArray{}, func(value reflect.Value) string {
		return value.Interface().(oidc.SpaceDelimitedArray).Encode()
	})
	return e
}()

Functions

func CallEndSessionEndpoint

func CallEndSessionEndpoint(request interface{}, authFn interface{}, caller EndSessionCaller) (*url.URL, error)

func CallRevokeEndpoint

func CallRevokeEndpoint(request interface{}, authFn interface{}, caller RevokeCaller) error

func CallTokenEndpoint

func CallTokenEndpoint(request interface{}, caller TokenEndpointCaller) (newToken *oauth2.Token, err error)

func ClientAssertionCodeOptions

func ClientAssertionCodeOptions(assertion string) []oauth2.AuthCodeOption

func ClientAssertionFormAuthorization

func ClientAssertionFormAuthorization(assertion string) http.FormAuthorization

func ConfigFromKeyFile

func ConfigFromKeyFile(path string) (*keyFile, error)

func ConfigFromKeyFileData

func ConfigFromKeyFileData(data []byte) (*keyFile, error)

func Discover

func Discover(issuer string, httpClient *http.Client, wellKnownUrl ...string) (*oidc.DiscoveryConfiguration, error)

Discover calls the discovery endpoint of the provided issuer and returns its configuration It accepts an optional argument "wellknownUrl" which can be used to overide the dicovery endpoint url

func JWTProfileExchange

func JWTProfileExchange(jwtProfileGrantRequest *oidc.JWTProfileGrantRequest, caller TokenEndpointCaller) (*oauth2.Token, error)

JWTProfileExchange handles the oauth2 jwt profile exchange

func NewSignerFromPrivateKeyByte

func NewSignerFromPrivateKeyByte(key []byte, keyID string) (jose.Signer, error)

func SignedJWTProfileAssertion

func SignedJWTProfileAssertion(clientID string, audience []string, expiration time.Duration, signer jose.Signer) (string, error)

Types

type EndSessionCaller

type EndSessionCaller interface {
	GetEndSessionEndpoint() string
	HttpClient() *http.Client
}

type RevokeCaller

type RevokeCaller interface {
	GetRevokeEndpoint() string
	HttpClient() *http.Client
}

type RevokeRequest

type RevokeRequest struct {
	Token         string `schema:"token"`
	TokenTypeHint string `schema:"token_type_hint"`
	ClientID      string `schema:"client_id"`
	ClientSecret  string `schema:"client_secret"`
}

type TokenEndpointCaller

type TokenEndpointCaller interface {
	TokenEndpoint() string
	HttpClient() *http.Client
}

Directories

Path Synopsis
rp
cli
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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