idp

package
v0.0.0-...-d125d34 Latest Latest
Warning

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

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthInfo

type AuthInfo struct {
	ID          uint   `json:"id"`
	AuthURL     string `json:"authURL"`
	Name        string `json:"name"`
	DisplayName string `json:"displayName,omitempty"`
}

type Controller

type Controller interface {
	ListAuthEndpoints(ctx context.Context, redirectURL string) ([]*AuthInfo, error)
	List(ctx context.Context) ([]*IdentityProvider, error)
	GetByID(ctx context.Context, id uint) (*IdentityProvider, error)
	LoginOrLink(ctx context.Context, code string, state string, redirectURL string) (*usermodel.User, error)
	Create(c context.Context, createParam *CreateIDPRequest) (*IdentityProvider, error)
	Delete(c context.Context, idpID uint) error
	Update(c context.Context, id uint, updateParam *UpdateIDPRequest) (*IdentityProvider, error)
	GetDiscovery(ctx context.Context, s Discovery) (*DiscoveryConfig, error)
}

func NewController

func NewController(param *param.Param) Controller

type CreateIDPRequest

type CreateIDPRequest struct {
	UpdateIDPRequest
}

type Discovery

type Discovery struct {
	FromURL string `json:"fromUrl"`
}

type DiscoveryConfig

type DiscoveryConfig struct {
	AuthorizationEndpoint string `json:"authorizationEndpoint"`
	TokenEndpoint         string `json:"tokenEndpoint"`
	Issuer                string `json:"issuer"`
}

type IdentityProvider

type IdentityProvider struct {
	ID                      uint                           `json:"id"`
	DisplayName             string                         `json:"displayName,omitempty"`
	Name                    string                         `json:"name,omitempty"`
	Avatar                  string                         `json:"avatar,omitempty"`
	AuthorizationEndpoint   string                         `json:"authorizationEndpoint,omitempty"`
	TokenEndpoint           string                         `json:"tokenEndpoint,omitempty"`
	UserinfoEndpoint        string                         `json:"userinfoEndpoint,omitempty"`
	RevocationEndpoint      string                         `json:"revocationEndpoint,omitempty"`
	Issuer                  string                         `json:"issuer,omitempty"`
	Scopes                  string                         `json:"scopes,omitempty"`
	TokenEndpointAuthMethod models.TokenEndpointAuthMethod `json:"tokenEndpointAuthMethod,omitempty"`
	Jwks                    string                         `json:"jwks,omitempty"`
	ClientID                string                         `json:"clientID,omitempty"`
	ClientSecret            string                         `json:"clientSecret,omitempty"`
	CreatedAt               time.Time                      `json:"createdAt"`
	UpdatedAt               time.Time                      `json:"updatedAt"`
}

type UpdateIDPRequest

type UpdateIDPRequest struct {
	DisplayName             string                         `json:"displayName"`
	Name                    string                         `json:"name"`
	Avatar                  string                         `json:"avatar,omitempty"`
	AuthorizationEndpoint   string                         `json:"authorizationEndpoint"`
	TokenEndpoint           string                         `json:"tokenEndpoint"`
	UserinfoEndpoint        string                         `json:"userinfoEndpoint,omitempty"`
	RevocationEndpoint      string                         `json:"revocationEndpoint,omitempty"`
	Issuer                  string                         `json:"issuer"`
	Scopes                  string                         `json:"scopes"`
	SigningAlgs             string                         `json:"signingAlgs,omitempty"`
	TokenEndpointAuthMethod models.TokenEndpointAuthMethod `json:"tokenEndpointAuthMethod,omitempty"`
	Jwks                    string                         `json:"jwks,omitempty"`
	ClientID                string                         `json:"clientID"`
	ClientSecret            string                         `json:"clientSecret"`
}

Jump to

Keyboard shortcuts

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