Documentation ¶
Index ¶
- type APIClient
- func (c *APIClient) CallAPI(path string, method string, postBody interface{}, ...) (*resty.Response, error)
- func (c *APIClient) ParameterToString(obj interface{}, collectionFormat string) string
- func (c *APIClient) SelectHeaderAccept(accepts []string) string
- func (c *APIClient) SelectHeaderContentType(contentTypes []string) string
- type APIResponse
- type AuthenticationDefaultSession
- type AuthenticationOAuth2ClientCredentialsRequest
- type AuthenticationOAuth2ClientCredentialsSession
- type AuthenticationOAuth2IntrospectionRequest
- type AuthenticationOAuth2Session
- type Authenticator
- type Configuration
- type DefaultApi
- type InlineResponse401
- type IntrospectionResponse
- type JsonRule
- type JsonWebKey
- type JsonWebKeySet
- type OAuth2ClientCredentialsAuthentication
- type OAuth2IntrospectionAuthentication
- type RawMessage
- type Rule
- type RuleApi
- func (a RuleApi) CreateRule(body Rule) (*Rule, *APIResponse, error)
- func (a RuleApi) DeleteRule(id string) (*APIResponse, error)
- func (a RuleApi) GetRule(id string) (*Rule, *APIResponse, error)
- func (a RuleApi) ListRules(limit int64, offset int64) ([]Rule, *APIResponse, error)
- func (a RuleApi) UpdateRule(id string, body Rule) (*Rule, *APIResponse, error)
- type RuleHandler
- type RuleMatch
- type Session
- type SwaggerCreateRuleParameters
- type SwaggerGetRuleParameters
- type SwaggerListRulesParameters
- type SwaggerRuleHandler
- type SwaggerRuleMatch
- type SwaggerRuleResponse
- type SwaggerRulesResponse
- type SwaggerUpdateRuleParameters
- type Upstream
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIClient ¶
type APIClient struct {
// contains filtered or unexported fields
}
func (*APIClient) ParameterToString ¶
func (*APIClient) SelectHeaderAccept ¶
func (*APIClient) SelectHeaderContentType ¶
type APIResponse ¶
type APIResponse struct { *http.Response `json:"-"` Message string `json:"message,omitempty"` // Operation is the name of the swagger operation. Operation string `json:"operation,omitempty"` // RequestURL is the request URL. This value is always available, even if the // embedded *http.Response is nil. RequestURL string `json:"url,omitempty"` // Method is the HTTP method used for the request. This value is always // available, even if the embedded *http.Response is nil. Method string `json:"method,omitempty"` // Payload holds the contents of the response body (which may be nil or empty). // This is provided here as the raw response.Body() reader will have already // been drained. Payload []byte `json:"-"` }
func NewAPIResponse ¶
func NewAPIResponse(r *http.Response) *APIResponse
func NewAPIResponseWithError ¶
func NewAPIResponseWithError(errorMessage string) *APIResponse
type AuthenticationDefaultSession ¶
type AuthenticationDefaultSession struct { // Allowed is true if the request is allowed and false otherwise. Allowed bool `json:"allowed,omitempty"` // Subject is the identity that authorized issuing the token, for example a user or an OAuth2 app. This is usually a uuid but you can choose a urn or some other id too. Subject string `json:"subject,omitempty"` }
type AuthenticationOAuth2ClientCredentialsSession ¶
type AuthenticationOAuth2ClientCredentialsSession struct { // Allowed is true if the request is allowed and false otherwise. Allowed bool `json:"allowed,omitempty"` // Subject is the identity that authorized issuing the token, for example a user or an OAuth2 app. This is usually a uuid but you can choose a urn or some other id too. Subject string `json:"subject,omitempty"` }
type AuthenticationOAuth2Session ¶
type AuthenticationOAuth2Session struct { // Allowed is true if the request is allowed and false otherwise. Allowed bool `json:"allowed,omitempty"` Audience []string `json:"audience,omitempty"` // ClientID is the id of the OAuth2 client that requested the token. ClientId string `json:"client_id,omitempty"` // ExpiresAt is the expiry timestamp. ExpiresAt time.Time `json:"expires_at,omitempty"` // GrantedScopes is a list of scopes that the subject authorized when asked for consent. GrantedScope []string `json:"granted_scope,omitempty"` // IssuedAt is the token creation time stamp. IssuedAt time.Time `json:"issued_at,omitempty"` // Issuer is the id of the issuer, typically an hydra instance. Issuer string `json:"issuer,omitempty"` NotBefore time.Time `json:"not_before,omitempty"` // Session represents arbitrary session data. Session map[string]interface{} `json:"session,omitempty"` // Subject is the identity that authorized issuing the token, for example a user or an OAuth2 app. This is usually a uuid but you can choose a urn or some other id too. Subject string `json:"subject,omitempty"` Username string `json:"username,omitempty"` }
type Authenticator ¶
type Authenticator struct { }
type Configuration ¶
type Configuration struct { Username string `json:"userName,omitempty"` Password string `json:"password,omitempty"` APIKeyPrefix map[string]string `json:"APIKeyPrefix,omitempty"` APIKey map[string]string `json:"APIKey,omitempty"` Debug bool `json:"debug,omitempty"` DebugFile string `json:"debugFile,omitempty"` OAuthToken string `json:"oAuthToken,omitempty"` BasePath string `json:"basePath,omitempty"` Host string `json:"host,omitempty"` Scheme string `json:"scheme,omitempty"` AccessToken string `json:"accessToken,omitempty"` DefaultHeader map[string]string `json:"defaultHeader,omitempty"` UserAgent string `json:"userAgent,omitempty"` APIClient *APIClient Transport *http.Transport Timeout *time.Duration `json:"timeout,omitempty"` }
func NewConfiguration ¶
func NewConfiguration() *Configuration
func (*Configuration) AddDefaultHeader ¶
func (c *Configuration) AddDefaultHeader(key string, value string)
func (*Configuration) GetAPIKeyWithPrefix ¶
func (c *Configuration) GetAPIKeyWithPrefix(APIKeyIdentifier string) string
func (*Configuration) GetBasicAuthEncodedString ¶
func (c *Configuration) GetBasicAuthEncodedString() string
type DefaultApi ¶
type DefaultApi struct {
Configuration *Configuration
}
func NewDefaultApi ¶
func NewDefaultApi() *DefaultApi
func NewDefaultApiWithBasePath ¶
func NewDefaultApiWithBasePath(basePath string) *DefaultApi
func (DefaultApi) GetWellKnown ¶
func (a DefaultApi) GetWellKnown() (*JsonWebKeySet, *APIResponse, error)
*
- Returns well known keys
- This endpoint returns public keys for validating the ID tokens issued by ORY Oathkeeper. *
- @return *JsonWebKeySet
type InlineResponse401 ¶
type IntrospectionResponse ¶
type IntrospectionResponse struct { Active bool `json:"active,omitempty"` Aud []string `json:"aud,omitempty"` ClientId string `json:"client_id,omitempty"` Exp int64 `json:"exp,omitempty"` // Session represents arbitrary session data. Ext map[string]interface{} `json:"ext,omitempty"` Iat int64 `json:"iat,omitempty"` Iss string `json:"iss,omitempty"` Nbf int64 `json:"nbf,omitempty"` Scope string `json:"scope,omitempty"` // Here, it's sub Sub string `json:"sub,omitempty"` Username string `json:"username,omitempty"` }
type JsonRule ¶
type JsonRule struct { Description string `json:"description,omitempty"` Id string `json:"id,omitempty"` MatchesMethods []string `json:"matchesMethods,omitempty"` MatchesUrl string `json:"matchesUrl,omitempty"` Mode string `json:"mode,omitempty"` RequiredAction string `json:"requiredAction,omitempty"` RequiredResource string `json:"requiredResource,omitempty"` RequiredScopes []string `json:"requiredScopes,omitempty"` Upstream Upstream `json:"upstream,omitempty"` }
type JsonWebKey ¶
type JsonWebKey struct { // The \"alg\" (algorithm) parameter identifies the algorithm intended for use with the key. The values used should either be registered in the IANA \"JSON Web Signature and Encryption Algorithms\" registry established by [JWA] or be a value that contains a Collision- Resistant Name. Alg string `json:"alg,omitempty"` Crv string `json:"crv,omitempty"` D string `json:"d,omitempty"` Dp string `json:"dp,omitempty"` Dq string `json:"dq,omitempty"` E string `json:"e,omitempty"` K string `json:"k,omitempty"` // The \"kid\" (key ID) parameter is used to match a specific key. This is used, for instance, to choose among a set of keys within a JWK Set during key rollover. The structure of the \"kid\" value is unspecified. When \"kid\" values are used within a JWK Set, different keys within the JWK Set SHOULD use distinct \"kid\" values. (One example in which different keys might use the same \"kid\" value is if they have different \"kty\" (key type) values but are considered to be equivalent alternatives by the application using them.) The \"kid\" value is a case-sensitive string. Kid string `json:"kid,omitempty"` // The \"kty\" (key type) parameter identifies the cryptographic algorithm family used with the key, such as \"RSA\" or \"EC\". \"kty\" values should either be registered in the IANA \"JSON Web Key Types\" registry established by [JWA] or be a value that contains a Collision- Resistant Name. The \"kty\" value is a case-sensitive string. Kty string `json:"kty,omitempty"` N string `json:"n,omitempty"` P string `json:"p,omitempty"` Q string `json:"q,omitempty"` Qi string `json:"qi,omitempty"` // The \"use\" (public key use) parameter identifies the intended use of the public key. The \"use\" parameter is employed to indicate whether a public key is used for encrypting data or verifying the signature on data. Values are commonly \"sig\" (signature) or \"enc\" (encryption). Use string `json:"use,omitempty"` X string `json:"x,omitempty"` // The \"x5c\" (X.509 certificate chain) parameter contains a chain of one or more PKIX certificates [RFC5280]. The certificate chain is represented as a JSON array of certificate value strings. Each string in the array is a base64-encoded (Section 4 of [RFC4648] -- not base64url-encoded) DER [ITU.X690.1994] PKIX certificate value. The PKIX certificate containing the key value MUST be the first certificate. X5c []string `json:"x5c,omitempty"` Y string `json:"y,omitempty"` }
type JsonWebKeySet ¶
type JsonWebKeySet struct { // The value of the \"keys\" parameter is an array of JWK values. By default, the order of the JWK values within the array does not imply an order of preference among them, although applications of JWK Sets can choose to assign a meaning to the order for their purposes, if desired. Keys []JsonWebKey `json:"keys,omitempty"` }
type OAuth2ClientCredentialsAuthentication ¶
type OAuth2ClientCredentialsAuthentication struct { }
type OAuth2IntrospectionAuthentication ¶
type OAuth2IntrospectionAuthentication struct { }
type RawMessage ¶
type RawMessage struct { }
It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding.
type Rule ¶
type Rule struct { // Authenticators is a list of authentication handlers that will try and authenticate the provided credentials. Authenticators are checked iteratively from index 0 to n and if the first authenticator to return a positive result will be the one used. If you want the rule to first check a specific authenticator before \"falling back\" to others, have that authenticator as the first item in the array. Authenticators []RuleHandler `json:"authenticators,omitempty"` Authorizer RuleHandler `json:"authorizer,omitempty"` CredentialsIssuer RuleHandler `json:"credentials_issuer,omitempty"` // Description is a human readable description of this rule. Description string `json:"description,omitempty"` // ID is the unique id of the rule. It can be at most 190 characters long, but the layout of the ID is up to you. You will need this ID later on to update or delete the rule. Id string `json:"id,omitempty"` Match RuleMatch `json:"match,omitempty"` Upstream Upstream `json:"upstream,omitempty"` }
type RuleApi ¶
type RuleApi struct {
Configuration *Configuration
}
func NewRuleApi ¶
func NewRuleApi() *RuleApi
func NewRuleApiWithBasePath ¶
func (RuleApi) CreateRule ¶
func (a RuleApi) CreateRule(body Rule) (*Rule, *APIResponse, error)
*
- Create a rule
- This method allows creation of rules. If a rule id exists, you will receive an error. *
- @param body
- @return *Rule
func (RuleApi) DeleteRule ¶
func (a RuleApi) DeleteRule(id string) (*APIResponse, error)
*
- Delete a rule
- Use this endpoint to delete a rule. *
- @param id
- @return void
func (RuleApi) GetRule ¶
func (a RuleApi) GetRule(id string) (*Rule, *APIResponse, error)
*
- Retrieve a rule
- Use this method to retrieve a rule from the storage. If it does not exist you will receive a 404 error. *
- @param id
- @return *Rule
func (RuleApi) ListRules ¶
*
- List all rules
- This method returns an array of all rules that are stored in the backend. This is useful if you want to get a full view of what rules you have currently in place. *
- @param limit The maximum amount of rules returned.
- @param offset The offset from where to start looking.
- @return []Rule
func (RuleApi) UpdateRule ¶
*
- Update a rule
- Use this method to update a rule. Keep in mind that you need to send the full rule payload as this endpoint does not support patching. *
- @param id
- @param body
- @return *Rule
type RuleHandler ¶
type RuleHandler struct { // Config contains the configuration for the handler. Please read the user guide for a complete list of each handler's available settings. Config json.RawMessage `json:"config,omitempty"` // Handler identifies the implementation which will be used to handle this specific request. Please read the user guide for a complete list of available handlers. Handler string `json:"handler,omitempty"` }
type RuleMatch ¶
type RuleMatch struct { // An array of HTTP methods (e.g. GET, POST, PUT, DELETE, ...). When ORY Oathkeeper searches for rules to decide what to do with an incoming request to the proxy server, it compares the HTTP method of the incoming request with the HTTP methods of each rules. If a match is found, the rule is considered a partial match. If the matchesUrl field is satisfied as well, the rule is considered a full match. Methods []string `json:"methods,omitempty"` // This field represents the URL pattern this rule matches. When ORY Oathkeeper searches for rules to decide what to do with an incoming request to the proxy server, it compares the full request URL (e.g. https://mydomain.com/api/resource) without query parameters of the incoming request with this field. If a match is found, the rule is considered a partial match. If the matchesMethods field is satisfied as well, the rule is considered a full match. You can use regular expressions in this field to match more than one url. Regular expressions are encapsulated in brackets < and >. The following example matches all paths of the domain `mydomain.com`: `https://mydomain.com/<.*>`. For more information refer to: https://ory.gitbooks.io/oathkeeper/content/concepts.html#rules Url string `json:"url,omitempty"` }
type SwaggerCreateRuleParameters ¶
type SwaggerCreateRuleParameters struct {
Body Rule `json:"Body,omitempty"`
}
type SwaggerGetRuleParameters ¶
type SwaggerGetRuleParameters struct { // in: path Id string `json:"id"` }
type SwaggerRuleHandler ¶
type SwaggerRuleHandler struct { // Config contains the configuration for the handler. Please read the user guide for a complete list of each handler's available settings. Config json.RawMessage `json:"config,omitempty"` // Handler identifies the implementation which will be used to handle this specific request. Please read the user guide for a complete list of available handlers. Handler string `json:"handler,omitempty"` }
type SwaggerRuleMatch ¶
type SwaggerRuleMatch struct { // An array of HTTP methods (e.g. GET, POST, PUT, DELETE, ...). When ORY Oathkeeper searches for rules to decide what to do with an incoming request to the proxy server, it compares the HTTP method of the incoming request with the HTTP methods of each rules. If a match is found, the rule is considered a partial match. If the matchesUrl field is satisfied as well, the rule is considered a full match. Methods []string `json:"methods,omitempty"` // This field represents the URL pattern this rule matches. When ORY Oathkeeper searches for rules to decide what to do with an incoming request to the proxy server, it compares the full request URL (e.g. https://mydomain.com/api/resource) without query parameters of the incoming request with this field. If a match is found, the rule is considered a partial match. If the matchesMethods field is satisfied as well, the rule is considered a full match. You can use regular expressions in this field to match more than one url. Regular expressions are encapsulated in brackets < and >. The following example matches all paths of the domain `mydomain.com`: `https://mydomain.com/<.*>`. For more information refer to: https://ory.gitbooks.io/oathkeeper/content/concepts.html#rules Url string `json:"url,omitempty"` }
type SwaggerRuleResponse ¶
type SwaggerRuleResponse struct {
Body Rule `json:"Body,omitempty"`
}
A rule
type SwaggerRulesResponse ¶
type SwaggerRulesResponse struct { // in: body type: array Body []Rule `json:"Body,omitempty"` }
A list of rules
type Upstream ¶
type Upstream struct { // PreserveHost, if false (the default), tells ORY Oathkeeper to set the upstream request's Host header to the hostname of the API's upstream's URL. Setting this flag to true instructs ORY Oathkeeper not to do so. PreserveHost bool `json:"preserve_host,omitempty"` // StripPath if set, replaces the provided path prefix when forwarding the requested URL to the upstream URL. StripPath string `json:"strip_path,omitempty"` // URL is the URL the request will be proxied to. Url string `json:"url,omitempty"` }
Source Files ¶
- api_client.go
- api_response.go
- authentication_default_session.go
- authentication_o_auth2_client_credentials_request.go
- authentication_o_auth2_client_credentials_session.go
- authentication_o_auth2_introspection_request.go
- authentication_o_auth2_session.go
- authenticator.go
- configuration.go
- default_api.go
- inline_response_401.go
- introspection_response.go
- json_rule.go
- json_web_key.go
- json_web_key_set.go
- o_auth2_client_credentials_authentication.go
- o_auth2_introspection_authentication.go
- raw_message.go
- rule.go
- rule_api.go
- rule_handler.go
- rule_match.go
- session.go
- swagger_create_rule_parameters.go
- swagger_get_rule_parameters.go
- swagger_list_rules_parameters.go
- swagger_rule_handler.go
- swagger_rule_match.go
- swagger_rule_response.go
- swagger_rules_response.go
- swagger_update_rule_parameters.go
- upstream.go
Click to show internal directories.
Click to hide internal directories.