2020-04-08 08:56:42 +02:00
|
|
|
package hydra
|
|
|
|
|
2020-04-24 09:27:07 +02:00
|
|
|
import "time"
|
|
|
|
|
|
|
|
// https://www.ory.sh/hydra/docs/reference/api#get-a-login-request
|
|
|
|
|
|
|
|
type ClientResponseFragment struct {
|
|
|
|
AllowCORSOrigins []string `json:"allowed_cors_origins"`
|
|
|
|
Audience []string `json:"audience"`
|
|
|
|
BackChannelLogoutSessionRequired bool `json:"backchannel_logout_session_required"`
|
|
|
|
BackChannelLogoutURI string `json:"backchannel_logout_uri"`
|
|
|
|
ClientID string `json:"client_id"`
|
|
|
|
ClientName string `json:"client_name"`
|
|
|
|
ClientSecret string `json:"client_secret"`
|
|
|
|
ClientSecretExpiresAt int `json:"client_secret_expires_at"`
|
|
|
|
ClientURI string `json:"client_uri"`
|
|
|
|
Contacts []string `json:"contacts"`
|
|
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
|
FrontChannelLogoutSessionRequired bool `json:"frontchannel_logout_session_required"`
|
|
|
|
FrontChannelLogoutURL string `json:"frontchannel_logout_uri"`
|
|
|
|
GrantTypes []string `json:"grant_types"`
|
|
|
|
JWKS map[string]interface{} `json:"jwks"`
|
|
|
|
JwksURI string `json:"jwks_uri"`
|
|
|
|
LogoURI string `json:"logo_uri"`
|
|
|
|
Metadata map[string]interface{} `json:"metadata"`
|
|
|
|
Owner string `json:"owner"`
|
|
|
|
PolicyURI string `json:"policy_uri"`
|
|
|
|
PostLogoutRedirectURIs []string `json:"post_logout_redirect_uris"`
|
|
|
|
RedirectURIs []string `json:"redirect_uris"`
|
|
|
|
RequestObjectSigningAlg string `json:"request_object_signing_alg"`
|
|
|
|
RequestURIs []string `json:"request_uris"`
|
|
|
|
ResponseTypes []string `json:"response_types"`
|
|
|
|
Scope string `json:"scope"`
|
|
|
|
SectorIdentifierURI string `json:"sector_identifier_uri"`
|
|
|
|
SubjectType string `json:"subject_type"`
|
|
|
|
TokenEndpointAuthMethod string `json:"token_endpoint_auth_method"`
|
|
|
|
TosURI string `json:"tos_uri"`
|
|
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
UserInfoSignedResponseAlg string `json:"userinfo_signed_response_alg"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type OidcContextResponseFragment struct {
|
|
|
|
ACRValues []string `json:"acr_values"`
|
|
|
|
Display string `json:"display"`
|
|
|
|
IDTokenHintClaims map[string]interface{} `json:"id_token_hint_claims"`
|
|
|
|
LoginHint string `json:"login_hint"`
|
|
|
|
UILocales []string `json:"ui_locales"`
|
|
|
|
}
|
|
|
|
|
2020-04-08 08:56:42 +02:00
|
|
|
type LoginResponse struct {
|
2020-04-24 09:27:07 +02:00
|
|
|
Challenge string `json:"challenge"`
|
|
|
|
Skip bool `json:"skip"`
|
|
|
|
Subject string `json:"subject"`
|
|
|
|
Client ClientResponseFragment `json:"client"`
|
|
|
|
RequestURL string `json:"request_url"`
|
|
|
|
RequestedScope []string `json:"requested_scope"`
|
|
|
|
OidcContext OidcContextResponseFragment `json:"oidc_context"`
|
2020-05-20 11:13:14 +02:00
|
|
|
RequestedAccessTokenAudience []string `json:"requested_access_token_audience"`
|
2020-04-24 09:27:07 +02:00
|
|
|
SessionID string `json:"session_id"`
|
2020-04-08 08:56:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type AcceptResponse struct {
|
2020-05-20 11:13:14 +02:00
|
|
|
RedirectTo string `json:"redirect_to"`
|
2020-04-08 08:56:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type RejectResponse struct {
|
2020-04-24 09:27:07 +02:00
|
|
|
RedirectTo string `json:"redirect_to"`
|
2020-04-08 08:56:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type LogoutResponse struct {
|
2020-05-26 11:11:53 +02:00
|
|
|
Subject string `json:"subject"`
|
|
|
|
SessionID string `json:"sid"`
|
|
|
|
RPInitiated bool `json:"rp_initiated"`
|
|
|
|
RequestURL string `json:"request_url"`
|
2020-04-08 08:56:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type ConsentResponse struct {
|
2020-05-20 11:13:14 +02:00
|
|
|
Challenge string `json:"challenge"`
|
|
|
|
Skip bool `json:"skip"`
|
|
|
|
Subject string `json:"subject"`
|
|
|
|
Client ClientResponseFragment `json:"client"`
|
|
|
|
RequestURL string `json:"request_url"`
|
|
|
|
RequestedScope []string `json:"requested_scope"`
|
|
|
|
OidcContext OidcContextResponseFragment `json:"oidc_context"`
|
|
|
|
RequestedAccessTokenAudience []string `json:"requested_access_token_audience"`
|
|
|
|
SessionID string `json:"session_id"`
|
2020-05-26 11:11:53 +02:00
|
|
|
Context map[string]interface{} `json:"context"`
|
2020-04-08 08:56:42 +02:00
|
|
|
}
|