Documentation ¶
Index ¶
- Constants
- func ListenAndServeREST(a *API, globalConfig *conf.GlobalConfiguration)
- func SafeHTTPClient(client *http.Client, log logrus.FieldLogger) *http.Client
- func SafeRoundtripper(trans http.RoundTripper, log logrus.FieldLogger) http.RoundTripper
- func WithInstanceConfig(ctx context.Context, config *conf.Configuration, instanceID uuid.UUID) (context.Context, error)
- type API
- func (a *API) CreateInstance(w http.ResponseWriter, r *http.Request) error
- func (a *API) DeleteInstance(w http.ResponseWriter, r *http.Request) error
- func (a *API) ExternalProviderCallback(w http.ResponseWriter, r *http.Request) error
- func (a *API) ExternalProviderRedirect(w http.ResponseWriter, r *http.Request) error
- func (a *API) GetAppManifest(w http.ResponseWriter, r *http.Request) error
- func (a *API) GetInstance(w http.ResponseWriter, r *http.Request) error
- func (a *API) HealthCheck() map[string]string
- func (a *API) Invite(w http.ResponseWriter, r *http.Request) error
- func (a *API) ListenAndServe(hostAndPort string)
- func (a *API) Logout(w http.ResponseWriter, r *http.Request) error
- func (a *API) Mailer(ctx context.Context) mailer.Mailer
- func (a *API) OAuthProvider(ctx context.Context, name string) (provider.OAuthProvider, error)
- func (a *API) Provider(ctx context.Context, name string) (provider.Provider, error)
- func (a *API) Recover(w http.ResponseWriter, r *http.Request) error
- func (a *API) RefreshTokenGrant(ctx context.Context, w http.ResponseWriter, r *http.Request) error
- func (a *API) ResourceOwnerPasswordGrant(ctx context.Context, w http.ResponseWriter, r *http.Request) error
- func (a *API) SAMLMetadata(w http.ResponseWriter, r *http.Request) error
- func (a *API) Settings(ctx context.Context) *Settings
- func (a *API) Signup(w http.ResponseWriter, r *http.Request) error
- func (a *API) Token(w http.ResponseWriter, r *http.Request) error
- func (a *API) UpdateInstance(w http.ResponseWriter, r *http.Request) error
- func (a *API) UserGet(w http.ResponseWriter, r *http.Request) error
- func (a *API) UserUpdate(w http.ResponseWriter, r *http.Request) error
- func (a *API) Verify(w http.ResponseWriter, r *http.Request) error
- type AccessTokenResponse
- type ErrorCause
- type ExternalProviderClaims
- type ExternalSignupParams
- type FunctionHooks
- type GothicClaims
- type GothicMicroserviceClaims
- type HTTPError
- type HookEvent
- type InstanceRequestParams
- type InstanceResponse
- type InviteParams
- type OAuthError
- type ProviderLabels
- type ProviderSettings
- type RecoverParams
- type Settings
- type SignupParams
- type UserUpdateParams
- type VerifyParams
- type Webhook
- type WebhookResponse
Constants ¶
const ( ValidateEvent = "validate" SignupEvent = "signup" LoginEvent = "login" )
Variables ¶
This section is empty.
Functions ¶
func ListenAndServeREST ¶
func ListenAndServeREST(a *API, globalConfig *conf.GlobalConfiguration)
ListenAndServeREST starts the REST API let's wrap this instead
func SafeHTTPClient ¶
func SafeRoundtripper ¶
func SafeRoundtripper(trans http.RoundTripper, log logrus.FieldLogger) http.RoundTripper
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API is the main REST API
func NewAPI ¶
func NewAPI(globalConfig *conf.GlobalConfiguration, db *storage.Connection) *API
NewAPI instantiates a new REST API
func NewAPIFromConfigFile ¶
NewAPIFromConfigFile creates a new REST API using the provided configuration file.
func NewAPIWithVersion ¶
func NewAPIWithVersion(ctx context.Context, globalConfig *conf.GlobalConfiguration, db *storage.Connection, version string) *API
NewAPIWithVersion creates a new REST API using the specified version
func (*API) CreateInstance ¶
func (*API) DeleteInstance ¶
func (*API) ExternalProviderCallback ¶
func (*API) ExternalProviderRedirect ¶
func (*API) GetAppManifest ¶
func (*API) GetInstance ¶
func (*API) HealthCheck ¶
func (*API) ListenAndServe ¶
func (*API) Logout ¶
Logout is the endpoint for logging out a user and thereby revoking any refresh tokens
func (*API) OAuthProvider ¶
func (*API) RefreshTokenGrant ¶
RefreshTokenGrant implements the refresh_token grant type flow
func (*API) ResourceOwnerPasswordGrant ¶
func (a *API) ResourceOwnerPasswordGrant(ctx context.Context, w http.ResponseWriter, r *http.Request) error
ResourceOwnerPasswordGrant implements the password grant type flow
func (*API) SAMLMetadata ¶
func (*API) UpdateInstance ¶
func (*API) UserUpdate ¶
UserUpdate updates fields on a user
type AccessTokenResponse ¶
type AccessTokenResponse struct { Token string `json:"access_token"` TokenType string `json:"token_type"` // Bearer ExpiresIn int `json:"expires_in"` RefreshToken string `json:"refresh_token"` }
AccessTokenResponse represents an OAuth2 success response
type ErrorCause ¶
type ErrorCause interface {
Cause() error
}
type ExternalProviderClaims ¶
type ExternalProviderClaims struct { GothicMicroserviceClaims Provider string `json:"provider"` InviteToken string `json:"invite_token,omitempty"` Referrer string `json:"referrer,omitempty"` }
type ExternalSignupParams ¶
SignupParams are the parameters the Signup endpoint accepts
type FunctionHooks ¶
func (*FunctionHooks) UnmarshalJSON ¶
func (f *FunctionHooks) UnmarshalJSON(b []byte) error
type GothicClaims ¶
type GothicClaims struct { jwt.StandardClaims Email string `json:"email"` AppMetaData map[string]interface{} `json:"app_metadata"` UserMetaData map[string]interface{} `json:"user_metadata"` }
GothicClaims is a struct thats used for JWT claims
type GothicMicroserviceClaims ¶
type GothicMicroserviceClaims struct { jwt.StandardClaims SiteURL string `json:"site_url"` InstanceID string `json:"id"` GothicID string `json:"gothic_id"` FunctionHooks FunctionHooks `json:"function_hooks"` }
type HTTPError ¶
type HTTPError struct { Code int `json:"code"` Message string `json:"msg"` InternalError error `json:"-"` InternalMessage string `json:"-"` ErrorID string `json:"error_id,omitempty"` }
HTTPError is an error with a message and an HTTP status code.
func (*HTTPError) WithInternalError ¶
WithInternalError adds internal error information to the error
func (*HTTPError) WithInternalMessage ¶
WithInternalMessage adds internal message information to the error
type InstanceRequestParams ¶
type InstanceRequestParams struct { UUID uuid.UUID `json:"uuid"` BaseConfig *conf.Configuration `json:"config"` }
type InstanceResponse ¶
type InviteParams ¶
InviteParams are the parameters the Signup endpoint accepts
type OAuthError ¶
type OAuthError struct { Err string `json:"error"` Description string `json:"error_description,omitempty"` InternalError error `json:"-"` InternalMessage string `json:"-"` }
OAuthError is the JSON handler for OAuth2 error responses
func (*OAuthError) Error ¶
func (e *OAuthError) Error() string
func (*OAuthError) WithInternalError ¶
func (e *OAuthError) WithInternalError(err error) *OAuthError
WithInternalError adds internal error information to the error
func (*OAuthError) WithInternalMessage ¶
func (e *OAuthError) WithInternalMessage(fmtString string, args ...interface{}) *OAuthError
WithInternalMessage adds internal message information to the error
type ProviderLabels ¶
type ProviderLabels struct {
SAML string `json:"saml,omitempty"`
}
type ProviderSettings ¶
type RecoverParams ¶
type RecoverParams struct {
Email string `json:"email"`
}
RecoverParams holds the parameters for a password recovery request
type Settings ¶
type Settings struct { ExternalProviders ProviderSettings `json:"external"` ExternalLabels ProviderLabels `json:"external_labels"` DisableSignup bool `json:"disable_signup"` Autoconfirm bool `json:"autoconfirm"` }
type SignupParams ¶
type SignupParams struct { Email string `json:"email"` Password string `json:"password"` Data map[string]interface{} `json:"data"` Provider string `json:"-"` Aud string `json:"-"` }
SignupParams are the parameters the Signup endpoint accepts
type UserUpdateParams ¶
type UserUpdateParams struct { Email string `json:"email"` Password string `json:"password"` EmailChangeToken string `json:"email_change_token"` Data map[string]interface{} `json:"data"` AppData map[string]interface{} `json:"app_metadata,omitempty"` }
UserUpdateParams parameters for updating a user
type VerifyParams ¶
type VerifyParams struct { Type string `json:"type"` Token string `json:"token"` Password string `json:"password"` }
VerifyParams are the parameters the Verify endpoint accepts
type Webhook ¶
type Webhook struct { *conf.WebhookConfig // contains filtered or unexported fields }
type WebhookResponse ¶
Source Files ¶
- admin.go
- api.go
- audit.go
- auth.go
- context.go
- errors.go
- external.go
- external_oauth.go
- external_saml.go
- heathcheck.go
- helpers.go
- hooks.go
- instance.go
- invite.go
- log.go
- logout.go
- mail.go
- middleware.go
- pagination.go
- recover.go
- router.go
- settings.go
- signup.go
- sorting.go
- token.go
- tracer.go
- user.go
- verify.go