Documentation ¶
Index ¶
- Constants
- 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(w http.ResponseWriter, r *http.Request) error
- 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(w http.ResponseWriter, r *http.Request) error
- 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 DelivcClaims
- type DelivcMicroserviceClaims
- type ErrorCause
- type ExternalProviderClaims
- type ExternalSignupParams
- 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 constant ValidateEvent = "validate" // SignupEvent constant SignupEvent = "signup" // LoginEvent constant LoginEvent = "login" )
Variables ¶
This section is empty.
Functions ¶
func SafeHTTPClient ¶
SafeHTTPClient returns a roundtripper client
func SafeRoundtripper ¶
func SafeRoundtripper(trans http.RoundTripper, log logrus.FieldLogger) http.RoundTripper
SafeRoundtripper creates a new 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 ¶
CreateInstance creates a new instance
func (*API) DeleteInstance ¶
DeleteInstance deletes a instance
func (*API) ExternalProviderCallback ¶
ExternalProviderCallback maps redirectErrors
func (*API) ExternalProviderRedirect ¶
ExternalProviderRedirect redirects to external provider for login and creates a new claim
func (*API) GetAppManifest ¶
GetAppManifest returns the version and details about the service
func (*API) GetInstance ¶
GetInstance returns an instance
func (*API) HealthCheck ¶
HealthCheck returns a "is a live"
func (*API) ListenAndServe ¶
ListenAndServe starts the REST API
func (*API) Logout ¶
Logout is the endpoint for logging out a user and thereby revoking any refresh tokens
func (*API) OAuthProvider ¶
OAuthProvider validates a oauth provider
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 ¶
SAMLMetadata creates a new provider and writes metadata
func (*API) UpdateInstance ¶
UpdateInstance updates given instance
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 DelivcClaims ¶
type DelivcClaims struct { jwt.StandardClaims Email string `json:"email"` AppMetaData map[string]interface{} `json:"app_metadata"` UserMetaData map[string]interface{} `json:"user_metadata"` }
DelivcClaims is a struct thats used for JWT claims
type DelivcMicroserviceClaims ¶
type DelivcMicroserviceClaims struct { jwt.StandardClaims SiteURL string `json:"site_url"` InstanceID string `json:"id"` DelivcID string `json:"delivc_id"` FunctionHooks map[string]string `json:"function_hooks"` }
DelivcMicroserviceClaims claims for the JWT Token
type ErrorCause ¶
type ErrorCause interface {
Cause() error
}
ErrorCause holds the cause of the error
type ExternalProviderClaims ¶
type ExternalProviderClaims struct { DelivcMicroserviceClaims Provider string `json:"provider"` InviteToken string `json:"invite_token,omitempty"` Referrer string `json:"referrer,omitempty"` }
ExternalProviderClaims keeps the claims of the external provider
type ExternalSignupParams ¶
ExternalSignupParams are the parameters the Signup endpoint accepts
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"` }
InstanceRequestParams an instance web request
type InstanceResponse ¶
type InstanceResponse struct { models.Instance Endpoint string `json:"endpoint"` State string `json:"state"` }
InstanceResponse an instance web response
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"`
}
ProviderLabels the labels of the SAML providers
type ProviderSettings ¶
type ProviderSettings struct { Bitbucket bool `json:"bitbucket"` GitHub bool `json:"github"` GitLab bool `json:"gitlab"` Google bool `json:"google"` Facebook bool `json:"facebook"` Email bool `json:"email"` SAML bool `json:"saml"` }
ProviderSettings an JSON struct to determine of a provider is enabled
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"` }
Settings holds the settings for the external proiders
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 }
Webhook holds webhook informations
type WebhookResponse ¶
type WebhookResponse struct { AppMetaData map[string]interface{} `json:"app_metadata,omitempty"` UserMetaData map[string]interface{} `json:"user_metadata,omitempty"` }
WebhookResponse is a webhook response