ory-hydra-client 1.10.1 → 2.0.3
raw patch · 31 files changed
+11263/−9950 lines, 31 filesdep ~aesondep ~textPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, text
API changes (from Hackage documentation)
- ORYHydra.API.Admin: acceptConsentRequest0 :: Consumes AcceptConsentRequest0 MimeJSON => ConsentChallenge -> ORYHydraRequest AcceptConsentRequest0 MimeJSON CompletedRequest MimeJSON
- ORYHydra.API.Admin: acceptLoginRequest0 :: Consumes AcceptLoginRequest0 MimeJSON => LoginChallenge -> ORYHydraRequest AcceptLoginRequest0 MimeJSON CompletedRequest MimeJSON
- ORYHydra.API.Admin: acceptLogoutRequest :: LogoutChallenge -> ORYHydraRequest AcceptLogoutRequest MimeNoContent CompletedRequest MimeJSON
- ORYHydra.API.Admin: createJsonWebKeySet :: Consumes CreateJsonWebKeySet MimeJSON => Set -> ORYHydraRequest CreateJsonWebKeySet MimeJSON JSONWebKeySet MimeJSON
- ORYHydra.API.Admin: createOAuth2Client :: (Consumes CreateOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client) => OAuth2Client -> ORYHydraRequest CreateOAuth2Client MimeJSON OAuth2Client MimeJSON
- ORYHydra.API.Admin: data AcceptConsentRequest0
- ORYHydra.API.Admin: data AcceptLoginRequest0
- ORYHydra.API.Admin: data AcceptLogoutRequest
- ORYHydra.API.Admin: data CreateJsonWebKeySet
- ORYHydra.API.Admin: data CreateOAuth2Client
- ORYHydra.API.Admin: data DeleteJsonWebKey
- ORYHydra.API.Admin: data DeleteJsonWebKeySet
- ORYHydra.API.Admin: data DeleteOAuth2Client
- ORYHydra.API.Admin: data DeleteOAuth2Token
- ORYHydra.API.Admin: data FlushInactiveOAuth2Tokens
- ORYHydra.API.Admin: data GetConsentRequest
- ORYHydra.API.Admin: data GetJsonWebKey
- ORYHydra.API.Admin: data GetJsonWebKeySet
- ORYHydra.API.Admin: data GetLoginRequest
- ORYHydra.API.Admin: data GetLogoutRequest
- ORYHydra.API.Admin: data GetOAuth2Client
- ORYHydra.API.Admin: data GetVersion
- ORYHydra.API.Admin: data IntrospectOAuth2Token
- ORYHydra.API.Admin: data IsInstanceAlive
- ORYHydra.API.Admin: data ListOAuth2Clients
- ORYHydra.API.Admin: data ListSubjectConsentSessions
- ORYHydra.API.Admin: data Prometheus
- ORYHydra.API.Admin: data RejectConsentRequest
- ORYHydra.API.Admin: data RejectLoginRequest
- ORYHydra.API.Admin: data RejectLogoutRequest
- ORYHydra.API.Admin: data RevokeAuthenticationSession
- ORYHydra.API.Admin: data RevokeConsentSessions
- ORYHydra.API.Admin: data UpdateJsonWebKey
- ORYHydra.API.Admin: data UpdateJsonWebKeySet
- ORYHydra.API.Admin: data UpdateOAuth2Client
- ORYHydra.API.Admin: deleteJsonWebKey :: Kid -> Set -> ORYHydraRequest DeleteJsonWebKey MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Admin: deleteJsonWebKeySet :: Set -> ORYHydraRequest DeleteJsonWebKeySet MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Admin: deleteOAuth2Client :: Id -> ORYHydraRequest DeleteOAuth2Client MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Admin: deleteOAuth2Token :: ClientId -> ORYHydraRequest DeleteOAuth2Token MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Admin: flushInactiveOAuth2Tokens :: Consumes FlushInactiveOAuth2Tokens MimeJSON => ORYHydraRequest FlushInactiveOAuth2Tokens MimeJSON NoContent MimeNoContent
- ORYHydra.API.Admin: getConsentRequest :: ConsentChallenge -> ORYHydraRequest GetConsentRequest MimeNoContent ConsentRequest MimeJSON
- ORYHydra.API.Admin: getJsonWebKey :: Kid -> Set -> ORYHydraRequest GetJsonWebKey MimeNoContent JSONWebKeySet MimeJSON
- ORYHydra.API.Admin: getJsonWebKeySet :: Set -> ORYHydraRequest GetJsonWebKeySet MimeNoContent JSONWebKeySet MimeJSON
- ORYHydra.API.Admin: getLoginRequest :: LoginChallenge -> ORYHydraRequest GetLoginRequest MimeNoContent LoginRequest MimeJSON
- ORYHydra.API.Admin: getLogoutRequest :: LogoutChallenge -> ORYHydraRequest GetLogoutRequest MimeNoContent LogoutRequest MimeJSON
- ORYHydra.API.Admin: getOAuth2Client :: Id -> ORYHydraRequest GetOAuth2Client MimeNoContent OAuth2Client MimeJSON
- ORYHydra.API.Admin: getVersion :: ORYHydraRequest GetVersion MimeNoContent Version MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.AcceptConsentRequest0 ORYHydra.Model.AcceptConsentRequest
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.AcceptLoginRequest0 ORYHydra.Model.AcceptLoginRequest
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.CreateJsonWebKeySet ORYHydra.Model.JsonWebKeySetGeneratorRequest
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.CreateOAuth2Client ORYHydra.Model.OAuth2Client
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.FlushInactiveOAuth2Tokens ORYHydra.Model.FlushInactiveOAuth2TokensRequest
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.RejectConsentRequest ORYHydra.Model.RejectRequest
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.RejectLoginRequest ORYHydra.Model.RejectRequest
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.RejectLogoutRequest ORYHydra.Model.RejectRequest
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.UpdateJsonWebKey ORYHydra.Model.JSONWebKey
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.UpdateJsonWebKeySet ORYHydra.Model.JSONWebKeySet
- ORYHydra.API.Admin: instance ORYHydra.Core.HasBodyParam ORYHydra.API.Admin.UpdateOAuth2Client ORYHydra.Model.OAuth2Client
- ORYHydra.API.Admin: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Admin.IntrospectOAuth2Token ORYHydra.Model.Scope
- ORYHydra.API.Admin: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Admin.ListOAuth2Clients ORYHydra.Model.Limit
- ORYHydra.API.Admin: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Admin.ListOAuth2Clients ORYHydra.Model.Offset
- ORYHydra.API.Admin: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Admin.RevokeConsentSessions ORYHydra.Model.All
- ORYHydra.API.Admin: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Admin.RevokeConsentSessions ORYHydra.Model.Client
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.AcceptConsentRequest0 ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.AcceptLoginRequest0 ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.CreateJsonWebKeySet ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.CreateOAuth2Client ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.FlushInactiveOAuth2Tokens ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.IntrospectOAuth2Token ORYHydra.MimeTypes.MimeFormUrlEncoded
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.RejectConsentRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.RejectLoginRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.RejectLogoutRequest ORYHydra.MimeTypes.MimeFormUrlEncoded
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.RejectLogoutRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.UpdateJsonWebKey ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.UpdateJsonWebKeySet ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Admin.UpdateOAuth2Client ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.AcceptConsentRequest0 ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.AcceptLoginRequest0 ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.AcceptLogoutRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.CreateJsonWebKeySet ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.CreateOAuth2Client ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.DeleteJsonWebKey ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.DeleteJsonWebKeySet ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.DeleteOAuth2Client ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.DeleteOAuth2Token ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.FlushInactiveOAuth2Tokens ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.GetConsentRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.GetJsonWebKey ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.GetJsonWebKeySet ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.GetLoginRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.GetLogoutRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.GetOAuth2Client ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.GetVersion ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.IntrospectOAuth2Token ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.IsInstanceAlive ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.ListOAuth2Clients ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.ListSubjectConsentSessions ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.Prometheus ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.RejectConsentRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.RejectLoginRequest ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.RejectLogoutRequest ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.RevokeAuthenticationSession ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.RevokeConsentSessions ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.UpdateJsonWebKey ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.UpdateJsonWebKeySet ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Admin.UpdateOAuth2Client ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Admin: introspectOAuth2Token :: Consumes IntrospectOAuth2Token MimeFormUrlEncoded => Token -> ORYHydraRequest IntrospectOAuth2Token MimeFormUrlEncoded OAuth2TokenIntrospection MimeJSON
- ORYHydra.API.Admin: isInstanceAlive :: ORYHydraRequest IsInstanceAlive MimeNoContent HealthStatus MimeJSON
- ORYHydra.API.Admin: listOAuth2Clients :: ORYHydraRequest ListOAuth2Clients MimeNoContent [OAuth2Client] MimeJSON
- ORYHydra.API.Admin: listSubjectConsentSessions :: Subject -> ORYHydraRequest ListSubjectConsentSessions MimeNoContent [PreviousConsentSession] MimeJSON
- ORYHydra.API.Admin: prometheus :: ORYHydraRequest Prometheus MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Admin: rejectConsentRequest :: Consumes RejectConsentRequest MimeJSON => ConsentChallenge -> ORYHydraRequest RejectConsentRequest MimeJSON CompletedRequest MimeJSON
- ORYHydra.API.Admin: rejectLoginRequest :: Consumes RejectLoginRequest MimeJSON => LoginChallenge -> ORYHydraRequest RejectLoginRequest MimeJSON CompletedRequest MimeJSON
- ORYHydra.API.Admin: rejectLogoutRequest :: Consumes RejectLogoutRequest contentType => ContentType contentType -> LogoutChallenge -> ORYHydraRequest RejectLogoutRequest contentType NoContent MimeNoContent
- ORYHydra.API.Admin: revokeAuthenticationSession :: Subject -> ORYHydraRequest RevokeAuthenticationSession MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Admin: revokeConsentSessions :: Subject -> ORYHydraRequest RevokeConsentSessions MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Admin: updateJsonWebKey :: Consumes UpdateJsonWebKey MimeJSON => Kid -> Set -> ORYHydraRequest UpdateJsonWebKey MimeJSON JSONWebKey MimeJSON
- ORYHydra.API.Admin: updateJsonWebKeySet :: Consumes UpdateJsonWebKeySet MimeJSON => Set -> ORYHydraRequest UpdateJsonWebKeySet MimeJSON JSONWebKeySet MimeJSON
- ORYHydra.API.Admin: updateOAuth2Client :: (Consumes UpdateOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client) => OAuth2Client -> Id -> ORYHydraRequest UpdateOAuth2Client MimeJSON OAuth2Client MimeJSON
- ORYHydra.API.Public: data DisconnectUser
- ORYHydra.API.Public: data DiscoverOpenIDConfiguration
- ORYHydra.API.Public: data IsInstanceReady
- ORYHydra.API.Public: data Oauth2Token
- ORYHydra.API.Public: data OauthAuth
- ORYHydra.API.Public: data RevokeOAuth2Token
- ORYHydra.API.Public: data Userinfo
- ORYHydra.API.Public: data WellKnown0
- ORYHydra.API.Public: disconnectUser :: ORYHydraRequest DisconnectUser MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Public: discoverOpenIDConfiguration :: ORYHydraRequest DiscoverOpenIDConfiguration MimeNoContent WellKnown MimeJSON
- ORYHydra.API.Public: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Public.Oauth2Token ORYHydra.Model.ClientId
- ORYHydra.API.Public: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Public.Oauth2Token ORYHydra.Model.Code
- ORYHydra.API.Public: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Public.Oauth2Token ORYHydra.Model.RedirectUri
- ORYHydra.API.Public: instance ORYHydra.Core.HasOptionalParam ORYHydra.API.Public.Oauth2Token ORYHydra.Model.RefreshToken
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Public.Oauth2Token ORYHydra.MimeTypes.MimeFormUrlEncoded
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Consumes ORYHydra.API.Public.RevokeOAuth2Token ORYHydra.MimeTypes.MimeFormUrlEncoded
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.DisconnectUser ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.DiscoverOpenIDConfiguration ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.IsInstanceReady ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.Oauth2Token ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.OauthAuth ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.RevokeOAuth2Token ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.Userinfo ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Public: instance ORYHydra.MimeTypes.Produces ORYHydra.API.Public.WellKnown0 ORYHydra.MimeTypes.MimeJSON
- ORYHydra.API.Public: isInstanceReady :: ORYHydraRequest IsInstanceReady MimeNoContent HealthStatus MimeJSON
- ORYHydra.API.Public: oauth2Token :: Consumes Oauth2Token MimeFormUrlEncoded => GrantType -> ORYHydraRequest Oauth2Token MimeFormUrlEncoded Oauth2TokenResponse MimeJSON
- ORYHydra.API.Public: oauthAuth :: ORYHydraRequest OauthAuth MimeNoContent NoContent MimeNoContent
- ORYHydra.API.Public: revokeOAuth2Token :: Consumes RevokeOAuth2Token MimeFormUrlEncoded => Token -> ORYHydraRequest RevokeOAuth2Token MimeFormUrlEncoded NoContent MimeNoContent
- ORYHydra.API.Public: userinfo :: ORYHydraRequest Userinfo MimeNoContent UserinfoResponse MimeJSON
- ORYHydra.API.Public: wellKnown0 :: ORYHydraRequest WellKnown0 MimeNoContent JSONWebKeySet MimeJSON
- ORYHydra.Client: InitRequest :: Request -> InitRequest req contentType res accept
- ORYHydra.Client: MimeError :: String -> Response ByteString -> MimeError
- ORYHydra.Client: MimeResult :: Either MimeError res -> Response ByteString -> MimeResult res
- ORYHydra.Client: [mimeErrorResponse] :: MimeError -> Response ByteString
- ORYHydra.Client: [mimeError] :: MimeError -> String
- ORYHydra.Client: [mimeResultResponse] :: MimeResult res -> Response ByteString
- ORYHydra.Client: [mimeResult] :: MimeResult res -> Either MimeError res
- ORYHydra.Client: [unInitRequest] :: InitRequest req contentType res accept -> Request
- ORYHydra.Client: _toInitRequest :: (MimeType accept, MimeType contentType) => ORYHydraConfig -> ORYHydraRequest req contentType res accept -> IO (InitRequest req contentType res accept)
- ORYHydra.Client: data MimeError
- ORYHydra.Client: data MimeResult res
- ORYHydra.Client: dispatchInitUnsafe :: Manager -> ORYHydraConfig -> InitRequest req contentType res accept -> IO (Response ByteString)
- ORYHydra.Client: dispatchLbs :: (Produces req accept, MimeType contentType) => Manager -> ORYHydraConfig -> ORYHydraRequest req contentType res accept -> IO (Response ByteString)
- ORYHydra.Client: dispatchLbsUnsafe :: (MimeType accept, MimeType contentType) => Manager -> ORYHydraConfig -> ORYHydraRequest req contentType res accept -> IO (Response ByteString)
- ORYHydra.Client: dispatchMime :: forall req contentType res accept. (Produces req accept, MimeUnrender accept res, MimeType contentType) => Manager -> ORYHydraConfig -> ORYHydraRequest req contentType res accept -> IO (MimeResult res)
- ORYHydra.Client: dispatchMime' :: (Produces req accept, MimeUnrender accept res, MimeType contentType) => Manager -> ORYHydraConfig -> ORYHydraRequest req contentType res accept -> IO (Either MimeError res)
- ORYHydra.Client: instance Data.Foldable.Foldable ORYHydra.Client.MimeResult
- ORYHydra.Client: instance Data.Traversable.Traversable ORYHydra.Client.MimeResult
- ORYHydra.Client: instance GHC.Base.Functor ORYHydra.Client.MimeResult
- ORYHydra.Client: instance GHC.Show.Show (ORYHydra.Client.InitRequest req contentType res accept)
- ORYHydra.Client: instance GHC.Show.Show ORYHydra.Client.MimeError
- ORYHydra.Client: instance GHC.Show.Show res => GHC.Show.Show (ORYHydra.Client.MimeResult res)
- ORYHydra.Client: modifyInitRequest :: InitRequest req contentType res accept -> (Request -> Request) -> InitRequest req contentType res accept
- ORYHydra.Client: modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (Request -> m Request) -> m (InitRequest req contentType res accept)
- ORYHydra.Client: newtype InitRequest req contentType res accept
- ORYHydra.Client: runConfigLog :: MonadIO m => ORYHydraConfig -> LogExec m a
- ORYHydra.Client: runConfigLogWithExceptions :: (MonadCatch m, MonadIO m) => Text -> ORYHydraConfig -> LogExec m a
- ORYHydra.Core: (-&-) :: HasOptionalParam req param => ORYHydraRequest req contentType res accept -> param -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: AnyAuthMethod :: a -> AnyAuthMethod
- ORYHydra.Core: AuthMethodException :: String -> AuthMethodException
- ORYHydra.Core: Binary :: ByteString -> Binary
- ORYHydra.Core: ByteArray :: ByteString -> ByteArray
- ORYHydra.Core: CommaSeparated :: CollectionFormat
- ORYHydra.Core: Date :: Day -> Date
- ORYHydra.Core: DateTime :: UTCTime -> DateTime
- ORYHydra.Core: MultiParamArray :: CollectionFormat
- ORYHydra.Core: ORYHydraConfig :: ByteString -> Text -> LogExecWithContext -> LogContext -> [AnyAuthMethod] -> Bool -> ByteString -> ORYHydraConfig
- ORYHydra.Core: ORYHydraRequest :: Method -> [ByteString] -> Params -> [TypeRep] -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: ParamBodyB :: ByteString -> ParamBody
- ORYHydra.Core: ParamBodyBL :: ByteString -> ParamBody
- ORYHydra.Core: ParamBodyFormUrlEncoded :: Form -> ParamBody
- ORYHydra.Core: ParamBodyMultipartFormData :: [Part] -> ParamBody
- ORYHydra.Core: ParamBodyNone :: ParamBody
- ORYHydra.Core: Params :: Query -> RequestHeaders -> ParamBody -> Params
- ORYHydra.Core: PipeSeparated :: CollectionFormat
- ORYHydra.Core: SpaceSeparated :: CollectionFormat
- ORYHydra.Core: TabSeparated :: CollectionFormat
- ORYHydra.Core: [configAuthMethods] :: ORYHydraConfig -> [AnyAuthMethod]
- ORYHydra.Core: [configHost] :: ORYHydraConfig -> ByteString
- ORYHydra.Core: [configLogContext] :: ORYHydraConfig -> LogContext
- ORYHydra.Core: [configLogExecWithContext] :: ORYHydraConfig -> LogExecWithContext
- ORYHydra.Core: [configQueryExtraUnreserved] :: ORYHydraConfig -> ByteString
- ORYHydra.Core: [configUserAgent] :: ORYHydraConfig -> Text
- ORYHydra.Core: [configValidateAuthMethods] :: ORYHydraConfig -> Bool
- ORYHydra.Core: [paramsBody] :: Params -> ParamBody
- ORYHydra.Core: [paramsHeaders] :: Params -> RequestHeaders
- ORYHydra.Core: [paramsQuery] :: Params -> Query
- ORYHydra.Core: [rAuthTypes] :: ORYHydraRequest req contentType res accept -> [TypeRep]
- ORYHydra.Core: [rMethod] :: ORYHydraRequest req contentType res accept -> Method
- ORYHydra.Core: [rParams] :: ORYHydraRequest req contentType res accept -> Params
- ORYHydra.Core: [rUrlPath] :: ORYHydraRequest req contentType res accept -> [ByteString]
- ORYHydra.Core: [unBinary] :: Binary -> ByteString
- ORYHydra.Core: [unByteArray] :: ByteArray -> ByteString
- ORYHydra.Core: [unDateTime] :: DateTime -> UTCTime
- ORYHydra.Core: [unDate] :: Date -> Day
- ORYHydra.Core: _addMultiFormPart :: ORYHydraRequest req contentType res accept -> Part -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: _applyAuthMethods :: ORYHydraRequest req contentType res accept -> ORYHydraConfig -> IO (ORYHydraRequest req contentType res accept)
- ORYHydra.Core: _emptyToNothing :: Maybe String -> Maybe String
- ORYHydra.Core: _hasAuthType :: AuthMethod authMethod => ORYHydraRequest req contentType res accept -> Proxy authMethod -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: _memptyToNothing :: (Monoid a, Eq a) => Maybe a -> Maybe a
- ORYHydra.Core: _mkParams :: Params
- ORYHydra.Core: _mkRequest :: Method -> [ByteString] -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: _omitNulls :: [(Key, Value)] -> Value
- ORYHydra.Core: _parseISO8601 :: (ParseTime t, MonadFail m, Alternative m) => String -> m t
- ORYHydra.Core: _readBinaryBase64 :: MonadFail m => Text -> m Binary
- ORYHydra.Core: _readByteArray :: MonadFail m => Text -> m ByteArray
- ORYHydra.Core: _readDate :: MonadFail m => String -> m Date
- ORYHydra.Core: _readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime
- ORYHydra.Core: _setAcceptHeader :: forall req contentType res accept. MimeType accept => ORYHydraRequest req contentType res accept -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: _setBodyBS :: ORYHydraRequest req contentType res accept -> ByteString -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: _setBodyLBS :: ORYHydraRequest req contentType res accept -> ByteString -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: _setContentTypeHeader :: forall req contentType res accept. MimeType contentType => ORYHydraRequest req contentType res accept -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: _showBinaryBase64 :: Binary -> Text
- ORYHydra.Core: _showByteArray :: ByteArray -> Text
- ORYHydra.Core: _showDate :: FormatTime t => t -> String
- ORYHydra.Core: _showDateTime :: (t ~ UTCTime, FormatTime t) => t -> String
- ORYHydra.Core: _toColl :: Traversable f => CollectionFormat -> (f a -> [(b, ByteString)]) -> f [a] -> [(b, ByteString)]
- ORYHydra.Core: _toCollA :: (Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t ByteString)]) -> f (t [a]) -> [(b, t ByteString)]
- ORYHydra.Core: _toCollA' :: (Monoid c, Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)]
- ORYHydra.Core: _toFormItem :: (ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])
- ORYHydra.Core: addAuthMethod :: AuthMethod auth => ORYHydraConfig -> auth -> ORYHydraConfig
- ORYHydra.Core: addForm :: ORYHydraRequest req contentType res accept -> Form -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: addHeader :: ORYHydraRequest req contentType res accept -> [Header] -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: addQuery :: ORYHydraRequest req contentType res accept -> [QueryItem] -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: applyAuthMethod :: AuthMethod a => ORYHydraConfig -> a -> ORYHydraRequest req contentType res accept -> IO (ORYHydraRequest req contentType res accept)
- ORYHydra.Core: applyOptionalParam :: HasOptionalParam req param => ORYHydraRequest req contentType res accept -> param -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: class Typeable a => AuthMethod a
- ORYHydra.Core: class HasBodyParam req param
- ORYHydra.Core: class HasOptionalParam req param
- ORYHydra.Core: data AnyAuthMethod
- ORYHydra.Core: data AuthMethodException
- ORYHydra.Core: data CollectionFormat
- ORYHydra.Core: data ORYHydraConfig
- ORYHydra.Core: data ORYHydraRequest req contentType res accept
- ORYHydra.Core: data ParamBody
- ORYHydra.Core: data Params
- ORYHydra.Core: infixl 2 -&-
- ORYHydra.Core: instance Control.DeepSeq.NFData ORYHydra.Core.Binary
- ORYHydra.Core: instance Control.DeepSeq.NFData ORYHydra.Core.ByteArray
- ORYHydra.Core: instance Control.DeepSeq.NFData ORYHydra.Core.Date
- ORYHydra.Core: instance Control.DeepSeq.NFData ORYHydra.Core.DateTime
- ORYHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Core.Binary
- ORYHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Core.ByteArray
- ORYHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Core.Date
- ORYHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Core.DateTime
- ORYHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Core.Binary
- ORYHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Core.ByteArray
- ORYHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Core.Date
- ORYHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Core.DateTime
- ORYHydra.Core: instance Data.Data.Data ORYHydra.Core.Binary
- ORYHydra.Core: instance Data.Data.Data ORYHydra.Core.ByteArray
- ORYHydra.Core: instance Data.Data.Data ORYHydra.Core.Date
- ORYHydra.Core: instance Data.Data.Data ORYHydra.Core.DateTime
- ORYHydra.Core: instance GHC.Classes.Eq ORYHydra.Core.Binary
- ORYHydra.Core: instance GHC.Classes.Eq ORYHydra.Core.ByteArray
- ORYHydra.Core: instance GHC.Classes.Eq ORYHydra.Core.Date
- ORYHydra.Core: instance GHC.Classes.Eq ORYHydra.Core.DateTime
- ORYHydra.Core: instance GHC.Classes.Ord ORYHydra.Core.Binary
- ORYHydra.Core: instance GHC.Classes.Ord ORYHydra.Core.ByteArray
- ORYHydra.Core: instance GHC.Classes.Ord ORYHydra.Core.Date
- ORYHydra.Core: instance GHC.Classes.Ord ORYHydra.Core.DateTime
- ORYHydra.Core: instance GHC.Enum.Enum ORYHydra.Core.Date
- ORYHydra.Core: instance GHC.Exception.Type.Exception ORYHydra.Core.AuthMethodException
- ORYHydra.Core: instance GHC.Ix.Ix ORYHydra.Core.Date
- ORYHydra.Core: instance GHC.Show.Show (ORYHydra.Core.ORYHydraRequest req contentType res accept)
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.AuthMethodException
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.Binary
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.ByteArray
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.Date
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.DateTime
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.ORYHydraConfig
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.ParamBody
- ORYHydra.Core: instance GHC.Show.Show ORYHydra.Core.Params
- ORYHydra.Core: instance ORYHydra.Core.AuthMethod ORYHydra.Core.AnyAuthMethod
- ORYHydra.Core: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData ORYHydra.Core.Binary
- ORYHydra.Core: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData ORYHydra.Core.ByteArray
- ORYHydra.Core: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData ORYHydra.Core.Date
- ORYHydra.Core: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData ORYHydra.Core.DateTime
- ORYHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData ORYHydra.Core.Binary
- ORYHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData ORYHydra.Core.ByteArray
- ORYHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData ORYHydra.Core.Date
- ORYHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData ORYHydra.Core.DateTime
- ORYHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData ORYHydra.Core.Binary
- ORYHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData ORYHydra.Core.ByteArray
- ORYHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData ORYHydra.Core.Date
- ORYHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData ORYHydra.Core.DateTime
- ORYHydra.Core: newConfig :: IO ORYHydraConfig
- ORYHydra.Core: newtype Binary
- ORYHydra.Core: newtype ByteArray
- ORYHydra.Core: newtype Date
- ORYHydra.Core: newtype DateTime
- ORYHydra.Core: paramsBodyL :: Lens_' Params ParamBody
- ORYHydra.Core: paramsHeadersL :: Lens_' Params RequestHeaders
- ORYHydra.Core: paramsQueryL :: Lens_' Params Query
- ORYHydra.Core: rAuthTypesL :: Lens_' (ORYHydraRequest req contentType res accept) [TypeRep]
- ORYHydra.Core: rMethodL :: Lens_' (ORYHydraRequest req contentType res accept) Method
- ORYHydra.Core: rParamsL :: Lens_' (ORYHydraRequest req contentType res accept) Params
- ORYHydra.Core: rUrlPathL :: Lens_' (ORYHydraRequest req contentType res accept) [ByteString]
- ORYHydra.Core: removeHeader :: ORYHydraRequest req contentType res accept -> [HeaderName] -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: setBodyParam :: forall contentType res accept. (HasBodyParam req param, Consumes req contentType, MimeRender contentType param) => ORYHydraRequest req contentType res accept -> param -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: setHeader :: ORYHydraRequest req contentType res accept -> [Header] -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: setQuery :: ORYHydraRequest req contentType res accept -> [QueryItem] -> ORYHydraRequest req contentType res accept
- ORYHydra.Core: toForm :: ToHttpApiData v => (ByteString, v) -> Form
- ORYHydra.Core: toFormColl :: ToHttpApiData v => CollectionFormat -> (ByteString, [v]) -> Form
- ORYHydra.Core: toHeader :: ToHttpApiData a => (HeaderName, a) -> [Header]
- ORYHydra.Core: toHeaderColl :: ToHttpApiData a => CollectionFormat -> (HeaderName, [a]) -> [Header]
- ORYHydra.Core: toPartialEscapeQuery :: ByteString -> Query -> PartialEscapeQuery
- ORYHydra.Core: toPath :: ToHttpApiData a => a -> ByteString
- ORYHydra.Core: toQuery :: ToHttpApiData a => (ByteString, Maybe a) -> [QueryItem]
- ORYHydra.Core: toQueryColl :: ToHttpApiData a => CollectionFormat -> (ByteString, Maybe [a]) -> Query
- ORYHydra.Core: type Lens_ s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t
- ORYHydra.Core: type Lens_' s a = Lens_ s s a a
- ORYHydra.Core: withNoLogging :: ORYHydraConfig -> ORYHydraConfig
- ORYHydra.Core: withStderrLogging :: ORYHydraConfig -> IO ORYHydraConfig
- ORYHydra.Core: withStdoutLogging :: ORYHydraConfig -> IO ORYHydraConfig
- ORYHydra.Logging: _log :: (Applicative m, Katip m) => Text -> LogLevel -> Text -> m ()
- ORYHydra.Logging: initLogContext :: IO LogContext
- ORYHydra.Logging: levelDebug :: LogLevel
- ORYHydra.Logging: levelError :: LogLevel
- ORYHydra.Logging: levelInfo :: LogLevel
- ORYHydra.Logging: logExceptions :: (Katip m, MonadCatch m, Applicative m) => Text -> m a -> m a
- ORYHydra.Logging: runDefaultLogExecWithContext :: LogExecWithContext
- ORYHydra.Logging: runNullLogExec :: LogExecWithContext
- ORYHydra.Logging: stderrLoggingContext :: LogContext -> IO LogContext
- ORYHydra.Logging: stderrLoggingExec :: LogExecWithContext
- ORYHydra.Logging: stdoutLoggingContext :: LogContext -> IO LogContext
- ORYHydra.Logging: stdoutLoggingExec :: LogExecWithContext
- ORYHydra.Logging: type LogContext = LogEnv
- ORYHydra.Logging: type LogExec m a = KatipT m a -> m a
- ORYHydra.Logging: type LogLevel = Severity
- ORYHydra.MimeTypes: Accept :: a -> Accept a
- ORYHydra.MimeTypes: ContentType :: a -> ContentType a
- ORYHydra.MimeTypes: MimeAny :: MimeAny
- ORYHydra.MimeTypes: MimeFormUrlEncoded :: MimeFormUrlEncoded
- ORYHydra.MimeTypes: MimeJSON :: MimeJSON
- ORYHydra.MimeTypes: MimeMultipartFormData :: MimeMultipartFormData
- ORYHydra.MimeTypes: MimeNoContent :: MimeNoContent
- ORYHydra.MimeTypes: MimeOctetStream :: MimeOctetStream
- ORYHydra.MimeTypes: MimePlainText :: MimePlainText
- ORYHydra.MimeTypes: MimeXML :: MimeXML
- ORYHydra.MimeTypes: NoContent :: NoContent
- ORYHydra.MimeTypes: [unAccept] :: Accept a -> a
- ORYHydra.MimeTypes: [unContentType] :: ContentType a -> a
- ORYHydra.MimeTypes: class MimeType mtype => Consumes req mtype
- ORYHydra.MimeTypes: class MimeType mtype => MimeRender mtype x
- ORYHydra.MimeTypes: class Typeable mtype => MimeType mtype
- ORYHydra.MimeTypes: class MimeType mtype => MimeUnrender mtype o
- ORYHydra.MimeTypes: class MimeType mtype => Produces req mtype
- ORYHydra.MimeTypes: data Accept a
- ORYHydra.MimeTypes: data ContentType a
- ORYHydra.MimeTypes: data MimeAny
- ORYHydra.MimeTypes: data MimeFormUrlEncoded
- ORYHydra.MimeTypes: data MimeJSON
- ORYHydra.MimeTypes: data MimeMultipartFormData
- ORYHydra.MimeTypes: data MimeNoContent
- ORYHydra.MimeTypes: data MimeOctetStream
- ORYHydra.MimeTypes: data MimePlainText
- ORYHydra.MimeTypes: data MimeXML
- ORYHydra.MimeTypes: data NoContent
- ORYHydra.MimeTypes: instance Data.Aeson.Types.FromJSON.FromJSON a => ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimeJSON a
- ORYHydra.MimeTypes: instance Data.Aeson.Types.ToJSON.ToJSON a => ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeJSON a
- ORYHydra.MimeTypes: instance GHC.Classes.Eq ORYHydra.MimeTypes.NoContent
- ORYHydra.MimeTypes: instance GHC.Show.Show ORYHydra.MimeTypes.NoContent
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData Data.ByteString.Lazy.Internal.ByteString
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData Data.Text.Internal.Text
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData GHC.Base.String
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData GHC.Integer.Type.Integer
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData GHC.Types.Bool
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData GHC.Types.Char
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData GHC.Types.Double
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData GHC.Types.Float
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeMultipartFormData GHC.Types.Int
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeNoContent ORYHydra.MimeTypes.NoContent
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeOctetStream Data.ByteString.Lazy.Internal.ByteString
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeOctetStream Data.Text.Internal.Text
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeOctetStream GHC.Base.String
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimePlainText Data.ByteString.Lazy.Internal.ByteString
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimePlainText Data.Text.Internal.Text
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimePlainText GHC.Base.String
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimeAny
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimeFormUrlEncoded
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimeJSON
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimeMultipartFormData
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimeNoContent
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimeOctetStream
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimePlainText
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeType ORYHydra.MimeTypes.MimeXML
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimeNoContent ORYHydra.MimeTypes.NoContent
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimeOctetStream Data.ByteString.Lazy.Internal.ByteString
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimeOctetStream Data.Text.Internal.Text
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimeOctetStream GHC.Base.String
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimePlainText Data.ByteString.Lazy.Internal.ByteString
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimePlainText Data.Text.Internal.Text
- ORYHydra.MimeTypes: instance ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimePlainText GHC.Base.String
- ORYHydra.MimeTypes: instance Web.Internal.FormUrlEncoded.FromForm a => ORYHydra.MimeTypes.MimeUnrender ORYHydra.MimeTypes.MimeFormUrlEncoded a
- ORYHydra.MimeTypes: instance Web.Internal.FormUrlEncoded.ToForm a => ORYHydra.MimeTypes.MimeRender ORYHydra.MimeTypes.MimeFormUrlEncoded a
- ORYHydra.MimeTypes: mimeRender :: MimeRender mtype x => Proxy mtype -> x -> ByteString
- ORYHydra.MimeTypes: mimeRender' :: MimeRender mtype x => mtype -> x -> ByteString
- ORYHydra.MimeTypes: mimeRenderDefaultMultipartFormData :: ToHttpApiData a => a -> ByteString
- ORYHydra.MimeTypes: mimeType :: MimeType mtype => Proxy mtype -> Maybe MediaType
- ORYHydra.MimeTypes: mimeType' :: MimeType mtype => mtype -> Maybe MediaType
- ORYHydra.MimeTypes: mimeTypes :: MimeType mtype => Proxy mtype -> [MediaType]
- ORYHydra.MimeTypes: mimeTypes' :: MimeType mtype => mtype -> [MediaType]
- ORYHydra.MimeTypes: mimeUnrender :: MimeUnrender mtype o => Proxy mtype -> ByteString -> Either String o
- ORYHydra.MimeTypes: mimeUnrender' :: MimeUnrender mtype o => mtype -> ByteString -> Either String o
- ORYHydra.Model: AcceptConsentRequest :: Maybe [Text] -> Maybe [Text] -> Maybe DateTime -> Maybe Bool -> Maybe Integer -> Maybe ConsentRequestSession -> AcceptConsentRequest
- ORYHydra.Model: AcceptLoginRequest :: Maybe Text -> Maybe Value -> Maybe Text -> Maybe Bool -> Maybe Integer -> Text -> AcceptLoginRequest
- ORYHydra.Model: All :: Bool -> All
- ORYHydra.Model: AuthBasicBasic :: ByteString -> ByteString -> AuthBasicBasic
- ORYHydra.Model: AuthOAuthOauth2 :: Text -> AuthOAuthOauth2
- ORYHydra.Model: Client :: Text -> Client
- ORYHydra.Model: ClientId :: Text -> ClientId
- ORYHydra.Model: Code :: Text -> Code
- ORYHydra.Model: CompletedRequest :: Text -> CompletedRequest
- ORYHydra.Model: ConsentChallenge :: Text -> ConsentChallenge
- ORYHydra.Model: ConsentRequest :: Maybe Text -> Text -> Maybe OAuth2Client -> Maybe Value -> Maybe Text -> Maybe Text -> Maybe OpenIDConnectContext -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe Bool -> Maybe Text -> ConsentRequest
- ORYHydra.Model: ConsentRequestSession :: Maybe Value -> Maybe Value -> ConsentRequestSession
- ORYHydra.Model: ContainerWaitOKBodyError :: Maybe Text -> ContainerWaitOKBodyError
- ORYHydra.Model: FlushInactiveOAuth2TokensRequest :: Maybe DateTime -> FlushInactiveOAuth2TokensRequest
- ORYHydra.Model: GenericError :: Maybe Text -> Text -> Maybe Text -> Maybe Integer -> GenericError
- ORYHydra.Model: GrantType :: Text -> GrantType
- ORYHydra.Model: HealthNotReadyStatus :: Maybe (Map String Text) -> HealthNotReadyStatus
- ORYHydra.Model: HealthStatus :: Maybe Text -> HealthStatus
- ORYHydra.Model: Id :: Text -> Id
- ORYHydra.Model: JSONWebKey :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Text -> Maybe Text -> Maybe [Text] -> Maybe Text -> JSONWebKey
- ORYHydra.Model: JSONWebKeySet :: Maybe [JSONWebKey] -> JSONWebKeySet
- ORYHydra.Model: JsonWebKeySetGeneratorRequest :: Text -> Text -> Text -> JsonWebKeySetGeneratorRequest
- ORYHydra.Model: Kid :: Text -> Kid
- ORYHydra.Model: Limit :: Integer -> Limit
- ORYHydra.Model: LoginChallenge :: Text -> LoginChallenge
- ORYHydra.Model: LoginRequest :: Text -> OAuth2Client -> Maybe OpenIDConnectContext -> Text -> [Text] -> [Text] -> Maybe Text -> Bool -> Text -> LoginRequest
- ORYHydra.Model: LogoutChallenge :: Text -> LogoutChallenge
- ORYHydra.Model: LogoutRequest :: Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> LogoutRequest
- ORYHydra.Model: OAuth2Client :: Maybe [Text] -> Maybe [Text] -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe [Text] -> Maybe DateTime -> Maybe Bool -> Maybe Text -> Maybe [Text] -> Maybe Value -> Maybe Text -> Maybe Text -> Maybe Value -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe DateTime -> Maybe Text -> OAuth2Client
- ORYHydra.Model: OAuth2TokenIntrospection :: Bool -> Maybe [Text] -> Maybe Text -> Maybe Integer -> Maybe Value -> Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> OAuth2TokenIntrospection
- ORYHydra.Model: Oauth2TokenResponse :: Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Oauth2TokenResponse
- ORYHydra.Model: Offset :: Integer -> Offset
- ORYHydra.Model: OpenIDConnectContext :: Maybe [Text] -> Maybe Text -> Maybe Value -> Maybe Text -> Maybe [Text] -> OpenIDConnectContext
- ORYHydra.Model: PluginConfig :: PluginConfigArgs -> Text -> Maybe Text -> Text -> [Text] -> [PluginEnv] -> PluginConfigInterface -> Bool -> PluginConfigLinux -> [PluginMount] -> PluginConfigNetwork -> Bool -> Text -> Maybe PluginConfigUser -> Text -> Maybe PluginConfigRootfs -> PluginConfig
- ORYHydra.Model: PluginConfigArgs :: Text -> Text -> [Text] -> [Text] -> PluginConfigArgs
- ORYHydra.Model: PluginConfigInterface :: Maybe Text -> Text -> [PluginInterfaceType] -> PluginConfigInterface
- ORYHydra.Model: PluginConfigLinux :: Bool -> [Text] -> [PluginDevice] -> PluginConfigLinux
- ORYHydra.Model: PluginConfigNetwork :: Text -> PluginConfigNetwork
- ORYHydra.Model: PluginConfigRootfs :: Maybe [Text] -> Maybe Text -> PluginConfigRootfs
- ORYHydra.Model: PluginConfigUser :: Maybe Int -> Maybe Int -> PluginConfigUser
- ORYHydra.Model: PluginDevice :: Text -> Text -> Text -> [Text] -> PluginDevice
- ORYHydra.Model: PluginEnv :: Text -> Text -> [Text] -> Text -> PluginEnv
- ORYHydra.Model: PluginInterfaceType :: Text -> Text -> Text -> PluginInterfaceType
- ORYHydra.Model: PluginMount :: Text -> Text -> Text -> [Text] -> [Text] -> Text -> Text -> PluginMount
- ORYHydra.Model: PluginSettings :: [Text] -> [PluginDevice] -> [Text] -> [PluginMount] -> PluginSettings
- ORYHydra.Model: PreviousConsentSession :: Maybe ConsentRequest -> Maybe [Text] -> Maybe [Text] -> Maybe DateTime -> Maybe Bool -> Maybe Integer -> Maybe ConsentRequestSession -> PreviousConsentSession
- ORYHydra.Model: RedirectUri :: Text -> RedirectUri
- ORYHydra.Model: RefreshToken :: Text -> RefreshToken
- ORYHydra.Model: RejectRequest :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> RejectRequest
- ORYHydra.Model: Scope :: Text -> Scope
- ORYHydra.Model: Set :: Text -> Set
- ORYHydra.Model: Subject :: Text -> Subject
- ORYHydra.Model: Token :: Text -> Token
- ORYHydra.Model: UserinfoResponse :: Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> UserinfoResponse
- ORYHydra.Model: Version :: Maybe Text -> Version
- ORYHydra.Model: Volume :: Maybe Text -> Text -> Map String Text -> Text -> Text -> Map String Text -> Text -> Maybe Value -> Maybe VolumeUsageData -> Volume
- ORYHydra.Model: VolumeUsageData :: Integer -> Integer -> VolumeUsageData
- ORYHydra.Model: WellKnown :: Text -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe [Text] -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe [Text] -> [Text] -> Text -> Text -> Maybe Text -> Maybe [Text] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe [Text] -> [Text] -> Maybe Text -> Maybe [Text] -> [Text] -> Text -> Maybe [Text] -> Maybe Text -> Maybe [Text] -> WellKnown
- ORYHydra.Model: [acceptConsentRequestGrantAccessTokenAudience] :: AcceptConsentRequest -> Maybe [Text]
- ORYHydra.Model: [acceptConsentRequestGrantScope] :: AcceptConsentRequest -> Maybe [Text]
- ORYHydra.Model: [acceptConsentRequestHandledAt] :: AcceptConsentRequest -> Maybe DateTime
- ORYHydra.Model: [acceptConsentRequestRememberFor] :: AcceptConsentRequest -> Maybe Integer
- ORYHydra.Model: [acceptConsentRequestRemember] :: AcceptConsentRequest -> Maybe Bool
- ORYHydra.Model: [acceptConsentRequestSession] :: AcceptConsentRequest -> Maybe ConsentRequestSession
- ORYHydra.Model: [acceptLoginRequestAcr] :: AcceptLoginRequest -> Maybe Text
- ORYHydra.Model: [acceptLoginRequestContext] :: AcceptLoginRequest -> Maybe Value
- ORYHydra.Model: [acceptLoginRequestForceSubjectIdentifier] :: AcceptLoginRequest -> Maybe Text
- ORYHydra.Model: [acceptLoginRequestRememberFor] :: AcceptLoginRequest -> Maybe Integer
- ORYHydra.Model: [acceptLoginRequestRemember] :: AcceptLoginRequest -> Maybe Bool
- ORYHydra.Model: [acceptLoginRequestSubject] :: AcceptLoginRequest -> Text
- ORYHydra.Model: [completedRequestRedirectTo] :: CompletedRequest -> Text
- ORYHydra.Model: [consentRequestAcr] :: ConsentRequest -> Maybe Text
- ORYHydra.Model: [consentRequestChallenge] :: ConsentRequest -> Text
- ORYHydra.Model: [consentRequestClient] :: ConsentRequest -> Maybe OAuth2Client
- ORYHydra.Model: [consentRequestContext] :: ConsentRequest -> Maybe Value
- ORYHydra.Model: [consentRequestLoginChallenge] :: ConsentRequest -> Maybe Text
- ORYHydra.Model: [consentRequestLoginSessionId] :: ConsentRequest -> Maybe Text
- ORYHydra.Model: [consentRequestOidcContext] :: ConsentRequest -> Maybe OpenIDConnectContext
- ORYHydra.Model: [consentRequestRequestUrl] :: ConsentRequest -> Maybe Text
- ORYHydra.Model: [consentRequestRequestedAccessTokenAudience] :: ConsentRequest -> Maybe [Text]
- ORYHydra.Model: [consentRequestRequestedScope] :: ConsentRequest -> Maybe [Text]
- ORYHydra.Model: [consentRequestSessionAccessToken] :: ConsentRequestSession -> Maybe Value
- ORYHydra.Model: [consentRequestSessionIdToken] :: ConsentRequestSession -> Maybe Value
- ORYHydra.Model: [consentRequestSkip] :: ConsentRequest -> Maybe Bool
- ORYHydra.Model: [consentRequestSubject] :: ConsentRequest -> Maybe Text
- ORYHydra.Model: [containerWaitOKBodyErrorMessage] :: ContainerWaitOKBodyError -> Maybe Text
- ORYHydra.Model: [flushInactiveOAuth2TokensRequestNotAfter] :: FlushInactiveOAuth2TokensRequest -> Maybe DateTime
- ORYHydra.Model: [genericErrorDebug] :: GenericError -> Maybe Text
- ORYHydra.Model: [genericErrorErrorDescription] :: GenericError -> Maybe Text
- ORYHydra.Model: [genericErrorError] :: GenericError -> Text
- ORYHydra.Model: [genericErrorStatusCode] :: GenericError -> Maybe Integer
- ORYHydra.Model: [healthNotReadyStatusErrors] :: HealthNotReadyStatus -> Maybe (Map String Text)
- ORYHydra.Model: [healthStatusStatus] :: HealthStatus -> Maybe Text
- ORYHydra.Model: [jSONWebKeyAlg] :: JSONWebKey -> Text
- ORYHydra.Model: [jSONWebKeyCrv] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyD] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyDp] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyDq] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyE] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyK] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyKid] :: JSONWebKey -> Text
- ORYHydra.Model: [jSONWebKeyKty] :: JSONWebKey -> Text
- ORYHydra.Model: [jSONWebKeyN] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyP] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyQ] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyQi] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeySetKeys] :: JSONWebKeySet -> Maybe [JSONWebKey]
- ORYHydra.Model: [jSONWebKeyUse] :: JSONWebKey -> Text
- ORYHydra.Model: [jSONWebKeyX5c] :: JSONWebKey -> Maybe [Text]
- ORYHydra.Model: [jSONWebKeyX] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jSONWebKeyY] :: JSONWebKey -> Maybe Text
- ORYHydra.Model: [jsonWebKeySetGeneratorRequestAlg] :: JsonWebKeySetGeneratorRequest -> Text
- ORYHydra.Model: [jsonWebKeySetGeneratorRequestKid] :: JsonWebKeySetGeneratorRequest -> Text
- ORYHydra.Model: [jsonWebKeySetGeneratorRequestUse] :: JsonWebKeySetGeneratorRequest -> Text
- ORYHydra.Model: [loginRequestChallenge] :: LoginRequest -> Text
- ORYHydra.Model: [loginRequestClient] :: LoginRequest -> OAuth2Client
- ORYHydra.Model: [loginRequestOidcContext] :: LoginRequest -> Maybe OpenIDConnectContext
- ORYHydra.Model: [loginRequestRequestUrl] :: LoginRequest -> Text
- ORYHydra.Model: [loginRequestRequestedAccessTokenAudience] :: LoginRequest -> [Text]
- ORYHydra.Model: [loginRequestRequestedScope] :: LoginRequest -> [Text]
- ORYHydra.Model: [loginRequestSessionId] :: LoginRequest -> Maybe Text
- ORYHydra.Model: [loginRequestSkip] :: LoginRequest -> Bool
- ORYHydra.Model: [loginRequestSubject] :: LoginRequest -> Text
- ORYHydra.Model: [logoutRequestRequestUrl] :: LogoutRequest -> Maybe Text
- ORYHydra.Model: [logoutRequestRpInitiated] :: LogoutRequest -> Maybe Bool
- ORYHydra.Model: [logoutRequestSid] :: LogoutRequest -> Maybe Text
- ORYHydra.Model: [logoutRequestSubject] :: LogoutRequest -> Maybe Text
- ORYHydra.Model: [oAuth2ClientAllowedCorsOrigins] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientAudience] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientBackchannelLogoutSessionRequired] :: OAuth2Client -> Maybe Bool
- ORYHydra.Model: [oAuth2ClientBackchannelLogoutUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientClientId] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientClientName] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientClientSecretExpiresAt] :: OAuth2Client -> Maybe Integer
- ORYHydra.Model: [oAuth2ClientClientSecret] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientClientUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientContacts] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientCreatedAt] :: OAuth2Client -> Maybe DateTime
- ORYHydra.Model: [oAuth2ClientFrontchannelLogoutSessionRequired] :: OAuth2Client -> Maybe Bool
- ORYHydra.Model: [oAuth2ClientFrontchannelLogoutUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientGrantTypes] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientJwksUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientJwks] :: OAuth2Client -> Maybe Value
- ORYHydra.Model: [oAuth2ClientLogoUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientMetadata] :: OAuth2Client -> Maybe Value
- ORYHydra.Model: [oAuth2ClientOwner] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientPolicyUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientPostLogoutRedirectUris] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientRedirectUris] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientRequestObjectSigningAlg] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientRequestUris] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientResponseTypes] :: OAuth2Client -> Maybe [Text]
- ORYHydra.Model: [oAuth2ClientScope] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientSectorIdentifierUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientSubjectType] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientTokenEndpointAuthMethod] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientTokenEndpointAuthSigningAlg] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientTosUri] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2ClientUpdatedAt] :: OAuth2Client -> Maybe DateTime
- ORYHydra.Model: [oAuth2ClientUserinfoSignedResponseAlg] :: OAuth2Client -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionActive] :: OAuth2TokenIntrospection -> Bool
- ORYHydra.Model: [oAuth2TokenIntrospectionAud] :: OAuth2TokenIntrospection -> Maybe [Text]
- ORYHydra.Model: [oAuth2TokenIntrospectionClientId] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionExp] :: OAuth2TokenIntrospection -> Maybe Integer
- ORYHydra.Model: [oAuth2TokenIntrospectionExt] :: OAuth2TokenIntrospection -> Maybe Value
- ORYHydra.Model: [oAuth2TokenIntrospectionIat] :: OAuth2TokenIntrospection -> Maybe Integer
- ORYHydra.Model: [oAuth2TokenIntrospectionIss] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionNbf] :: OAuth2TokenIntrospection -> Maybe Integer
- ORYHydra.Model: [oAuth2TokenIntrospectionObfuscatedSubject] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionScope] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionSub] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionTokenType] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionTokenUse] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oAuth2TokenIntrospectionUsername] :: OAuth2TokenIntrospection -> Maybe Text
- ORYHydra.Model: [oauth2TokenResponseAccessToken] :: Oauth2TokenResponse -> Maybe Text
- ORYHydra.Model: [oauth2TokenResponseExpiresIn] :: Oauth2TokenResponse -> Maybe Integer
- ORYHydra.Model: [oauth2TokenResponseIdToken] :: Oauth2TokenResponse -> Maybe Text
- ORYHydra.Model: [oauth2TokenResponseRefreshToken] :: Oauth2TokenResponse -> Maybe Text
- ORYHydra.Model: [oauth2TokenResponseScope] :: Oauth2TokenResponse -> Maybe Text
- ORYHydra.Model: [oauth2TokenResponseTokenType] :: Oauth2TokenResponse -> Maybe Text
- ORYHydra.Model: [openIDConnectContextAcrValues] :: OpenIDConnectContext -> Maybe [Text]
- ORYHydra.Model: [openIDConnectContextDisplay] :: OpenIDConnectContext -> Maybe Text
- ORYHydra.Model: [openIDConnectContextIdTokenHintClaims] :: OpenIDConnectContext -> Maybe Value
- ORYHydra.Model: [openIDConnectContextLoginHint] :: OpenIDConnectContext -> Maybe Text
- ORYHydra.Model: [openIDConnectContextUiLocales] :: OpenIDConnectContext -> Maybe [Text]
- ORYHydra.Model: [pluginConfigArgsDescription] :: PluginConfigArgs -> Text
- ORYHydra.Model: [pluginConfigArgsName] :: PluginConfigArgs -> Text
- ORYHydra.Model: [pluginConfigArgsSettable] :: PluginConfigArgs -> [Text]
- ORYHydra.Model: [pluginConfigArgsValue] :: PluginConfigArgs -> [Text]
- ORYHydra.Model: [pluginConfigArgs] :: PluginConfig -> PluginConfigArgs
- ORYHydra.Model: [pluginConfigDescription] :: PluginConfig -> Text
- ORYHydra.Model: [pluginConfigDockerVersion] :: PluginConfig -> Maybe Text
- ORYHydra.Model: [pluginConfigDocumentation] :: PluginConfig -> Text
- ORYHydra.Model: [pluginConfigEntrypoint] :: PluginConfig -> [Text]
- ORYHydra.Model: [pluginConfigEnv] :: PluginConfig -> [PluginEnv]
- ORYHydra.Model: [pluginConfigInterfaceProtocolScheme] :: PluginConfigInterface -> Maybe Text
- ORYHydra.Model: [pluginConfigInterfaceSocket] :: PluginConfigInterface -> Text
- ORYHydra.Model: [pluginConfigInterfaceTypes] :: PluginConfigInterface -> [PluginInterfaceType]
- ORYHydra.Model: [pluginConfigInterface] :: PluginConfig -> PluginConfigInterface
- ORYHydra.Model: [pluginConfigIpcHost] :: PluginConfig -> Bool
- ORYHydra.Model: [pluginConfigLinuxAllowAllDevices] :: PluginConfigLinux -> Bool
- ORYHydra.Model: [pluginConfigLinuxCapabilities] :: PluginConfigLinux -> [Text]
- ORYHydra.Model: [pluginConfigLinuxDevices] :: PluginConfigLinux -> [PluginDevice]
- ORYHydra.Model: [pluginConfigLinux] :: PluginConfig -> PluginConfigLinux
- ORYHydra.Model: [pluginConfigMounts] :: PluginConfig -> [PluginMount]
- ORYHydra.Model: [pluginConfigNetworkType] :: PluginConfigNetwork -> Text
- ORYHydra.Model: [pluginConfigNetwork] :: PluginConfig -> PluginConfigNetwork
- ORYHydra.Model: [pluginConfigPidHost] :: PluginConfig -> Bool
- ORYHydra.Model: [pluginConfigPropagatedMount] :: PluginConfig -> Text
- ORYHydra.Model: [pluginConfigRootfsDiffIds] :: PluginConfigRootfs -> Maybe [Text]
- ORYHydra.Model: [pluginConfigRootfsType] :: PluginConfigRootfs -> Maybe Text
- ORYHydra.Model: [pluginConfigRootfs] :: PluginConfig -> Maybe PluginConfigRootfs
- ORYHydra.Model: [pluginConfigUserGid] :: PluginConfigUser -> Maybe Int
- ORYHydra.Model: [pluginConfigUserUid] :: PluginConfigUser -> Maybe Int
- ORYHydra.Model: [pluginConfigUser] :: PluginConfig -> Maybe PluginConfigUser
- ORYHydra.Model: [pluginConfigWorkDir] :: PluginConfig -> Text
- ORYHydra.Model: [pluginDeviceDescription] :: PluginDevice -> Text
- ORYHydra.Model: [pluginDeviceName] :: PluginDevice -> Text
- ORYHydra.Model: [pluginDevicePath] :: PluginDevice -> Text
- ORYHydra.Model: [pluginDeviceSettable] :: PluginDevice -> [Text]
- ORYHydra.Model: [pluginEnvDescription] :: PluginEnv -> Text
- ORYHydra.Model: [pluginEnvName] :: PluginEnv -> Text
- ORYHydra.Model: [pluginEnvSettable] :: PluginEnv -> [Text]
- ORYHydra.Model: [pluginEnvValue] :: PluginEnv -> Text
- ORYHydra.Model: [pluginInterfaceTypeCapability] :: PluginInterfaceType -> Text
- ORYHydra.Model: [pluginInterfaceTypePrefix] :: PluginInterfaceType -> Text
- ORYHydra.Model: [pluginInterfaceTypeVersion] :: PluginInterfaceType -> Text
- ORYHydra.Model: [pluginMountDescription] :: PluginMount -> Text
- ORYHydra.Model: [pluginMountDestination] :: PluginMount -> Text
- ORYHydra.Model: [pluginMountName] :: PluginMount -> Text
- ORYHydra.Model: [pluginMountOptions] :: PluginMount -> [Text]
- ORYHydra.Model: [pluginMountSettable] :: PluginMount -> [Text]
- ORYHydra.Model: [pluginMountSource] :: PluginMount -> Text
- ORYHydra.Model: [pluginMountType] :: PluginMount -> Text
- ORYHydra.Model: [pluginSettingsArgs] :: PluginSettings -> [Text]
- ORYHydra.Model: [pluginSettingsDevices] :: PluginSettings -> [PluginDevice]
- ORYHydra.Model: [pluginSettingsEnv] :: PluginSettings -> [Text]
- ORYHydra.Model: [pluginSettingsMounts] :: PluginSettings -> [PluginMount]
- ORYHydra.Model: [previousConsentSessionConsentRequest] :: PreviousConsentSession -> Maybe ConsentRequest
- ORYHydra.Model: [previousConsentSessionGrantAccessTokenAudience] :: PreviousConsentSession -> Maybe [Text]
- ORYHydra.Model: [previousConsentSessionGrantScope] :: PreviousConsentSession -> Maybe [Text]
- ORYHydra.Model: [previousConsentSessionHandledAt] :: PreviousConsentSession -> Maybe DateTime
- ORYHydra.Model: [previousConsentSessionRememberFor] :: PreviousConsentSession -> Maybe Integer
- ORYHydra.Model: [previousConsentSessionRemember] :: PreviousConsentSession -> Maybe Bool
- ORYHydra.Model: [previousConsentSessionSession] :: PreviousConsentSession -> Maybe ConsentRequestSession
- ORYHydra.Model: [rejectRequestErrorDebug] :: RejectRequest -> Maybe Text
- ORYHydra.Model: [rejectRequestErrorDescription] :: RejectRequest -> Maybe Text
- ORYHydra.Model: [rejectRequestErrorHint] :: RejectRequest -> Maybe Text
- ORYHydra.Model: [rejectRequestError] :: RejectRequest -> Maybe Text
- ORYHydra.Model: [rejectRequestStatusCode] :: RejectRequest -> Maybe Integer
- ORYHydra.Model: [unAll] :: All -> Bool
- ORYHydra.Model: [unClientId] :: ClientId -> Text
- ORYHydra.Model: [unClient] :: Client -> Text
- ORYHydra.Model: [unCode] :: Code -> Text
- ORYHydra.Model: [unConsentChallenge] :: ConsentChallenge -> Text
- ORYHydra.Model: [unGrantType] :: GrantType -> Text
- ORYHydra.Model: [unId] :: Id -> Text
- ORYHydra.Model: [unKid] :: Kid -> Text
- ORYHydra.Model: [unLimit] :: Limit -> Integer
- ORYHydra.Model: [unLoginChallenge] :: LoginChallenge -> Text
- ORYHydra.Model: [unLogoutChallenge] :: LogoutChallenge -> Text
- ORYHydra.Model: [unOffset] :: Offset -> Integer
- ORYHydra.Model: [unRedirectUri] :: RedirectUri -> Text
- ORYHydra.Model: [unRefreshToken] :: RefreshToken -> Text
- ORYHydra.Model: [unScope] :: Scope -> Text
- ORYHydra.Model: [unSet] :: Set -> Text
- ORYHydra.Model: [unSubject] :: Subject -> Text
- ORYHydra.Model: [unToken] :: Token -> Text
- ORYHydra.Model: [userinfoResponseBirthdate] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseEmailVerified] :: UserinfoResponse -> Maybe Bool
- ORYHydra.Model: [userinfoResponseEmail] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseFamilyName] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseGender] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseGivenName] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseLocale] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseMiddleName] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseName] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseNickname] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponsePhoneNumberVerified] :: UserinfoResponse -> Maybe Bool
- ORYHydra.Model: [userinfoResponsePhoneNumber] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponsePicture] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponsePreferredUsername] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseProfile] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseSub] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseUpdatedAt] :: UserinfoResponse -> Maybe Integer
- ORYHydra.Model: [userinfoResponseWebsite] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [userinfoResponseZoneinfo] :: UserinfoResponse -> Maybe Text
- ORYHydra.Model: [versionVersion] :: Version -> Maybe Text
- ORYHydra.Model: [volumeCreatedAt] :: Volume -> Maybe Text
- ORYHydra.Model: [volumeDriver] :: Volume -> Text
- ORYHydra.Model: [volumeLabels] :: Volume -> Map String Text
- ORYHydra.Model: [volumeMountpoint] :: Volume -> Text
- ORYHydra.Model: [volumeName] :: Volume -> Text
- ORYHydra.Model: [volumeOptions] :: Volume -> Map String Text
- ORYHydra.Model: [volumeScope] :: Volume -> Text
- ORYHydra.Model: [volumeStatus] :: Volume -> Maybe Value
- ORYHydra.Model: [volumeUsageDataRefCount] :: VolumeUsageData -> Integer
- ORYHydra.Model: [volumeUsageDataSize] :: VolumeUsageData -> Integer
- ORYHydra.Model: [volumeUsageData] :: Volume -> Maybe VolumeUsageData
- ORYHydra.Model: [wellKnownAuthorizationEndpoint] :: WellKnown -> Text
- ORYHydra.Model: [wellKnownBackchannelLogoutSessionSupported] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownBackchannelLogoutSupported] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownClaimsParameterSupported] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownClaimsSupported] :: WellKnown -> Maybe [Text]
- ORYHydra.Model: [wellKnownEndSessionEndpoint] :: WellKnown -> Maybe Text
- ORYHydra.Model: [wellKnownFrontchannelLogoutSessionSupported] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownFrontchannelLogoutSupported] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownGrantTypesSupported] :: WellKnown -> Maybe [Text]
- ORYHydra.Model: [wellKnownIdTokenSigningAlgValuesSupported] :: WellKnown -> [Text]
- ORYHydra.Model: [wellKnownIssuer] :: WellKnown -> Text
- ORYHydra.Model: [wellKnownJwksUri] :: WellKnown -> Text
- ORYHydra.Model: [wellKnownRegistrationEndpoint] :: WellKnown -> Maybe Text
- ORYHydra.Model: [wellKnownRequestObjectSigningAlgValuesSupported] :: WellKnown -> Maybe [Text]
- ORYHydra.Model: [wellKnownRequestParameterSupported] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownRequestUriParameterSupported] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownRequireRequestUriRegistration] :: WellKnown -> Maybe Bool
- ORYHydra.Model: [wellKnownResponseModesSupported] :: WellKnown -> Maybe [Text]
- ORYHydra.Model: [wellKnownResponseTypesSupported] :: WellKnown -> [Text]
- ORYHydra.Model: [wellKnownRevocationEndpoint] :: WellKnown -> Maybe Text
- ORYHydra.Model: [wellKnownScopesSupported] :: WellKnown -> Maybe [Text]
- ORYHydra.Model: [wellKnownSubjectTypesSupported] :: WellKnown -> [Text]
- ORYHydra.Model: [wellKnownTokenEndpointAuthMethodsSupported] :: WellKnown -> Maybe [Text]
- ORYHydra.Model: [wellKnownTokenEndpoint] :: WellKnown -> Text
- ORYHydra.Model: [wellKnownUserinfoEndpoint] :: WellKnown -> Maybe Text
- ORYHydra.Model: [wellKnownUserinfoSigningAlgValuesSupported] :: WellKnown -> Maybe [Text]
- ORYHydra.Model: data AcceptConsentRequest
- ORYHydra.Model: data AcceptLoginRequest
- ORYHydra.Model: data AuthBasicBasic
- ORYHydra.Model: data AuthOAuthOauth2
- ORYHydra.Model: data CompletedRequest
- ORYHydra.Model: data ConsentRequest
- ORYHydra.Model: data ConsentRequestSession
- ORYHydra.Model: data ContainerWaitOKBodyError
- ORYHydra.Model: data FlushInactiveOAuth2TokensRequest
- ORYHydra.Model: data GenericError
- ORYHydra.Model: data HealthNotReadyStatus
- ORYHydra.Model: data HealthStatus
- ORYHydra.Model: data JSONWebKey
- ORYHydra.Model: data JSONWebKeySet
- ORYHydra.Model: data JsonWebKeySetGeneratorRequest
- ORYHydra.Model: data LoginRequest
- ORYHydra.Model: data LogoutRequest
- ORYHydra.Model: data OAuth2Client
- ORYHydra.Model: data OAuth2TokenIntrospection
- ORYHydra.Model: data Oauth2TokenResponse
- ORYHydra.Model: data OpenIDConnectContext
- ORYHydra.Model: data PluginConfig
- ORYHydra.Model: data PluginConfigArgs
- ORYHydra.Model: data PluginConfigInterface
- ORYHydra.Model: data PluginConfigLinux
- ORYHydra.Model: data PluginConfigNetwork
- ORYHydra.Model: data PluginConfigRootfs
- ORYHydra.Model: data PluginConfigUser
- ORYHydra.Model: data PluginDevice
- ORYHydra.Model: data PluginEnv
- ORYHydra.Model: data PluginInterfaceType
- ORYHydra.Model: data PluginMount
- ORYHydra.Model: data PluginSettings
- ORYHydra.Model: data PreviousConsentSession
- ORYHydra.Model: data RejectRequest
- ORYHydra.Model: data UserinfoResponse
- ORYHydra.Model: data Version
- ORYHydra.Model: data Volume
- ORYHydra.Model: data VolumeUsageData
- ORYHydra.Model: data WellKnown
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.AcceptConsentRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.AcceptLoginRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.CompletedRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.ConsentRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.ConsentRequestSession
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.ContainerWaitOKBodyError
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.FlushInactiveOAuth2TokensRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.GenericError
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.HealthNotReadyStatus
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.HealthStatus
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.JSONWebKey
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.JSONWebKeySet
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.JsonWebKeySetGeneratorRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.LoginRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.LogoutRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.OAuth2Client
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.OAuth2TokenIntrospection
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.Oauth2TokenResponse
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.OpenIDConnectContext
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginConfig
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginConfigArgs
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginConfigInterface
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginConfigLinux
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginConfigNetwork
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginConfigRootfs
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginConfigUser
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginDevice
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginEnv
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginInterfaceType
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginMount
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PluginSettings
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.PreviousConsentSession
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.RejectRequest
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.UserinfoResponse
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.Version
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.Volume
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.VolumeUsageData
- ORYHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON ORYHydra.Model.WellKnown
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.AcceptConsentRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.AcceptLoginRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.CompletedRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.ConsentRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.ConsentRequestSession
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.ContainerWaitOKBodyError
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.FlushInactiveOAuth2TokensRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.GenericError
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.HealthNotReadyStatus
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.HealthStatus
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.JSONWebKey
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.JSONWebKeySet
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.JsonWebKeySetGeneratorRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.LoginRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.LogoutRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.OAuth2Client
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.OAuth2TokenIntrospection
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.Oauth2TokenResponse
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.OpenIDConnectContext
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginConfig
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginConfigArgs
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginConfigInterface
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginConfigLinux
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginConfigNetwork
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginConfigRootfs
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginConfigUser
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginDevice
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginEnv
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginInterfaceType
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginMount
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PluginSettings
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.PreviousConsentSession
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.RejectRequest
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.UserinfoResponse
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.Version
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.Volume
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.VolumeUsageData
- ORYHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON ORYHydra.Model.WellKnown
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.AcceptConsentRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.AcceptLoginRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.All
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.AuthBasicBasic
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.AuthOAuthOauth2
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Client
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.ClientId
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Code
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.CompletedRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.ConsentChallenge
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.ConsentRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.ConsentRequestSession
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.ContainerWaitOKBodyError
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.FlushInactiveOAuth2TokensRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.GenericError
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.GrantType
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.HealthNotReadyStatus
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.HealthStatus
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Id
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.JSONWebKey
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.JSONWebKeySet
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.JsonWebKeySetGeneratorRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Kid
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Limit
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.LoginChallenge
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.LoginRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.LogoutChallenge
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.LogoutRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.OAuth2Client
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.OAuth2TokenIntrospection
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Oauth2TokenResponse
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Offset
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.OpenIDConnectContext
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginConfig
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginConfigArgs
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginConfigInterface
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginConfigLinux
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginConfigNetwork
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginConfigRootfs
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginConfigUser
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginDevice
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginEnv
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginInterfaceType
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginMount
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PluginSettings
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.PreviousConsentSession
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.RedirectUri
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.RefreshToken
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.RejectRequest
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Scope
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Set
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Subject
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Token
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.UserinfoResponse
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Version
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.Volume
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.VolumeUsageData
- ORYHydra.Model: instance GHC.Classes.Eq ORYHydra.Model.WellKnown
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.AcceptConsentRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.AcceptLoginRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.All
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.AuthBasicBasic
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.AuthOAuthOauth2
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Client
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.ClientId
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Code
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.CompletedRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.ConsentChallenge
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.ConsentRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.ConsentRequestSession
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.ContainerWaitOKBodyError
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.FlushInactiveOAuth2TokensRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.GenericError
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.GrantType
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.HealthNotReadyStatus
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.HealthStatus
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Id
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.JSONWebKey
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.JSONWebKeySet
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.JsonWebKeySetGeneratorRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Kid
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Limit
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.LoginChallenge
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.LoginRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.LogoutChallenge
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.LogoutRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.OAuth2Client
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.OAuth2TokenIntrospection
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Oauth2TokenResponse
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Offset
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.OpenIDConnectContext
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginConfig
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginConfigArgs
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginConfigInterface
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginConfigLinux
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginConfigNetwork
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginConfigRootfs
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginConfigUser
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginDevice
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginEnv
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginInterfaceType
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginMount
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PluginSettings
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.PreviousConsentSession
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.RedirectUri
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.RefreshToken
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.RejectRequest
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Scope
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Set
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Subject
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Token
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.UserinfoResponse
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Version
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.Volume
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.VolumeUsageData
- ORYHydra.Model: instance GHC.Show.Show ORYHydra.Model.WellKnown
- ORYHydra.Model: instance ORYHydra.Core.AuthMethod ORYHydra.Model.AuthBasicBasic
- ORYHydra.Model: instance ORYHydra.Core.AuthMethod ORYHydra.Model.AuthOAuthOauth2
- ORYHydra.Model: instance Web.Internal.FormUrlEncoded.FromForm ORYHydra.Model.RejectRequest
- ORYHydra.Model: instance Web.Internal.FormUrlEncoded.ToForm ORYHydra.Model.RejectRequest
- ORYHydra.Model: mkAcceptConsentRequest :: AcceptConsentRequest
- ORYHydra.Model: mkAcceptLoginRequest :: Text -> AcceptLoginRequest
- ORYHydra.Model: mkCompletedRequest :: Text -> CompletedRequest
- ORYHydra.Model: mkConsentRequest :: Text -> ConsentRequest
- ORYHydra.Model: mkConsentRequestSession :: ConsentRequestSession
- ORYHydra.Model: mkContainerWaitOKBodyError :: ContainerWaitOKBodyError
- ORYHydra.Model: mkFlushInactiveOAuth2TokensRequest :: FlushInactiveOAuth2TokensRequest
- ORYHydra.Model: mkGenericError :: Text -> GenericError
- ORYHydra.Model: mkHealthNotReadyStatus :: HealthNotReadyStatus
- ORYHydra.Model: mkHealthStatus :: HealthStatus
- ORYHydra.Model: mkJSONWebKey :: Text -> Text -> Text -> Text -> JSONWebKey
- ORYHydra.Model: mkJSONWebKeySet :: JSONWebKeySet
- ORYHydra.Model: mkJsonWebKeySetGeneratorRequest :: Text -> Text -> Text -> JsonWebKeySetGeneratorRequest
- ORYHydra.Model: mkLoginRequest :: Text -> OAuth2Client -> Text -> [Text] -> [Text] -> Bool -> Text -> LoginRequest
- ORYHydra.Model: mkLogoutRequest :: LogoutRequest
- ORYHydra.Model: mkOAuth2Client :: OAuth2Client
- ORYHydra.Model: mkOAuth2TokenIntrospection :: Bool -> OAuth2TokenIntrospection
- ORYHydra.Model: mkOauth2TokenResponse :: Oauth2TokenResponse
- ORYHydra.Model: mkOpenIDConnectContext :: OpenIDConnectContext
- ORYHydra.Model: mkPluginConfig :: PluginConfigArgs -> Text -> Text -> [Text] -> [PluginEnv] -> PluginConfigInterface -> Bool -> PluginConfigLinux -> [PluginMount] -> PluginConfigNetwork -> Bool -> Text -> Text -> PluginConfig
- ORYHydra.Model: mkPluginConfigArgs :: Text -> Text -> [Text] -> [Text] -> PluginConfigArgs
- ORYHydra.Model: mkPluginConfigInterface :: Text -> [PluginInterfaceType] -> PluginConfigInterface
- ORYHydra.Model: mkPluginConfigLinux :: Bool -> [Text] -> [PluginDevice] -> PluginConfigLinux
- ORYHydra.Model: mkPluginConfigNetwork :: Text -> PluginConfigNetwork
- ORYHydra.Model: mkPluginConfigRootfs :: PluginConfigRootfs
- ORYHydra.Model: mkPluginConfigUser :: PluginConfigUser
- ORYHydra.Model: mkPluginDevice :: Text -> Text -> Text -> [Text] -> PluginDevice
- ORYHydra.Model: mkPluginEnv :: Text -> Text -> [Text] -> Text -> PluginEnv
- ORYHydra.Model: mkPluginInterfaceType :: Text -> Text -> Text -> PluginInterfaceType
- ORYHydra.Model: mkPluginMount :: Text -> Text -> Text -> [Text] -> [Text] -> Text -> Text -> PluginMount
- ORYHydra.Model: mkPluginSettings :: [Text] -> [PluginDevice] -> [Text] -> [PluginMount] -> PluginSettings
- ORYHydra.Model: mkPreviousConsentSession :: PreviousConsentSession
- ORYHydra.Model: mkRejectRequest :: RejectRequest
- ORYHydra.Model: mkUserinfoResponse :: UserinfoResponse
- ORYHydra.Model: mkVersion :: Version
- ORYHydra.Model: mkVolume :: Text -> Map String Text -> Text -> Text -> Map String Text -> Text -> Volume
- ORYHydra.Model: mkVolumeUsageData :: Integer -> Integer -> VolumeUsageData
- ORYHydra.Model: mkWellKnown :: Text -> [Text] -> Text -> Text -> [Text] -> [Text] -> Text -> WellKnown
- ORYHydra.Model: newtype All
- ORYHydra.Model: newtype Client
- ORYHydra.Model: newtype ClientId
- ORYHydra.Model: newtype Code
- ORYHydra.Model: newtype ConsentChallenge
- ORYHydra.Model: newtype GrantType
- ORYHydra.Model: newtype Id
- ORYHydra.Model: newtype Kid
- ORYHydra.Model: newtype Limit
- ORYHydra.Model: newtype LoginChallenge
- ORYHydra.Model: newtype LogoutChallenge
- ORYHydra.Model: newtype Offset
- ORYHydra.Model: newtype RedirectUri
- ORYHydra.Model: newtype RefreshToken
- ORYHydra.Model: newtype Scope
- ORYHydra.Model: newtype Set
- ORYHydra.Model: newtype Subject
- ORYHydra.Model: newtype Token
- ORYHydra.ModelLens: acceptConsentRequestGrantAccessTokenAudienceL :: Lens_' AcceptConsentRequest (Maybe [Text])
- ORYHydra.ModelLens: acceptConsentRequestGrantScopeL :: Lens_' AcceptConsentRequest (Maybe [Text])
- ORYHydra.ModelLens: acceptConsentRequestHandledAtL :: Lens_' AcceptConsentRequest (Maybe DateTime)
- ORYHydra.ModelLens: acceptConsentRequestRememberForL :: Lens_' AcceptConsentRequest (Maybe Integer)
- ORYHydra.ModelLens: acceptConsentRequestRememberL :: Lens_' AcceptConsentRequest (Maybe Bool)
- ORYHydra.ModelLens: acceptConsentRequestSessionL :: Lens_' AcceptConsentRequest (Maybe ConsentRequestSession)
- ORYHydra.ModelLens: acceptLoginRequestAcrL :: Lens_' AcceptLoginRequest (Maybe Text)
- ORYHydra.ModelLens: acceptLoginRequestContextL :: Lens_' AcceptLoginRequest (Maybe Value)
- ORYHydra.ModelLens: acceptLoginRequestForceSubjectIdentifierL :: Lens_' AcceptLoginRequest (Maybe Text)
- ORYHydra.ModelLens: acceptLoginRequestRememberForL :: Lens_' AcceptLoginRequest (Maybe Integer)
- ORYHydra.ModelLens: acceptLoginRequestRememberL :: Lens_' AcceptLoginRequest (Maybe Bool)
- ORYHydra.ModelLens: acceptLoginRequestSubjectL :: Lens_' AcceptLoginRequest Text
- ORYHydra.ModelLens: completedRequestRedirectToL :: Lens_' CompletedRequest Text
- ORYHydra.ModelLens: consentRequestAcrL :: Lens_' ConsentRequest (Maybe Text)
- ORYHydra.ModelLens: consentRequestChallengeL :: Lens_' ConsentRequest Text
- ORYHydra.ModelLens: consentRequestClientL :: Lens_' ConsentRequest (Maybe OAuth2Client)
- ORYHydra.ModelLens: consentRequestContextL :: Lens_' ConsentRequest (Maybe Value)
- ORYHydra.ModelLens: consentRequestLoginChallengeL :: Lens_' ConsentRequest (Maybe Text)
- ORYHydra.ModelLens: consentRequestLoginSessionIdL :: Lens_' ConsentRequest (Maybe Text)
- ORYHydra.ModelLens: consentRequestOidcContextL :: Lens_' ConsentRequest (Maybe OpenIDConnectContext)
- ORYHydra.ModelLens: consentRequestRequestUrlL :: Lens_' ConsentRequest (Maybe Text)
- ORYHydra.ModelLens: consentRequestRequestedAccessTokenAudienceL :: Lens_' ConsentRequest (Maybe [Text])
- ORYHydra.ModelLens: consentRequestRequestedScopeL :: Lens_' ConsentRequest (Maybe [Text])
- ORYHydra.ModelLens: consentRequestSessionAccessTokenL :: Lens_' ConsentRequestSession (Maybe Value)
- ORYHydra.ModelLens: consentRequestSessionIdTokenL :: Lens_' ConsentRequestSession (Maybe Value)
- ORYHydra.ModelLens: consentRequestSkipL :: Lens_' ConsentRequest (Maybe Bool)
- ORYHydra.ModelLens: consentRequestSubjectL :: Lens_' ConsentRequest (Maybe Text)
- ORYHydra.ModelLens: containerWaitOKBodyErrorMessageL :: Lens_' ContainerWaitOKBodyError (Maybe Text)
- ORYHydra.ModelLens: flushInactiveOAuth2TokensRequestNotAfterL :: Lens_' FlushInactiveOAuth2TokensRequest (Maybe DateTime)
- ORYHydra.ModelLens: genericErrorDebugL :: Lens_' GenericError (Maybe Text)
- ORYHydra.ModelLens: genericErrorErrorDescriptionL :: Lens_' GenericError (Maybe Text)
- ORYHydra.ModelLens: genericErrorErrorL :: Lens_' GenericError Text
- ORYHydra.ModelLens: genericErrorStatusCodeL :: Lens_' GenericError (Maybe Integer)
- ORYHydra.ModelLens: healthNotReadyStatusErrorsL :: Lens_' HealthNotReadyStatus (Maybe (Map String Text))
- ORYHydra.ModelLens: healthStatusStatusL :: Lens_' HealthStatus (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyAlgL :: Lens_' JSONWebKey Text
- ORYHydra.ModelLens: jSONWebKeyCrvL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyDL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyDpL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyDqL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyEL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyKL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyKidL :: Lens_' JSONWebKey Text
- ORYHydra.ModelLens: jSONWebKeyKtyL :: Lens_' JSONWebKey Text
- ORYHydra.ModelLens: jSONWebKeyNL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyPL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyQL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyQiL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeySetKeysL :: Lens_' JSONWebKeySet (Maybe [JSONWebKey])
- ORYHydra.ModelLens: jSONWebKeyUseL :: Lens_' JSONWebKey Text
- ORYHydra.ModelLens: jSONWebKeyX5cL :: Lens_' JSONWebKey (Maybe [Text])
- ORYHydra.ModelLens: jSONWebKeyXL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jSONWebKeyYL :: Lens_' JSONWebKey (Maybe Text)
- ORYHydra.ModelLens: jsonWebKeySetGeneratorRequestAlgL :: Lens_' JsonWebKeySetGeneratorRequest Text
- ORYHydra.ModelLens: jsonWebKeySetGeneratorRequestKidL :: Lens_' JsonWebKeySetGeneratorRequest Text
- ORYHydra.ModelLens: jsonWebKeySetGeneratorRequestUseL :: Lens_' JsonWebKeySetGeneratorRequest Text
- ORYHydra.ModelLens: loginRequestChallengeL :: Lens_' LoginRequest Text
- ORYHydra.ModelLens: loginRequestClientL :: Lens_' LoginRequest OAuth2Client
- ORYHydra.ModelLens: loginRequestOidcContextL :: Lens_' LoginRequest (Maybe OpenIDConnectContext)
- ORYHydra.ModelLens: loginRequestRequestUrlL :: Lens_' LoginRequest Text
- ORYHydra.ModelLens: loginRequestRequestedAccessTokenAudienceL :: Lens_' LoginRequest [Text]
- ORYHydra.ModelLens: loginRequestRequestedScopeL :: Lens_' LoginRequest [Text]
- ORYHydra.ModelLens: loginRequestSessionIdL :: Lens_' LoginRequest (Maybe Text)
- ORYHydra.ModelLens: loginRequestSkipL :: Lens_' LoginRequest Bool
- ORYHydra.ModelLens: loginRequestSubjectL :: Lens_' LoginRequest Text
- ORYHydra.ModelLens: logoutRequestRequestUrlL :: Lens_' LogoutRequest (Maybe Text)
- ORYHydra.ModelLens: logoutRequestRpInitiatedL :: Lens_' LogoutRequest (Maybe Bool)
- ORYHydra.ModelLens: logoutRequestSidL :: Lens_' LogoutRequest (Maybe Text)
- ORYHydra.ModelLens: logoutRequestSubjectL :: Lens_' LogoutRequest (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientAllowedCorsOriginsL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientAudienceL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientBackchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)
- ORYHydra.ModelLens: oAuth2ClientBackchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientClientIdL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientClientNameL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientClientSecretExpiresAtL :: Lens_' OAuth2Client (Maybe Integer)
- ORYHydra.ModelLens: oAuth2ClientClientSecretL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientClientUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientContactsL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientCreatedAtL :: Lens_' OAuth2Client (Maybe DateTime)
- ORYHydra.ModelLens: oAuth2ClientFrontchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)
- ORYHydra.ModelLens: oAuth2ClientFrontchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientGrantTypesL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientJwksL :: Lens_' OAuth2Client (Maybe Value)
- ORYHydra.ModelLens: oAuth2ClientJwksUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientLogoUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientMetadataL :: Lens_' OAuth2Client (Maybe Value)
- ORYHydra.ModelLens: oAuth2ClientOwnerL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientPolicyUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientPostLogoutRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientRequestObjectSigningAlgL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientRequestUrisL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientResponseTypesL :: Lens_' OAuth2Client (Maybe [Text])
- ORYHydra.ModelLens: oAuth2ClientScopeL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientSectorIdentifierUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientSubjectTypeL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientTokenEndpointAuthMethodL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientTokenEndpointAuthSigningAlgL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientTosUriL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2ClientUpdatedAtL :: Lens_' OAuth2Client (Maybe DateTime)
- ORYHydra.ModelLens: oAuth2ClientUserinfoSignedResponseAlgL :: Lens_' OAuth2Client (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionActiveL :: Lens_' OAuth2TokenIntrospection Bool
- ORYHydra.ModelLens: oAuth2TokenIntrospectionAudL :: Lens_' OAuth2TokenIntrospection (Maybe [Text])
- ORYHydra.ModelLens: oAuth2TokenIntrospectionClientIdL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionExpL :: Lens_' OAuth2TokenIntrospection (Maybe Integer)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionExtL :: Lens_' OAuth2TokenIntrospection (Maybe Value)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionIatL :: Lens_' OAuth2TokenIntrospection (Maybe Integer)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionIssL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionNbfL :: Lens_' OAuth2TokenIntrospection (Maybe Integer)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionObfuscatedSubjectL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionScopeL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionSubL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionTokenTypeL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionTokenUseL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oAuth2TokenIntrospectionUsernameL :: Lens_' OAuth2TokenIntrospection (Maybe Text)
- ORYHydra.ModelLens: oauth2TokenResponseAccessTokenL :: Lens_' Oauth2TokenResponse (Maybe Text)
- ORYHydra.ModelLens: oauth2TokenResponseExpiresInL :: Lens_' Oauth2TokenResponse (Maybe Integer)
- ORYHydra.ModelLens: oauth2TokenResponseIdTokenL :: Lens_' Oauth2TokenResponse (Maybe Text)
- ORYHydra.ModelLens: oauth2TokenResponseRefreshTokenL :: Lens_' Oauth2TokenResponse (Maybe Text)
- ORYHydra.ModelLens: oauth2TokenResponseScopeL :: Lens_' Oauth2TokenResponse (Maybe Text)
- ORYHydra.ModelLens: oauth2TokenResponseTokenTypeL :: Lens_' Oauth2TokenResponse (Maybe Text)
- ORYHydra.ModelLens: openIDConnectContextAcrValuesL :: Lens_' OpenIDConnectContext (Maybe [Text])
- ORYHydra.ModelLens: openIDConnectContextDisplayL :: Lens_' OpenIDConnectContext (Maybe Text)
- ORYHydra.ModelLens: openIDConnectContextIdTokenHintClaimsL :: Lens_' OpenIDConnectContext (Maybe Value)
- ORYHydra.ModelLens: openIDConnectContextLoginHintL :: Lens_' OpenIDConnectContext (Maybe Text)
- ORYHydra.ModelLens: openIDConnectContextUiLocalesL :: Lens_' OpenIDConnectContext (Maybe [Text])
- ORYHydra.ModelLens: pluginConfigArgsDescriptionL :: Lens_' PluginConfigArgs Text
- ORYHydra.ModelLens: pluginConfigArgsL :: Lens_' PluginConfig PluginConfigArgs
- ORYHydra.ModelLens: pluginConfigArgsNameL :: Lens_' PluginConfigArgs Text
- ORYHydra.ModelLens: pluginConfigArgsSettableL :: Lens_' PluginConfigArgs [Text]
- ORYHydra.ModelLens: pluginConfigArgsValueL :: Lens_' PluginConfigArgs [Text]
- ORYHydra.ModelLens: pluginConfigDescriptionL :: Lens_' PluginConfig Text
- ORYHydra.ModelLens: pluginConfigDockerVersionL :: Lens_' PluginConfig (Maybe Text)
- ORYHydra.ModelLens: pluginConfigDocumentationL :: Lens_' PluginConfig Text
- ORYHydra.ModelLens: pluginConfigEntrypointL :: Lens_' PluginConfig [Text]
- ORYHydra.ModelLens: pluginConfigEnvL :: Lens_' PluginConfig [PluginEnv]
- ORYHydra.ModelLens: pluginConfigInterfaceL :: Lens_' PluginConfig PluginConfigInterface
- ORYHydra.ModelLens: pluginConfigInterfaceProtocolSchemeL :: Lens_' PluginConfigInterface (Maybe Text)
- ORYHydra.ModelLens: pluginConfigInterfaceSocketL :: Lens_' PluginConfigInterface Text
- ORYHydra.ModelLens: pluginConfigInterfaceTypesL :: Lens_' PluginConfigInterface [PluginInterfaceType]
- ORYHydra.ModelLens: pluginConfigIpcHostL :: Lens_' PluginConfig Bool
- ORYHydra.ModelLens: pluginConfigLinuxAllowAllDevicesL :: Lens_' PluginConfigLinux Bool
- ORYHydra.ModelLens: pluginConfigLinuxCapabilitiesL :: Lens_' PluginConfigLinux [Text]
- ORYHydra.ModelLens: pluginConfigLinuxDevicesL :: Lens_' PluginConfigLinux [PluginDevice]
- ORYHydra.ModelLens: pluginConfigLinuxL :: Lens_' PluginConfig PluginConfigLinux
- ORYHydra.ModelLens: pluginConfigMountsL :: Lens_' PluginConfig [PluginMount]
- ORYHydra.ModelLens: pluginConfigNetworkL :: Lens_' PluginConfig PluginConfigNetwork
- ORYHydra.ModelLens: pluginConfigNetworkTypeL :: Lens_' PluginConfigNetwork Text
- ORYHydra.ModelLens: pluginConfigPidHostL :: Lens_' PluginConfig Bool
- ORYHydra.ModelLens: pluginConfigPropagatedMountL :: Lens_' PluginConfig Text
- ORYHydra.ModelLens: pluginConfigRootfsDiffIdsL :: Lens_' PluginConfigRootfs (Maybe [Text])
- ORYHydra.ModelLens: pluginConfigRootfsL :: Lens_' PluginConfig (Maybe PluginConfigRootfs)
- ORYHydra.ModelLens: pluginConfigRootfsTypeL :: Lens_' PluginConfigRootfs (Maybe Text)
- ORYHydra.ModelLens: pluginConfigUserGidL :: Lens_' PluginConfigUser (Maybe Int)
- ORYHydra.ModelLens: pluginConfigUserL :: Lens_' PluginConfig (Maybe PluginConfigUser)
- ORYHydra.ModelLens: pluginConfigUserUidL :: Lens_' PluginConfigUser (Maybe Int)
- ORYHydra.ModelLens: pluginConfigWorkDirL :: Lens_' PluginConfig Text
- ORYHydra.ModelLens: pluginDeviceDescriptionL :: Lens_' PluginDevice Text
- ORYHydra.ModelLens: pluginDeviceNameL :: Lens_' PluginDevice Text
- ORYHydra.ModelLens: pluginDevicePathL :: Lens_' PluginDevice Text
- ORYHydra.ModelLens: pluginDeviceSettableL :: Lens_' PluginDevice [Text]
- ORYHydra.ModelLens: pluginEnvDescriptionL :: Lens_' PluginEnv Text
- ORYHydra.ModelLens: pluginEnvNameL :: Lens_' PluginEnv Text
- ORYHydra.ModelLens: pluginEnvSettableL :: Lens_' PluginEnv [Text]
- ORYHydra.ModelLens: pluginEnvValueL :: Lens_' PluginEnv Text
- ORYHydra.ModelLens: pluginInterfaceTypeCapabilityL :: Lens_' PluginInterfaceType Text
- ORYHydra.ModelLens: pluginInterfaceTypePrefixL :: Lens_' PluginInterfaceType Text
- ORYHydra.ModelLens: pluginInterfaceTypeVersionL :: Lens_' PluginInterfaceType Text
- ORYHydra.ModelLens: pluginMountDescriptionL :: Lens_' PluginMount Text
- ORYHydra.ModelLens: pluginMountDestinationL :: Lens_' PluginMount Text
- ORYHydra.ModelLens: pluginMountNameL :: Lens_' PluginMount Text
- ORYHydra.ModelLens: pluginMountOptionsL :: Lens_' PluginMount [Text]
- ORYHydra.ModelLens: pluginMountSettableL :: Lens_' PluginMount [Text]
- ORYHydra.ModelLens: pluginMountSourceL :: Lens_' PluginMount Text
- ORYHydra.ModelLens: pluginMountTypeL :: Lens_' PluginMount Text
- ORYHydra.ModelLens: pluginSettingsArgsL :: Lens_' PluginSettings [Text]
- ORYHydra.ModelLens: pluginSettingsDevicesL :: Lens_' PluginSettings [PluginDevice]
- ORYHydra.ModelLens: pluginSettingsEnvL :: Lens_' PluginSettings [Text]
- ORYHydra.ModelLens: pluginSettingsMountsL :: Lens_' PluginSettings [PluginMount]
- ORYHydra.ModelLens: previousConsentSessionConsentRequestL :: Lens_' PreviousConsentSession (Maybe ConsentRequest)
- ORYHydra.ModelLens: previousConsentSessionGrantAccessTokenAudienceL :: Lens_' PreviousConsentSession (Maybe [Text])
- ORYHydra.ModelLens: previousConsentSessionGrantScopeL :: Lens_' PreviousConsentSession (Maybe [Text])
- ORYHydra.ModelLens: previousConsentSessionHandledAtL :: Lens_' PreviousConsentSession (Maybe DateTime)
- ORYHydra.ModelLens: previousConsentSessionRememberForL :: Lens_' PreviousConsentSession (Maybe Integer)
- ORYHydra.ModelLens: previousConsentSessionRememberL :: Lens_' PreviousConsentSession (Maybe Bool)
- ORYHydra.ModelLens: previousConsentSessionSessionL :: Lens_' PreviousConsentSession (Maybe ConsentRequestSession)
- ORYHydra.ModelLens: rejectRequestErrorDebugL :: Lens_' RejectRequest (Maybe Text)
- ORYHydra.ModelLens: rejectRequestErrorDescriptionL :: Lens_' RejectRequest (Maybe Text)
- ORYHydra.ModelLens: rejectRequestErrorHintL :: Lens_' RejectRequest (Maybe Text)
- ORYHydra.ModelLens: rejectRequestErrorL :: Lens_' RejectRequest (Maybe Text)
- ORYHydra.ModelLens: rejectRequestStatusCodeL :: Lens_' RejectRequest (Maybe Integer)
- ORYHydra.ModelLens: userinfoResponseBirthdateL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseEmailL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseEmailVerifiedL :: Lens_' UserinfoResponse (Maybe Bool)
- ORYHydra.ModelLens: userinfoResponseFamilyNameL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseGenderL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseGivenNameL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseLocaleL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseMiddleNameL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseNameL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseNicknameL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponsePhoneNumberL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponsePhoneNumberVerifiedL :: Lens_' UserinfoResponse (Maybe Bool)
- ORYHydra.ModelLens: userinfoResponsePictureL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponsePreferredUsernameL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseProfileL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseSubL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseUpdatedAtL :: Lens_' UserinfoResponse (Maybe Integer)
- ORYHydra.ModelLens: userinfoResponseWebsiteL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: userinfoResponseZoneinfoL :: Lens_' UserinfoResponse (Maybe Text)
- ORYHydra.ModelLens: versionVersionL :: Lens_' Version (Maybe Text)
- ORYHydra.ModelLens: volumeCreatedAtL :: Lens_' Volume (Maybe Text)
- ORYHydra.ModelLens: volumeDriverL :: Lens_' Volume Text
- ORYHydra.ModelLens: volumeLabelsL :: Lens_' Volume (Map String Text)
- ORYHydra.ModelLens: volumeMountpointL :: Lens_' Volume Text
- ORYHydra.ModelLens: volumeNameL :: Lens_' Volume Text
- ORYHydra.ModelLens: volumeOptionsL :: Lens_' Volume (Map String Text)
- ORYHydra.ModelLens: volumeScopeL :: Lens_' Volume Text
- ORYHydra.ModelLens: volumeStatusL :: Lens_' Volume (Maybe Value)
- ORYHydra.ModelLens: volumeUsageDataL :: Lens_' Volume (Maybe VolumeUsageData)
- ORYHydra.ModelLens: volumeUsageDataRefCountL :: Lens_' VolumeUsageData Integer
- ORYHydra.ModelLens: volumeUsageDataSizeL :: Lens_' VolumeUsageData Integer
- ORYHydra.ModelLens: wellKnownAuthorizationEndpointL :: Lens_' WellKnown Text
- ORYHydra.ModelLens: wellKnownBackchannelLogoutSessionSupportedL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownBackchannelLogoutSupportedL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownClaimsParameterSupportedL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownClaimsSupportedL :: Lens_' WellKnown (Maybe [Text])
- ORYHydra.ModelLens: wellKnownEndSessionEndpointL :: Lens_' WellKnown (Maybe Text)
- ORYHydra.ModelLens: wellKnownFrontchannelLogoutSessionSupportedL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownFrontchannelLogoutSupportedL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownGrantTypesSupportedL :: Lens_' WellKnown (Maybe [Text])
- ORYHydra.ModelLens: wellKnownIdTokenSigningAlgValuesSupportedL :: Lens_' WellKnown [Text]
- ORYHydra.ModelLens: wellKnownIssuerL :: Lens_' WellKnown Text
- ORYHydra.ModelLens: wellKnownJwksUriL :: Lens_' WellKnown Text
- ORYHydra.ModelLens: wellKnownRegistrationEndpointL :: Lens_' WellKnown (Maybe Text)
- ORYHydra.ModelLens: wellKnownRequestObjectSigningAlgValuesSupportedL :: Lens_' WellKnown (Maybe [Text])
- ORYHydra.ModelLens: wellKnownRequestParameterSupportedL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownRequestUriParameterSupportedL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownRequireRequestUriRegistrationL :: Lens_' WellKnown (Maybe Bool)
- ORYHydra.ModelLens: wellKnownResponseModesSupportedL :: Lens_' WellKnown (Maybe [Text])
- ORYHydra.ModelLens: wellKnownResponseTypesSupportedL :: Lens_' WellKnown [Text]
- ORYHydra.ModelLens: wellKnownRevocationEndpointL :: Lens_' WellKnown (Maybe Text)
- ORYHydra.ModelLens: wellKnownScopesSupportedL :: Lens_' WellKnown (Maybe [Text])
- ORYHydra.ModelLens: wellKnownSubjectTypesSupportedL :: Lens_' WellKnown [Text]
- ORYHydra.ModelLens: wellKnownTokenEndpointAuthMethodsSupportedL :: Lens_' WellKnown (Maybe [Text])
- ORYHydra.ModelLens: wellKnownTokenEndpointL :: Lens_' WellKnown Text
- ORYHydra.ModelLens: wellKnownUserinfoEndpointL :: Lens_' WellKnown (Maybe Text)
- ORYHydra.ModelLens: wellKnownUserinfoSigningAlgValuesSupportedL :: Lens_' WellKnown (Maybe [Text])
+ OryHydra.API.Jwk: createJsonWebKeySet0 :: (Consumes CreateJsonWebKeySet0 MimeJSON, MimeRender MimeJSON CreateJsonWebKeySet) => CreateJsonWebKeySet -> Set -> OryHydraRequest CreateJsonWebKeySet0 MimeJSON JsonWebKeySet MimeJSON
+ OryHydra.API.Jwk: data CreateJsonWebKeySet0
+ OryHydra.API.Jwk: data DeleteJsonWebKey
+ OryHydra.API.Jwk: data DeleteJsonWebKeySet
+ OryHydra.API.Jwk: data GetJsonWebKey
+ OryHydra.API.Jwk: data GetJsonWebKeySet
+ OryHydra.API.Jwk: data SetJsonWebKey
+ OryHydra.API.Jwk: data SetJsonWebKeySet
+ OryHydra.API.Jwk: deleteJsonWebKey :: Set -> Kid -> OryHydraRequest DeleteJsonWebKey MimeNoContent NoContent MimeNoContent
+ OryHydra.API.Jwk: deleteJsonWebKeySet :: Set -> OryHydraRequest DeleteJsonWebKeySet MimeNoContent NoContent MimeNoContent
+ OryHydra.API.Jwk: getJsonWebKey :: Set -> Kid -> OryHydraRequest GetJsonWebKey MimeNoContent JsonWebKeySet MimeJSON
+ OryHydra.API.Jwk: getJsonWebKeySet :: Set -> OryHydraRequest GetJsonWebKeySet MimeNoContent JsonWebKeySet MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.Core.HasBodyParam OryHydra.API.Jwk.CreateJsonWebKeySet0 OryHydra.Model.CreateJsonWebKeySet
+ OryHydra.API.Jwk: instance OryHydra.Core.HasBodyParam OryHydra.API.Jwk.SetJsonWebKey OryHydra.Model.JsonWebKey
+ OryHydra.API.Jwk: instance OryHydra.Core.HasBodyParam OryHydra.API.Jwk.SetJsonWebKeySet OryHydra.Model.JsonWebKeySet
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Consumes OryHydra.API.Jwk.CreateJsonWebKeySet0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Consumes OryHydra.API.Jwk.SetJsonWebKey OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Consumes OryHydra.API.Jwk.SetJsonWebKeySet OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Produces OryHydra.API.Jwk.CreateJsonWebKeySet0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Produces OryHydra.API.Jwk.DeleteJsonWebKey OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Produces OryHydra.API.Jwk.DeleteJsonWebKeySet OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Produces OryHydra.API.Jwk.GetJsonWebKey OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Produces OryHydra.API.Jwk.GetJsonWebKeySet OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Produces OryHydra.API.Jwk.SetJsonWebKey OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: instance OryHydra.MimeTypes.Produces OryHydra.API.Jwk.SetJsonWebKeySet OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Jwk: setJsonWebKey :: Consumes SetJsonWebKey MimeJSON => Set -> Kid -> OryHydraRequest SetJsonWebKey MimeJSON JsonWebKey MimeJSON
+ OryHydra.API.Jwk: setJsonWebKeySet :: Consumes SetJsonWebKeySet MimeJSON => Set -> OryHydraRequest SetJsonWebKeySet MimeJSON JsonWebKeySet MimeJSON
+ OryHydra.API.Metadata: data GetVersion
+ OryHydra.API.Metadata: data IsAlive
+ OryHydra.API.Metadata: data IsReady
+ OryHydra.API.Metadata: getVersion :: OryHydraRequest GetVersion MimeNoContent GetVersion200Response MimeJSON
+ OryHydra.API.Metadata: instance OryHydra.MimeTypes.Produces OryHydra.API.Metadata.GetVersion OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Metadata: instance OryHydra.MimeTypes.Produces OryHydra.API.Metadata.IsAlive OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Metadata: instance OryHydra.MimeTypes.Produces OryHydra.API.Metadata.IsReady OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Metadata: isAlive :: OryHydraRequest IsAlive MimeNoContent HealthStatus MimeJSON
+ OryHydra.API.Metadata: isReady :: OryHydraRequest IsReady MimeNoContent IsReady200Response MimeJSON
+ OryHydra.API.OAuth2: acceptOAuth2ConsentRequest0 :: Consumes AcceptOAuth2ConsentRequest0 MimeJSON => ConsentChallenge -> OryHydraRequest AcceptOAuth2ConsentRequest0 MimeJSON OAuth2RedirectTo MimeJSON
+ OryHydra.API.OAuth2: acceptOAuth2LoginRequest0 :: Consumes AcceptOAuth2LoginRequest0 MimeJSON => LoginChallenge -> OryHydraRequest AcceptOAuth2LoginRequest0 MimeJSON OAuth2RedirectTo MimeJSON
+ OryHydra.API.OAuth2: acceptOAuth2LogoutRequest :: LogoutChallenge -> OryHydraRequest AcceptOAuth2LogoutRequest MimeNoContent OAuth2RedirectTo MimeJSON
+ OryHydra.API.OAuth2: createOAuth2Client :: (Consumes CreateOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client) => OAuth2Client -> OryHydraRequest CreateOAuth2Client MimeJSON OAuth2Client MimeJSON
+ OryHydra.API.OAuth2: data AcceptOAuth2ConsentRequest0
+ OryHydra.API.OAuth2: data AcceptOAuth2LoginRequest0
+ OryHydra.API.OAuth2: data AcceptOAuth2LogoutRequest
+ OryHydra.API.OAuth2: data CreateOAuth2Client
+ OryHydra.API.OAuth2: data DeleteOAuth2Client
+ OryHydra.API.OAuth2: data DeleteOAuth2Token
+ OryHydra.API.OAuth2: data DeleteTrustedOAuth2JwtGrantIssuer
+ OryHydra.API.OAuth2: data GetOAuth2Client
+ OryHydra.API.OAuth2: data GetOAuth2ConsentRequest
+ OryHydra.API.OAuth2: data GetOAuth2LoginRequest
+ OryHydra.API.OAuth2: data GetOAuth2LogoutRequest
+ OryHydra.API.OAuth2: data GetTrustedOAuth2JwtGrantIssuer
+ OryHydra.API.OAuth2: data IntrospectOAuth2Token
+ OryHydra.API.OAuth2: data ListOAuth2Clients
+ OryHydra.API.OAuth2: data ListOAuth2ConsentSessions
+ OryHydra.API.OAuth2: data ListTrustedOAuth2JwtGrantIssuers
+ OryHydra.API.OAuth2: data OAuth2Authorize
+ OryHydra.API.OAuth2: data Oauth2TokenExchange
+ OryHydra.API.OAuth2: data PatchOAuth2Client
+ OryHydra.API.OAuth2: data RejectOAuth2ConsentRequest
+ OryHydra.API.OAuth2: data RejectOAuth2LoginRequest
+ OryHydra.API.OAuth2: data RejectOAuth2LogoutRequest
+ OryHydra.API.OAuth2: data RevokeOAuth2ConsentSessions
+ OryHydra.API.OAuth2: data RevokeOAuth2LoginSessions
+ OryHydra.API.OAuth2: data RevokeOAuth2Token
+ OryHydra.API.OAuth2: data SetOAuth2Client
+ OryHydra.API.OAuth2: data SetOAuth2ClientLifespans
+ OryHydra.API.OAuth2: data TrustOAuth2JwtGrantIssuer0
+ OryHydra.API.OAuth2: deleteOAuth2Client :: Id -> OryHydraRequest DeleteOAuth2Client MimeNoContent NoContent MimeNoContent
+ OryHydra.API.OAuth2: deleteOAuth2Token :: ClientId -> OryHydraRequest DeleteOAuth2Token MimeNoContent NoContent MimeNoContent
+ OryHydra.API.OAuth2: deleteTrustedOAuth2JwtGrantIssuer :: Id -> OryHydraRequest DeleteTrustedOAuth2JwtGrantIssuer MimeNoContent NoContent MimeNoContent
+ OryHydra.API.OAuth2: getOAuth2Client :: Id -> OryHydraRequest GetOAuth2Client MimeNoContent OAuth2Client MimeJSON
+ OryHydra.API.OAuth2: getOAuth2ConsentRequest :: ConsentChallenge -> OryHydraRequest GetOAuth2ConsentRequest MimeNoContent OAuth2ConsentRequest MimeJSON
+ OryHydra.API.OAuth2: getOAuth2LoginRequest :: LoginChallenge -> OryHydraRequest GetOAuth2LoginRequest MimeNoContent OAuth2LoginRequest MimeJSON
+ OryHydra.API.OAuth2: getOAuth2LogoutRequest :: LogoutChallenge -> OryHydraRequest GetOAuth2LogoutRequest MimeNoContent OAuth2LogoutRequest MimeJSON
+ OryHydra.API.OAuth2: getTrustedOAuth2JwtGrantIssuer :: Id -> OryHydraRequest GetTrustedOAuth2JwtGrantIssuer MimeNoContent TrustedOAuth2JwtGrantIssuer MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.AcceptOAuth2ConsentRequest0 OryHydra.Model.AcceptOAuth2ConsentRequest
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.AcceptOAuth2LoginRequest0 OryHydra.Model.AcceptOAuth2LoginRequest
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.CreateOAuth2Client OryHydra.Model.OAuth2Client
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.PatchOAuth2Client OryHydra.Model.JsonPatch2
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.RejectOAuth2ConsentRequest OryHydra.Model.RejectOAuth2Request
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.RejectOAuth2LoginRequest OryHydra.Model.RejectOAuth2Request
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.SetOAuth2Client OryHydra.Model.OAuth2Client
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.SetOAuth2ClientLifespans OryHydra.Model.OAuth2ClientTokenLifespans
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasBodyParam OryHydra.API.OAuth2.TrustOAuth2JwtGrantIssuer0 OryHydra.Model.TrustOAuth2JwtGrantIssuer
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.IntrospectOAuth2Token OryHydra.Model.Scope
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListOAuth2Clients OryHydra.Model.ClientName
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListOAuth2Clients OryHydra.Model.Owner
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListOAuth2Clients OryHydra.Model.PageSize
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListOAuth2Clients OryHydra.Model.PageToken
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListOAuth2ConsentSessions OryHydra.Model.LoginSessionId
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListOAuth2ConsentSessions OryHydra.Model.PageSize
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListOAuth2ConsentSessions OryHydra.Model.PageToken
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListTrustedOAuth2JwtGrantIssuers OryHydra.Model.DefaultItems
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListTrustedOAuth2JwtGrantIssuers OryHydra.Model.Issuer
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.ListTrustedOAuth2JwtGrantIssuers OryHydra.Model.MaxItems
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.Oauth2TokenExchange OryHydra.Model.ClientId
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.Oauth2TokenExchange OryHydra.Model.Code
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.Oauth2TokenExchange OryHydra.Model.RedirectUri
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.Oauth2TokenExchange OryHydra.Model.RefreshToken
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.RevokeOAuth2ConsentSessions OryHydra.Model.All
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.RevokeOAuth2ConsentSessions OryHydra.Model.Client
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.RevokeOAuth2Token OryHydra.Model.ClientId
+ OryHydra.API.OAuth2: instance OryHydra.Core.HasOptionalParam OryHydra.API.OAuth2.RevokeOAuth2Token OryHydra.Model.ClientSecret
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.AcceptOAuth2ConsentRequest0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.AcceptOAuth2LoginRequest0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.CreateOAuth2Client OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.IntrospectOAuth2Token OryHydra.MimeTypes.MimeFormUrlEncoded
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.Oauth2TokenExchange OryHydra.MimeTypes.MimeFormUrlEncoded
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.PatchOAuth2Client OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.RejectOAuth2ConsentRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.RejectOAuth2LoginRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.RevokeOAuth2Token OryHydra.MimeTypes.MimeFormUrlEncoded
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.SetOAuth2Client OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.SetOAuth2ClientLifespans OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Consumes OryHydra.API.OAuth2.TrustOAuth2JwtGrantIssuer0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.AcceptOAuth2ConsentRequest0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.AcceptOAuth2LoginRequest0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.AcceptOAuth2LogoutRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.CreateOAuth2Client OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.DeleteOAuth2Client OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.DeleteOAuth2Token OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.DeleteTrustedOAuth2JwtGrantIssuer OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.GetOAuth2Client OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.GetOAuth2ConsentRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.GetOAuth2LoginRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.GetOAuth2LogoutRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.GetTrustedOAuth2JwtGrantIssuer OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.IntrospectOAuth2Token OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.ListOAuth2Clients OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.ListOAuth2ConsentSessions OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.ListTrustedOAuth2JwtGrantIssuers OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.OAuth2Authorize OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.Oauth2TokenExchange OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.PatchOAuth2Client OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.RejectOAuth2ConsentRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.RejectOAuth2LoginRequest OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.RejectOAuth2LogoutRequest OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.RevokeOAuth2ConsentSessions OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.RevokeOAuth2LoginSessions OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.RevokeOAuth2Token OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.SetOAuth2Client OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.SetOAuth2ClientLifespans OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: instance OryHydra.MimeTypes.Produces OryHydra.API.OAuth2.TrustOAuth2JwtGrantIssuer0 OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.OAuth2: introspectOAuth2Token :: Consumes IntrospectOAuth2Token MimeFormUrlEncoded => Token -> OryHydraRequest IntrospectOAuth2Token MimeFormUrlEncoded IntrospectedOAuth2Token MimeJSON
+ OryHydra.API.OAuth2: listOAuth2Clients :: OryHydraRequest ListOAuth2Clients MimeNoContent [OAuth2Client] MimeJSON
+ OryHydra.API.OAuth2: listOAuth2ConsentSessions :: Subject -> OryHydraRequest ListOAuth2ConsentSessions MimeNoContent [OAuth2ConsentSession] MimeJSON
+ OryHydra.API.OAuth2: listTrustedOAuth2JwtGrantIssuers :: OryHydraRequest ListTrustedOAuth2JwtGrantIssuers MimeNoContent [TrustedOAuth2JwtGrantIssuer] MimeJSON
+ OryHydra.API.OAuth2: oAuth2Authorize :: OryHydraRequest OAuth2Authorize MimeNoContent ErrorOAuth2 MimeJSON
+ OryHydra.API.OAuth2: oauth2TokenExchange :: Consumes Oauth2TokenExchange MimeFormUrlEncoded => GrantType -> OryHydraRequest Oauth2TokenExchange MimeFormUrlEncoded OAuth2TokenExchange MimeJSON
+ OryHydra.API.OAuth2: patchOAuth2Client :: (Consumes PatchOAuth2Client MimeJSON, MimeRender MimeJSON JsonPatch2) => JsonPatch2 -> Id -> OryHydraRequest PatchOAuth2Client MimeJSON OAuth2Client MimeJSON
+ OryHydra.API.OAuth2: rejectOAuth2ConsentRequest :: Consumes RejectOAuth2ConsentRequest MimeJSON => ConsentChallenge -> OryHydraRequest RejectOAuth2ConsentRequest MimeJSON OAuth2RedirectTo MimeJSON
+ OryHydra.API.OAuth2: rejectOAuth2LoginRequest :: Consumes RejectOAuth2LoginRequest MimeJSON => LoginChallenge -> OryHydraRequest RejectOAuth2LoginRequest MimeJSON OAuth2RedirectTo MimeJSON
+ OryHydra.API.OAuth2: rejectOAuth2LogoutRequest :: LogoutChallenge -> OryHydraRequest RejectOAuth2LogoutRequest MimeNoContent NoContent MimeNoContent
+ OryHydra.API.OAuth2: revokeOAuth2ConsentSessions :: Subject -> OryHydraRequest RevokeOAuth2ConsentSessions MimeNoContent NoContent MimeNoContent
+ OryHydra.API.OAuth2: revokeOAuth2LoginSessions :: Subject -> OryHydraRequest RevokeOAuth2LoginSessions MimeNoContent NoContent MimeNoContent
+ OryHydra.API.OAuth2: revokeOAuth2Token :: Consumes RevokeOAuth2Token MimeFormUrlEncoded => Token -> OryHydraRequest RevokeOAuth2Token MimeFormUrlEncoded NoContent MimeNoContent
+ OryHydra.API.OAuth2: setOAuth2Client :: (Consumes SetOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client) => OAuth2Client -> Id -> OryHydraRequest SetOAuth2Client MimeJSON OAuth2Client MimeJSON
+ OryHydra.API.OAuth2: setOAuth2ClientLifespans :: Consumes SetOAuth2ClientLifespans MimeJSON => Id -> OryHydraRequest SetOAuth2ClientLifespans MimeJSON OAuth2Client MimeJSON
+ OryHydra.API.OAuth2: trustOAuth2JwtGrantIssuer0 :: Consumes TrustOAuth2JwtGrantIssuer0 MimeJSON => OryHydraRequest TrustOAuth2JwtGrantIssuer0 MimeJSON TrustedOAuth2JwtGrantIssuer MimeJSON
+ OryHydra.API.Oidc: createOidcDynamicClient :: (Consumes CreateOidcDynamicClient MimeJSON, MimeRender MimeJSON OAuth2Client) => OAuth2Client -> OryHydraRequest CreateOidcDynamicClient MimeJSON OAuth2Client MimeJSON
+ OryHydra.API.Oidc: data CreateOidcDynamicClient
+ OryHydra.API.Oidc: data DeleteOidcDynamicClient
+ OryHydra.API.Oidc: data DiscoverOidcConfiguration
+ OryHydra.API.Oidc: data GetOidcDynamicClient
+ OryHydra.API.Oidc: data GetOidcUserInfo
+ OryHydra.API.Oidc: data RevokeOidcSession
+ OryHydra.API.Oidc: data SetOidcDynamicClient
+ OryHydra.API.Oidc: deleteOidcDynamicClient :: Id -> OryHydraRequest DeleteOidcDynamicClient MimeNoContent NoContent MimeNoContent
+ OryHydra.API.Oidc: discoverOidcConfiguration :: OryHydraRequest DiscoverOidcConfiguration MimeNoContent OidcConfiguration MimeJSON
+ OryHydra.API.Oidc: getOidcDynamicClient :: Id -> OryHydraRequest GetOidcDynamicClient MimeNoContent OAuth2Client MimeJSON
+ OryHydra.API.Oidc: getOidcUserInfo :: OryHydraRequest GetOidcUserInfo MimeNoContent OidcUserInfo MimeJSON
+ OryHydra.API.Oidc: instance OryHydra.Core.HasBodyParam OryHydra.API.Oidc.CreateOidcDynamicClient OryHydra.Model.OAuth2Client
+ OryHydra.API.Oidc: instance OryHydra.Core.HasBodyParam OryHydra.API.Oidc.SetOidcDynamicClient OryHydra.Model.OAuth2Client
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Consumes OryHydra.API.Oidc.CreateOidcDynamicClient OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Consumes OryHydra.API.Oidc.SetOidcDynamicClient OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Produces OryHydra.API.Oidc.CreateOidcDynamicClient OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Produces OryHydra.API.Oidc.DeleteOidcDynamicClient OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Produces OryHydra.API.Oidc.DiscoverOidcConfiguration OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Produces OryHydra.API.Oidc.GetOidcDynamicClient OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Produces OryHydra.API.Oidc.GetOidcUserInfo OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Produces OryHydra.API.Oidc.RevokeOidcSession OryHydra.MimeTypes.MimeNoContent
+ OryHydra.API.Oidc: instance OryHydra.MimeTypes.Produces OryHydra.API.Oidc.SetOidcDynamicClient OryHydra.MimeTypes.MimeJSON
+ OryHydra.API.Oidc: revokeOidcSession :: OryHydraRequest RevokeOidcSession MimeNoContent NoContent MimeNoContent
+ OryHydra.API.Oidc: setOidcDynamicClient :: (Consumes SetOidcDynamicClient MimeJSON, MimeRender MimeJSON OAuth2Client) => OAuth2Client -> Id -> OryHydraRequest SetOidcDynamicClient MimeJSON OAuth2Client MimeJSON
+ OryHydra.API.Wellknown: data DiscoverJsonWebKeys
+ OryHydra.API.Wellknown: discoverJsonWebKeys :: OryHydraRequest DiscoverJsonWebKeys MimeNoContent JsonWebKeySet MimeJSON
+ OryHydra.API.Wellknown: instance OryHydra.MimeTypes.Produces OryHydra.API.Wellknown.DiscoverJsonWebKeys OryHydra.MimeTypes.MimeJSON
+ OryHydra.Client: InitRequest :: Request -> InitRequest req contentType res accept
+ OryHydra.Client: MimeError :: String -> Response ByteString -> MimeError
+ OryHydra.Client: MimeResult :: Either MimeError res -> Response ByteString -> MimeResult res
+ OryHydra.Client: [mimeErrorResponse] :: MimeError -> Response ByteString
+ OryHydra.Client: [mimeError] :: MimeError -> String
+ OryHydra.Client: [mimeResultResponse] :: MimeResult res -> Response ByteString
+ OryHydra.Client: [mimeResult] :: MimeResult res -> Either MimeError res
+ OryHydra.Client: [unInitRequest] :: InitRequest req contentType res accept -> Request
+ OryHydra.Client: _toInitRequest :: (MimeType accept, MimeType contentType) => OryHydraConfig -> OryHydraRequest req contentType res accept -> IO (InitRequest req contentType res accept)
+ OryHydra.Client: data MimeError
+ OryHydra.Client: data MimeResult res
+ OryHydra.Client: dispatchInitUnsafe :: Manager -> OryHydraConfig -> InitRequest req contentType res accept -> IO (Response ByteString)
+ OryHydra.Client: dispatchLbs :: (Produces req accept, MimeType contentType) => Manager -> OryHydraConfig -> OryHydraRequest req contentType res accept -> IO (Response ByteString)
+ OryHydra.Client: dispatchLbsUnsafe :: (MimeType accept, MimeType contentType) => Manager -> OryHydraConfig -> OryHydraRequest req contentType res accept -> IO (Response ByteString)
+ OryHydra.Client: dispatchMime :: forall req contentType res accept. (Produces req accept, MimeUnrender accept res, MimeType contentType) => Manager -> OryHydraConfig -> OryHydraRequest req contentType res accept -> IO (MimeResult res)
+ OryHydra.Client: dispatchMime' :: (Produces req accept, MimeUnrender accept res, MimeType contentType) => Manager -> OryHydraConfig -> OryHydraRequest req contentType res accept -> IO (Either MimeError res)
+ OryHydra.Client: instance Data.Foldable.Foldable OryHydra.Client.MimeResult
+ OryHydra.Client: instance Data.Traversable.Traversable OryHydra.Client.MimeResult
+ OryHydra.Client: instance GHC.Base.Functor OryHydra.Client.MimeResult
+ OryHydra.Client: instance GHC.Show.Show (OryHydra.Client.InitRequest req contentType res accept)
+ OryHydra.Client: instance GHC.Show.Show OryHydra.Client.MimeError
+ OryHydra.Client: instance GHC.Show.Show res => GHC.Show.Show (OryHydra.Client.MimeResult res)
+ OryHydra.Client: modifyInitRequest :: InitRequest req contentType res accept -> (Request -> Request) -> InitRequest req contentType res accept
+ OryHydra.Client: modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (Request -> m Request) -> m (InitRequest req contentType res accept)
+ OryHydra.Client: newtype InitRequest req contentType res accept
+ OryHydra.Client: runConfigLog :: MonadIO m => OryHydraConfig -> LogExec m a
+ OryHydra.Client: runConfigLogWithExceptions :: (MonadCatch m, MonadIO m) => Text -> OryHydraConfig -> LogExec m a
+ OryHydra.Core: (-&-) :: HasOptionalParam req param => OryHydraRequest req contentType res accept -> param -> OryHydraRequest req contentType res accept
+ OryHydra.Core: AnyAuthMethod :: a -> AnyAuthMethod
+ OryHydra.Core: AuthMethodException :: String -> AuthMethodException
+ OryHydra.Core: Binary :: ByteString -> Binary
+ OryHydra.Core: ByteArray :: ByteString -> ByteArray
+ OryHydra.Core: CommaSeparated :: CollectionFormat
+ OryHydra.Core: Date :: Day -> Date
+ OryHydra.Core: DateTime :: UTCTime -> DateTime
+ OryHydra.Core: MultiParamArray :: CollectionFormat
+ OryHydra.Core: OryHydraConfig :: ByteString -> Text -> LogExecWithContext -> LogContext -> [AnyAuthMethod] -> Bool -> ByteString -> OryHydraConfig
+ OryHydra.Core: OryHydraRequest :: Method -> [ByteString] -> Params -> [TypeRep] -> OryHydraRequest req contentType res accept
+ OryHydra.Core: ParamBodyB :: ByteString -> ParamBody
+ OryHydra.Core: ParamBodyBL :: ByteString -> ParamBody
+ OryHydra.Core: ParamBodyFormUrlEncoded :: Form -> ParamBody
+ OryHydra.Core: ParamBodyMultipartFormData :: [Part] -> ParamBody
+ OryHydra.Core: ParamBodyNone :: ParamBody
+ OryHydra.Core: Params :: Query -> RequestHeaders -> ParamBody -> Params
+ OryHydra.Core: PipeSeparated :: CollectionFormat
+ OryHydra.Core: SpaceSeparated :: CollectionFormat
+ OryHydra.Core: TabSeparated :: CollectionFormat
+ OryHydra.Core: [configAuthMethods] :: OryHydraConfig -> [AnyAuthMethod]
+ OryHydra.Core: [configHost] :: OryHydraConfig -> ByteString
+ OryHydra.Core: [configLogContext] :: OryHydraConfig -> LogContext
+ OryHydra.Core: [configLogExecWithContext] :: OryHydraConfig -> LogExecWithContext
+ OryHydra.Core: [configQueryExtraUnreserved] :: OryHydraConfig -> ByteString
+ OryHydra.Core: [configUserAgent] :: OryHydraConfig -> Text
+ OryHydra.Core: [configValidateAuthMethods] :: OryHydraConfig -> Bool
+ OryHydra.Core: [paramsBody] :: Params -> ParamBody
+ OryHydra.Core: [paramsHeaders] :: Params -> RequestHeaders
+ OryHydra.Core: [paramsQuery] :: Params -> Query
+ OryHydra.Core: [rAuthTypes] :: OryHydraRequest req contentType res accept -> [TypeRep]
+ OryHydra.Core: [rMethod] :: OryHydraRequest req contentType res accept -> Method
+ OryHydra.Core: [rParams] :: OryHydraRequest req contentType res accept -> Params
+ OryHydra.Core: [rUrlPath] :: OryHydraRequest req contentType res accept -> [ByteString]
+ OryHydra.Core: [unBinary] :: Binary -> ByteString
+ OryHydra.Core: [unByteArray] :: ByteArray -> ByteString
+ OryHydra.Core: [unDateTime] :: DateTime -> UTCTime
+ OryHydra.Core: [unDate] :: Date -> Day
+ OryHydra.Core: _addMultiFormPart :: OryHydraRequest req contentType res accept -> Part -> OryHydraRequest req contentType res accept
+ OryHydra.Core: _applyAuthMethods :: OryHydraRequest req contentType res accept -> OryHydraConfig -> IO (OryHydraRequest req contentType res accept)
+ OryHydra.Core: _emptyToNothing :: Maybe String -> Maybe String
+ OryHydra.Core: _hasAuthType :: AuthMethod authMethod => OryHydraRequest req contentType res accept -> Proxy authMethod -> OryHydraRequest req contentType res accept
+ OryHydra.Core: _memptyToNothing :: (Monoid a, Eq a) => Maybe a -> Maybe a
+ OryHydra.Core: _mkParams :: Params
+ OryHydra.Core: _mkRequest :: Method -> [ByteString] -> OryHydraRequest req contentType res accept
+ OryHydra.Core: _omitNulls :: [(Key, Value)] -> Value
+ OryHydra.Core: _parseISO8601 :: (ParseTime t, MonadFail m, Alternative m) => String -> m t
+ OryHydra.Core: _readBinaryBase64 :: MonadFail m => Text -> m Binary
+ OryHydra.Core: _readByteArray :: MonadFail m => Text -> m ByteArray
+ OryHydra.Core: _readDate :: MonadFail m => String -> m Date
+ OryHydra.Core: _readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime
+ OryHydra.Core: _setAcceptHeader :: forall req contentType res accept. MimeType accept => OryHydraRequest req contentType res accept -> OryHydraRequest req contentType res accept
+ OryHydra.Core: _setBodyBS :: OryHydraRequest req contentType res accept -> ByteString -> OryHydraRequest req contentType res accept
+ OryHydra.Core: _setBodyLBS :: OryHydraRequest req contentType res accept -> ByteString -> OryHydraRequest req contentType res accept
+ OryHydra.Core: _setContentTypeHeader :: forall req contentType res accept. MimeType contentType => OryHydraRequest req contentType res accept -> OryHydraRequest req contentType res accept
+ OryHydra.Core: _showBinaryBase64 :: Binary -> Text
+ OryHydra.Core: _showByteArray :: ByteArray -> Text
+ OryHydra.Core: _showDate :: FormatTime t => t -> String
+ OryHydra.Core: _showDateTime :: (t ~ UTCTime, FormatTime t) => t -> String
+ OryHydra.Core: _toColl :: Traversable f => CollectionFormat -> (f a -> [(b, ByteString)]) -> f [a] -> [(b, ByteString)]
+ OryHydra.Core: _toCollA :: (Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t ByteString)]) -> f (t [a]) -> [(b, t ByteString)]
+ OryHydra.Core: _toCollA' :: (Monoid c, Traversable f, Traversable t, Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)]
+ OryHydra.Core: _toFormItem :: (ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])
+ OryHydra.Core: addAuthMethod :: AuthMethod auth => OryHydraConfig -> auth -> OryHydraConfig
+ OryHydra.Core: addForm :: OryHydraRequest req contentType res accept -> Form -> OryHydraRequest req contentType res accept
+ OryHydra.Core: addHeader :: OryHydraRequest req contentType res accept -> [Header] -> OryHydraRequest req contentType res accept
+ OryHydra.Core: addQuery :: OryHydraRequest req contentType res accept -> [QueryItem] -> OryHydraRequest req contentType res accept
+ OryHydra.Core: applyAuthMethod :: AuthMethod a => OryHydraConfig -> a -> OryHydraRequest req contentType res accept -> IO (OryHydraRequest req contentType res accept)
+ OryHydra.Core: applyOptionalParam :: HasOptionalParam req param => OryHydraRequest req contentType res accept -> param -> OryHydraRequest req contentType res accept
+ OryHydra.Core: class Typeable a => AuthMethod a
+ OryHydra.Core: class HasBodyParam req param
+ OryHydra.Core: class HasOptionalParam req param
+ OryHydra.Core: data AnyAuthMethod
+ OryHydra.Core: data AuthMethodException
+ OryHydra.Core: data CollectionFormat
+ OryHydra.Core: data OryHydraConfig
+ OryHydra.Core: data OryHydraRequest req contentType res accept
+ OryHydra.Core: data ParamBody
+ OryHydra.Core: data Params
+ OryHydra.Core: infixl 2 -&-
+ OryHydra.Core: instance Control.DeepSeq.NFData OryHydra.Core.Binary
+ OryHydra.Core: instance Control.DeepSeq.NFData OryHydra.Core.ByteArray
+ OryHydra.Core: instance Control.DeepSeq.NFData OryHydra.Core.Date
+ OryHydra.Core: instance Control.DeepSeq.NFData OryHydra.Core.DateTime
+ OryHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Core.Binary
+ OryHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Core.ByteArray
+ OryHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Core.Date
+ OryHydra.Core: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Core.DateTime
+ OryHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Core.Binary
+ OryHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Core.ByteArray
+ OryHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Core.Date
+ OryHydra.Core: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Core.DateTime
+ OryHydra.Core: instance Data.Data.Data OryHydra.Core.Binary
+ OryHydra.Core: instance Data.Data.Data OryHydra.Core.ByteArray
+ OryHydra.Core: instance Data.Data.Data OryHydra.Core.Date
+ OryHydra.Core: instance Data.Data.Data OryHydra.Core.DateTime
+ OryHydra.Core: instance GHC.Classes.Eq OryHydra.Core.Binary
+ OryHydra.Core: instance GHC.Classes.Eq OryHydra.Core.ByteArray
+ OryHydra.Core: instance GHC.Classes.Eq OryHydra.Core.Date
+ OryHydra.Core: instance GHC.Classes.Eq OryHydra.Core.DateTime
+ OryHydra.Core: instance GHC.Classes.Ord OryHydra.Core.Binary
+ OryHydra.Core: instance GHC.Classes.Ord OryHydra.Core.ByteArray
+ OryHydra.Core: instance GHC.Classes.Ord OryHydra.Core.Date
+ OryHydra.Core: instance GHC.Classes.Ord OryHydra.Core.DateTime
+ OryHydra.Core: instance GHC.Enum.Enum OryHydra.Core.Date
+ OryHydra.Core: instance GHC.Exception.Type.Exception OryHydra.Core.AuthMethodException
+ OryHydra.Core: instance GHC.Ix.Ix OryHydra.Core.Date
+ OryHydra.Core: instance GHC.Show.Show (OryHydra.Core.OryHydraRequest req contentType res accept)
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.AuthMethodException
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.Binary
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.ByteArray
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.Date
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.DateTime
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.OryHydraConfig
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.ParamBody
+ OryHydra.Core: instance GHC.Show.Show OryHydra.Core.Params
+ OryHydra.Core: instance OryHydra.Core.AuthMethod OryHydra.Core.AnyAuthMethod
+ OryHydra.Core: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData OryHydra.Core.Binary
+ OryHydra.Core: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData OryHydra.Core.ByteArray
+ OryHydra.Core: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData OryHydra.Core.Date
+ OryHydra.Core: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData OryHydra.Core.DateTime
+ OryHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData OryHydra.Core.Binary
+ OryHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData OryHydra.Core.ByteArray
+ OryHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData OryHydra.Core.Date
+ OryHydra.Core: instance Web.Internal.HttpApiData.FromHttpApiData OryHydra.Core.DateTime
+ OryHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData OryHydra.Core.Binary
+ OryHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData OryHydra.Core.ByteArray
+ OryHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData OryHydra.Core.Date
+ OryHydra.Core: instance Web.Internal.HttpApiData.ToHttpApiData OryHydra.Core.DateTime
+ OryHydra.Core: newConfig :: IO OryHydraConfig
+ OryHydra.Core: newtype Binary
+ OryHydra.Core: newtype ByteArray
+ OryHydra.Core: newtype Date
+ OryHydra.Core: newtype DateTime
+ OryHydra.Core: paramsBodyL :: Lens_' Params ParamBody
+ OryHydra.Core: paramsHeadersL :: Lens_' Params RequestHeaders
+ OryHydra.Core: paramsQueryL :: Lens_' Params Query
+ OryHydra.Core: rAuthTypesL :: Lens_' (OryHydraRequest req contentType res accept) [TypeRep]
+ OryHydra.Core: rMethodL :: Lens_' (OryHydraRequest req contentType res accept) Method
+ OryHydra.Core: rParamsL :: Lens_' (OryHydraRequest req contentType res accept) Params
+ OryHydra.Core: rUrlPathL :: Lens_' (OryHydraRequest req contentType res accept) [ByteString]
+ OryHydra.Core: removeHeader :: OryHydraRequest req contentType res accept -> [HeaderName] -> OryHydraRequest req contentType res accept
+ OryHydra.Core: setBodyParam :: forall contentType res accept. (HasBodyParam req param, Consumes req contentType, MimeRender contentType param) => OryHydraRequest req contentType res accept -> param -> OryHydraRequest req contentType res accept
+ OryHydra.Core: setHeader :: OryHydraRequest req contentType res accept -> [Header] -> OryHydraRequest req contentType res accept
+ OryHydra.Core: setQuery :: OryHydraRequest req contentType res accept -> [QueryItem] -> OryHydraRequest req contentType res accept
+ OryHydra.Core: toForm :: ToHttpApiData v => (ByteString, v) -> Form
+ OryHydra.Core: toFormColl :: ToHttpApiData v => CollectionFormat -> (ByteString, [v]) -> Form
+ OryHydra.Core: toHeader :: ToHttpApiData a => (HeaderName, a) -> [Header]
+ OryHydra.Core: toHeaderColl :: ToHttpApiData a => CollectionFormat -> (HeaderName, [a]) -> [Header]
+ OryHydra.Core: toPartialEscapeQuery :: ByteString -> Query -> PartialEscapeQuery
+ OryHydra.Core: toPath :: ToHttpApiData a => a -> ByteString
+ OryHydra.Core: toQuery :: ToHttpApiData a => (ByteString, Maybe a) -> [QueryItem]
+ OryHydra.Core: toQueryColl :: ToHttpApiData a => CollectionFormat -> (ByteString, Maybe [a]) -> Query
+ OryHydra.Core: type Lens_ s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t
+ OryHydra.Core: type Lens_' s a = Lens_ s s a a
+ OryHydra.Core: withNoLogging :: OryHydraConfig -> OryHydraConfig
+ OryHydra.Core: withStderrLogging :: OryHydraConfig -> IO OryHydraConfig
+ OryHydra.Core: withStdoutLogging :: OryHydraConfig -> IO OryHydraConfig
+ OryHydra.Logging: _log :: (Applicative m, Katip m) => Text -> LogLevel -> Text -> m ()
+ OryHydra.Logging: initLogContext :: IO LogContext
+ OryHydra.Logging: levelDebug :: LogLevel
+ OryHydra.Logging: levelError :: LogLevel
+ OryHydra.Logging: levelInfo :: LogLevel
+ OryHydra.Logging: logExceptions :: (Katip m, MonadCatch m, Applicative m) => Text -> m a -> m a
+ OryHydra.Logging: runDefaultLogExecWithContext :: LogExecWithContext
+ OryHydra.Logging: runNullLogExec :: LogExecWithContext
+ OryHydra.Logging: stderrLoggingContext :: LogContext -> IO LogContext
+ OryHydra.Logging: stderrLoggingExec :: LogExecWithContext
+ OryHydra.Logging: stdoutLoggingContext :: LogContext -> IO LogContext
+ OryHydra.Logging: stdoutLoggingExec :: LogExecWithContext
+ OryHydra.Logging: type LogContext = LogEnv
+ OryHydra.Logging: type LogExec m a = KatipT m a -> m a
+ OryHydra.Logging: type LogLevel = Severity
+ OryHydra.MimeTypes: Accept :: a -> Accept a
+ OryHydra.MimeTypes: ContentType :: a -> ContentType a
+ OryHydra.MimeTypes: MimeAny :: MimeAny
+ OryHydra.MimeTypes: MimeFormUrlEncoded :: MimeFormUrlEncoded
+ OryHydra.MimeTypes: MimeJSON :: MimeJSON
+ OryHydra.MimeTypes: MimeMultipartFormData :: MimeMultipartFormData
+ OryHydra.MimeTypes: MimeNoContent :: MimeNoContent
+ OryHydra.MimeTypes: MimeOctetStream :: MimeOctetStream
+ OryHydra.MimeTypes: MimePlainText :: MimePlainText
+ OryHydra.MimeTypes: MimeXML :: MimeXML
+ OryHydra.MimeTypes: NoContent :: NoContent
+ OryHydra.MimeTypes: [unAccept] :: Accept a -> a
+ OryHydra.MimeTypes: [unContentType] :: ContentType a -> a
+ OryHydra.MimeTypes: class MimeType mtype => Consumes req mtype
+ OryHydra.MimeTypes: class MimeType mtype => MimeRender mtype x
+ OryHydra.MimeTypes: class Typeable mtype => MimeType mtype
+ OryHydra.MimeTypes: class MimeType mtype => MimeUnrender mtype o
+ OryHydra.MimeTypes: class MimeType mtype => Produces req mtype
+ OryHydra.MimeTypes: data Accept a
+ OryHydra.MimeTypes: data ContentType a
+ OryHydra.MimeTypes: data MimeAny
+ OryHydra.MimeTypes: data MimeFormUrlEncoded
+ OryHydra.MimeTypes: data MimeJSON
+ OryHydra.MimeTypes: data MimeMultipartFormData
+ OryHydra.MimeTypes: data MimeNoContent
+ OryHydra.MimeTypes: data MimeOctetStream
+ OryHydra.MimeTypes: data MimePlainText
+ OryHydra.MimeTypes: data MimeXML
+ OryHydra.MimeTypes: data NoContent
+ OryHydra.MimeTypes: instance Data.Aeson.Types.FromJSON.FromJSON a => OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimeJSON a
+ OryHydra.MimeTypes: instance Data.Aeson.Types.ToJSON.ToJSON a => OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeJSON a
+ OryHydra.MimeTypes: instance GHC.Classes.Eq OryHydra.MimeTypes.NoContent
+ OryHydra.MimeTypes: instance GHC.Show.Show OryHydra.MimeTypes.NoContent
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData Data.ByteString.Lazy.Internal.ByteString
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData Data.Text.Internal.Text
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData GHC.Base.String
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData GHC.Num.Integer.Integer
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData GHC.Types.Bool
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData GHC.Types.Char
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData GHC.Types.Double
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData GHC.Types.Float
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeMultipartFormData GHC.Types.Int
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeNoContent OryHydra.MimeTypes.NoContent
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeOctetStream Data.ByteString.Lazy.Internal.ByteString
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeOctetStream Data.Text.Internal.Text
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeOctetStream GHC.Base.String
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimePlainText Data.ByteString.Lazy.Internal.ByteString
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimePlainText Data.Text.Internal.Text
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimePlainText GHC.Base.String
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimeAny
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimeFormUrlEncoded
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimeJSON
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimeMultipartFormData
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimeNoContent
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimeOctetStream
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimePlainText
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeType OryHydra.MimeTypes.MimeXML
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimeNoContent OryHydra.MimeTypes.NoContent
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimeOctetStream Data.ByteString.Lazy.Internal.ByteString
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimeOctetStream Data.Text.Internal.Text
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimeOctetStream GHC.Base.String
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimePlainText Data.ByteString.Lazy.Internal.ByteString
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimePlainText Data.Text.Internal.Text
+ OryHydra.MimeTypes: instance OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimePlainText GHC.Base.String
+ OryHydra.MimeTypes: instance Web.Internal.FormUrlEncoded.FromForm a => OryHydra.MimeTypes.MimeUnrender OryHydra.MimeTypes.MimeFormUrlEncoded a
+ OryHydra.MimeTypes: instance Web.Internal.FormUrlEncoded.ToForm a => OryHydra.MimeTypes.MimeRender OryHydra.MimeTypes.MimeFormUrlEncoded a
+ OryHydra.MimeTypes: mimeRender :: MimeRender mtype x => Proxy mtype -> x -> ByteString
+ OryHydra.MimeTypes: mimeRender' :: MimeRender mtype x => mtype -> x -> ByteString
+ OryHydra.MimeTypes: mimeRenderDefaultMultipartFormData :: ToHttpApiData a => a -> ByteString
+ OryHydra.MimeTypes: mimeType :: MimeType mtype => Proxy mtype -> Maybe MediaType
+ OryHydra.MimeTypes: mimeType' :: MimeType mtype => mtype -> Maybe MediaType
+ OryHydra.MimeTypes: mimeTypes :: MimeType mtype => Proxy mtype -> [MediaType]
+ OryHydra.MimeTypes: mimeTypes' :: MimeType mtype => mtype -> [MediaType]
+ OryHydra.MimeTypes: mimeUnrender :: MimeUnrender mtype o => Proxy mtype -> ByteString -> Either String o
+ OryHydra.MimeTypes: mimeUnrender' :: MimeUnrender mtype o => mtype -> ByteString -> Either String o
+ OryHydra.Model: AcceptOAuth2ConsentRequest :: Maybe [Text] -> Maybe [Text] -> Maybe DateTime -> Maybe Bool -> Maybe Integer -> Maybe AcceptOAuth2ConsentRequestSession -> AcceptOAuth2ConsentRequest
+ OryHydra.Model: AcceptOAuth2ConsentRequestSession :: Maybe Value -> Maybe Value -> AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: AcceptOAuth2LoginRequest :: Maybe Text -> Maybe [Text] -> Maybe Value -> Maybe Text -> Maybe Bool -> Maybe Integer -> Text -> AcceptOAuth2LoginRequest
+ OryHydra.Model: All :: Bool -> All
+ OryHydra.Model: AuthBasicBasic :: ByteString -> ByteString -> AuthBasicBasic
+ OryHydra.Model: AuthBasicBearer :: ByteString -> ByteString -> AuthBasicBearer
+ OryHydra.Model: AuthOAuthOauth2 :: Text -> AuthOAuthOauth2
+ OryHydra.Model: Client :: Text -> Client
+ OryHydra.Model: ClientId :: Text -> ClientId
+ OryHydra.Model: ClientName :: Text -> ClientName
+ OryHydra.Model: ClientSecret :: Text -> ClientSecret
+ OryHydra.Model: Code :: Text -> Code
+ OryHydra.Model: ConsentChallenge :: Text -> ConsentChallenge
+ OryHydra.Model: CreateJsonWebKeySet :: Text -> Text -> Text -> CreateJsonWebKeySet
+ OryHydra.Model: DefaultItems :: Integer -> DefaultItems
+ OryHydra.Model: ErrorOAuth2 :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> ErrorOAuth2
+ OryHydra.Model: GenericError :: Maybe Integer -> Maybe Text -> Maybe Value -> Maybe Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> GenericError
+ OryHydra.Model: GetVersion200Response :: Maybe Text -> GetVersion200Response
+ OryHydra.Model: GrantType :: Text -> GrantType
+ OryHydra.Model: HealthNotReadyStatus :: Maybe (Map String Text) -> HealthNotReadyStatus
+ OryHydra.Model: HealthStatus :: Maybe Text -> HealthStatus
+ OryHydra.Model: Id :: Text -> Id
+ OryHydra.Model: IntrospectedOAuth2Token :: Bool -> Maybe [Text] -> Maybe Text -> Maybe Integer -> Maybe (Map String Value) -> Maybe Integer -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> IntrospectedOAuth2Token
+ OryHydra.Model: IsReady200Response :: Maybe Text -> IsReady200Response
+ OryHydra.Model: IsReady503Response :: Maybe (Map String Text) -> IsReady503Response
+ OryHydra.Model: Issuer :: Text -> Issuer
+ OryHydra.Model: JsonPatch :: Maybe Text -> Text -> Text -> Maybe Value -> JsonPatch
+ OryHydra.Model: JsonPatch2 :: [JsonPatch] -> JsonPatch2
+ OryHydra.Model: JsonWebKey :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Text -> Maybe Text -> Maybe [Text] -> Maybe Text -> JsonWebKey
+ OryHydra.Model: JsonWebKeySet :: Maybe [JsonWebKey] -> JsonWebKeySet
+ OryHydra.Model: Kid :: Text -> Kid
+ OryHydra.Model: LoginChallenge :: Text -> LoginChallenge
+ OryHydra.Model: LoginSessionId :: Text -> LoginSessionId
+ OryHydra.Model: LogoutChallenge :: Text -> LogoutChallenge
+ OryHydra.Model: MaxItems :: Integer -> MaxItems
+ OryHydra.Model: OAuth2Client :: Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe [Text] -> Maybe DateTime -> Maybe Bool -> Maybe Text -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Value -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Value -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe DateTime -> Maybe Text -> OAuth2Client
+ OryHydra.Model: OAuth2ClientTokenLifespans :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> OAuth2ClientTokenLifespans
+ OryHydra.Model: OAuth2ConsentRequest :: Maybe Text -> Maybe [Text] -> Text -> Maybe OAuth2Client -> Maybe Value -> Maybe Text -> Maybe Text -> Maybe OAuth2ConsentRequestOpenIDConnectContext -> Maybe Text -> Maybe [Text] -> Maybe [Text] -> Maybe Bool -> Maybe Text -> OAuth2ConsentRequest
+ OryHydra.Model: OAuth2ConsentRequestOpenIDConnectContext :: Maybe [Text] -> Maybe Text -> Maybe (Map String Value) -> Maybe Text -> Maybe [Text] -> OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: OAuth2ConsentSession :: Maybe OAuth2ConsentRequest -> Maybe OAuth2ConsentSessionExpiresAt -> Maybe [Text] -> Maybe [Text] -> Maybe DateTime -> Maybe Bool -> Maybe Integer -> Maybe AcceptOAuth2ConsentRequestSession -> OAuth2ConsentSession
+ OryHydra.Model: OAuth2ConsentSessionExpiresAt :: Maybe DateTime -> Maybe DateTime -> Maybe DateTime -> Maybe DateTime -> Maybe DateTime -> OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: OAuth2LoginRequest :: Text -> OAuth2Client -> Maybe OAuth2ConsentRequestOpenIDConnectContext -> Text -> [Text] -> [Text] -> Maybe Text -> Bool -> Text -> OAuth2LoginRequest
+ OryHydra.Model: OAuth2LogoutRequest :: Maybe Text -> Maybe OAuth2Client -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> OAuth2LogoutRequest
+ OryHydra.Model: OAuth2RedirectTo :: Text -> OAuth2RedirectTo
+ OryHydra.Model: OAuth2TokenExchange :: Maybe Text -> Maybe Integer -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Text -> OAuth2TokenExchange
+ OryHydra.Model: OidcConfiguration :: Text -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe [Text] -> [Text] -> [Text] -> Text -> Text -> Maybe Text -> Maybe [Text] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe [Text] -> [Text] -> Maybe Text -> Maybe [Text] -> [Text] -> Text -> Maybe [Text] -> Maybe Text -> [Text] -> Maybe [Text] -> OidcConfiguration
+ OryHydra.Model: OidcUserInfo :: Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> OidcUserInfo
+ OryHydra.Model: Owner :: Text -> Owner
+ OryHydra.Model: PageSize :: Integer -> PageSize
+ OryHydra.Model: PageToken :: Text -> PageToken
+ OryHydra.Model: Pagination :: Maybe Integer -> Maybe Text -> Pagination
+ OryHydra.Model: PaginationHeaders :: Maybe Text -> Maybe Text -> PaginationHeaders
+ OryHydra.Model: RedirectUri :: Text -> RedirectUri
+ OryHydra.Model: RefreshToken :: Text -> RefreshToken
+ OryHydra.Model: RejectOAuth2Request :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> RejectOAuth2Request
+ OryHydra.Model: Scope :: Text -> Scope
+ OryHydra.Model: Set :: Text -> Set
+ OryHydra.Model: Subject :: Text -> Subject
+ OryHydra.Model: Token :: Text -> Token
+ OryHydra.Model: TokenPagination :: Maybe Integer -> Maybe Text -> TokenPagination
+ OryHydra.Model: TokenPaginationHeaders :: Maybe Text -> Maybe Text -> TokenPaginationHeaders
+ OryHydra.Model: TokenPaginationRequestParameters :: Maybe Integer -> Maybe Text -> TokenPaginationRequestParameters
+ OryHydra.Model: TokenPaginationResponseHeaders :: Maybe Text -> Maybe Integer -> TokenPaginationResponseHeaders
+ OryHydra.Model: TrustOAuth2JwtGrantIssuer :: Maybe Bool -> DateTime -> Text -> JsonWebKey -> [Text] -> Maybe Text -> TrustOAuth2JwtGrantIssuer
+ OryHydra.Model: TrustedOAuth2JwtGrantIssuer :: Maybe Bool -> Maybe DateTime -> Maybe DateTime -> Maybe Text -> Maybe Text -> Maybe TrustedOAuth2JwtGrantJsonWebKey -> Maybe [Text] -> Maybe Text -> TrustedOAuth2JwtGrantIssuer
+ OryHydra.Model: TrustedOAuth2JwtGrantJsonWebKey :: Maybe Text -> Maybe Text -> TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: Version :: Maybe Text -> Version
+ OryHydra.Model: [acceptOAuth2ConsentRequestGrantAccessTokenAudience] :: AcceptOAuth2ConsentRequest -> Maybe [Text]
+ OryHydra.Model: [acceptOAuth2ConsentRequestGrantScope] :: AcceptOAuth2ConsentRequest -> Maybe [Text]
+ OryHydra.Model: [acceptOAuth2ConsentRequestHandledAt] :: AcceptOAuth2ConsentRequest -> Maybe DateTime
+ OryHydra.Model: [acceptOAuth2ConsentRequestRememberFor] :: AcceptOAuth2ConsentRequest -> Maybe Integer
+ OryHydra.Model: [acceptOAuth2ConsentRequestRemember] :: AcceptOAuth2ConsentRequest -> Maybe Bool
+ OryHydra.Model: [acceptOAuth2ConsentRequestSessionAccessToken] :: AcceptOAuth2ConsentRequestSession -> Maybe Value
+ OryHydra.Model: [acceptOAuth2ConsentRequestSessionIdToken] :: AcceptOAuth2ConsentRequestSession -> Maybe Value
+ OryHydra.Model: [acceptOAuth2ConsentRequestSession] :: AcceptOAuth2ConsentRequest -> Maybe AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: [acceptOAuth2LoginRequestAcr] :: AcceptOAuth2LoginRequest -> Maybe Text
+ OryHydra.Model: [acceptOAuth2LoginRequestAmr] :: AcceptOAuth2LoginRequest -> Maybe [Text]
+ OryHydra.Model: [acceptOAuth2LoginRequestContext] :: AcceptOAuth2LoginRequest -> Maybe Value
+ OryHydra.Model: [acceptOAuth2LoginRequestForceSubjectIdentifier] :: AcceptOAuth2LoginRequest -> Maybe Text
+ OryHydra.Model: [acceptOAuth2LoginRequestRememberFor] :: AcceptOAuth2LoginRequest -> Maybe Integer
+ OryHydra.Model: [acceptOAuth2LoginRequestRemember] :: AcceptOAuth2LoginRequest -> Maybe Bool
+ OryHydra.Model: [acceptOAuth2LoginRequestSubject] :: AcceptOAuth2LoginRequest -> Text
+ OryHydra.Model: [createJsonWebKeySetAlg] :: CreateJsonWebKeySet -> Text
+ OryHydra.Model: [createJsonWebKeySetKid] :: CreateJsonWebKeySet -> Text
+ OryHydra.Model: [createJsonWebKeySetUse] :: CreateJsonWebKeySet -> Text
+ OryHydra.Model: [errorOAuth2ErrorDebug] :: ErrorOAuth2 -> Maybe Text
+ OryHydra.Model: [errorOAuth2ErrorDescription] :: ErrorOAuth2 -> Maybe Text
+ OryHydra.Model: [errorOAuth2ErrorHint] :: ErrorOAuth2 -> Maybe Text
+ OryHydra.Model: [errorOAuth2Error] :: ErrorOAuth2 -> Maybe Text
+ OryHydra.Model: [errorOAuth2StatusCode] :: ErrorOAuth2 -> Maybe Integer
+ OryHydra.Model: [genericErrorCode] :: GenericError -> Maybe Integer
+ OryHydra.Model: [genericErrorDebug] :: GenericError -> Maybe Text
+ OryHydra.Model: [genericErrorDetails] :: GenericError -> Maybe Value
+ OryHydra.Model: [genericErrorId] :: GenericError -> Maybe Text
+ OryHydra.Model: [genericErrorMessage] :: GenericError -> Text
+ OryHydra.Model: [genericErrorReason] :: GenericError -> Maybe Text
+ OryHydra.Model: [genericErrorRequest] :: GenericError -> Maybe Text
+ OryHydra.Model: [genericErrorStatus] :: GenericError -> Maybe Text
+ OryHydra.Model: [getVersion200ResponseVersion] :: GetVersion200Response -> Maybe Text
+ OryHydra.Model: [healthNotReadyStatusErrors] :: HealthNotReadyStatus -> Maybe (Map String Text)
+ OryHydra.Model: [healthStatusStatus] :: HealthStatus -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenActive] :: IntrospectedOAuth2Token -> Bool
+ OryHydra.Model: [introspectedOAuth2TokenAud] :: IntrospectedOAuth2Token -> Maybe [Text]
+ OryHydra.Model: [introspectedOAuth2TokenClientId] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenExp] :: IntrospectedOAuth2Token -> Maybe Integer
+ OryHydra.Model: [introspectedOAuth2TokenExt] :: IntrospectedOAuth2Token -> Maybe (Map String Value)
+ OryHydra.Model: [introspectedOAuth2TokenIat] :: IntrospectedOAuth2Token -> Maybe Integer
+ OryHydra.Model: [introspectedOAuth2TokenIss] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenNbf] :: IntrospectedOAuth2Token -> Maybe Integer
+ OryHydra.Model: [introspectedOAuth2TokenObfuscatedSubject] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenScope] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenSub] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenTokenType] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenTokenUse] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [introspectedOAuth2TokenUsername] :: IntrospectedOAuth2Token -> Maybe Text
+ OryHydra.Model: [isReady200ResponseStatus] :: IsReady200Response -> Maybe Text
+ OryHydra.Model: [isReady503ResponseErrors] :: IsReady503Response -> Maybe (Map String Text)
+ OryHydra.Model: [jsonPatchFrom] :: JsonPatch -> Maybe Text
+ OryHydra.Model: [jsonPatchOp] :: JsonPatch -> Text
+ OryHydra.Model: [jsonPatchPath] :: JsonPatch -> Text
+ OryHydra.Model: [jsonPatchValue] :: JsonPatch -> Maybe Value
+ OryHydra.Model: [jsonWebKeyAlg] :: JsonWebKey -> Text
+ OryHydra.Model: [jsonWebKeyCrv] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyD] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyDp] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyDq] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyE] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyK] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyKid] :: JsonWebKey -> Text
+ OryHydra.Model: [jsonWebKeyKty] :: JsonWebKey -> Text
+ OryHydra.Model: [jsonWebKeyN] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyP] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyQ] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyQi] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeySetKeys] :: JsonWebKeySet -> Maybe [JsonWebKey]
+ OryHydra.Model: [jsonWebKeyUse] :: JsonWebKey -> Text
+ OryHydra.Model: [jsonWebKeyX5c] :: JsonWebKey -> Maybe [Text]
+ OryHydra.Model: [jsonWebKeyX] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [jsonWebKeyY] :: JsonWebKey -> Maybe Text
+ OryHydra.Model: [oAuth2ClientAllowedCorsOrigins] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientAudience] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientAuthorizationCodeGrantIdTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientBackchannelLogoutSessionRequired] :: OAuth2Client -> Maybe Bool
+ OryHydra.Model: [oAuth2ClientBackchannelLogoutUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientClientCredentialsGrantAccessTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientClientId] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientClientName] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientClientSecretExpiresAt] :: OAuth2Client -> Maybe Integer
+ OryHydra.Model: [oAuth2ClientClientSecret] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientClientUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientContacts] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientCreatedAt] :: OAuth2Client -> Maybe DateTime
+ OryHydra.Model: [oAuth2ClientFrontchannelLogoutSessionRequired] :: OAuth2Client -> Maybe Bool
+ OryHydra.Model: [oAuth2ClientFrontchannelLogoutUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientGrantTypes] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientImplicitGrantAccessTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientImplicitGrantIdTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientJwksUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientJwks] :: OAuth2Client -> Maybe Value
+ OryHydra.Model: [oAuth2ClientJwtBearerGrantAccessTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientLogoUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientMetadata] :: OAuth2Client -> Maybe Value
+ OryHydra.Model: [oAuth2ClientOwner] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientPolicyUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientPostLogoutRedirectUris] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientRedirectUris] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientRefreshTokenGrantAccessTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientRefreshTokenGrantIdTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientRefreshTokenGrantRefreshTokenLifespan] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientRegistrationAccessToken] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientRegistrationClientUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientRequestObjectSigningAlg] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientRequestUris] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientResponseTypes] :: OAuth2Client -> Maybe [Text]
+ OryHydra.Model: [oAuth2ClientScope] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientSectorIdentifierUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientSubjectType] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenEndpointAuthMethod] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenEndpointAuthSigningAlg] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan] :: OAuth2ClientTokenLifespans -> Maybe Text
+ OryHydra.Model: [oAuth2ClientTosUri] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ClientUpdatedAt] :: OAuth2Client -> Maybe DateTime
+ OryHydra.Model: [oAuth2ClientUserinfoSignedResponseAlg] :: OAuth2Client -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentRequestAcr] :: OAuth2ConsentRequest -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentRequestAmr] :: OAuth2ConsentRequest -> Maybe [Text]
+ OryHydra.Model: [oAuth2ConsentRequestChallenge] :: OAuth2ConsentRequest -> Text
+ OryHydra.Model: [oAuth2ConsentRequestClient] :: OAuth2ConsentRequest -> Maybe OAuth2Client
+ OryHydra.Model: [oAuth2ConsentRequestContext] :: OAuth2ConsentRequest -> Maybe Value
+ OryHydra.Model: [oAuth2ConsentRequestLoginChallenge] :: OAuth2ConsentRequest -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentRequestLoginSessionId] :: OAuth2ConsentRequest -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentRequestOidcContext] :: OAuth2ConsentRequest -> Maybe OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: [oAuth2ConsentRequestOpenIDConnectContextAcrValues] :: OAuth2ConsentRequestOpenIDConnectContext -> Maybe [Text]
+ OryHydra.Model: [oAuth2ConsentRequestOpenIDConnectContextDisplay] :: OAuth2ConsentRequestOpenIDConnectContext -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims] :: OAuth2ConsentRequestOpenIDConnectContext -> Maybe (Map String Value)
+ OryHydra.Model: [oAuth2ConsentRequestOpenIDConnectContextLoginHint] :: OAuth2ConsentRequestOpenIDConnectContext -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentRequestOpenIDConnectContextUiLocales] :: OAuth2ConsentRequestOpenIDConnectContext -> Maybe [Text]
+ OryHydra.Model: [oAuth2ConsentRequestRequestUrl] :: OAuth2ConsentRequest -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentRequestRequestedAccessTokenAudience] :: OAuth2ConsentRequest -> Maybe [Text]
+ OryHydra.Model: [oAuth2ConsentRequestRequestedScope] :: OAuth2ConsentRequest -> Maybe [Text]
+ OryHydra.Model: [oAuth2ConsentRequestSkip] :: OAuth2ConsentRequest -> Maybe Bool
+ OryHydra.Model: [oAuth2ConsentRequestSubject] :: OAuth2ConsentRequest -> Maybe Text
+ OryHydra.Model: [oAuth2ConsentSessionConsentRequest] :: OAuth2ConsentSession -> Maybe OAuth2ConsentRequest
+ OryHydra.Model: [oAuth2ConsentSessionExpiresAtAccessToken] :: OAuth2ConsentSessionExpiresAt -> Maybe DateTime
+ OryHydra.Model: [oAuth2ConsentSessionExpiresAtAuthorizeCode] :: OAuth2ConsentSessionExpiresAt -> Maybe DateTime
+ OryHydra.Model: [oAuth2ConsentSessionExpiresAtIdToken] :: OAuth2ConsentSessionExpiresAt -> Maybe DateTime
+ OryHydra.Model: [oAuth2ConsentSessionExpiresAtParContext] :: OAuth2ConsentSessionExpiresAt -> Maybe DateTime
+ OryHydra.Model: [oAuth2ConsentSessionExpiresAtRefreshToken] :: OAuth2ConsentSessionExpiresAt -> Maybe DateTime
+ OryHydra.Model: [oAuth2ConsentSessionExpiresAt] :: OAuth2ConsentSession -> Maybe OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: [oAuth2ConsentSessionGrantAccessTokenAudience] :: OAuth2ConsentSession -> Maybe [Text]
+ OryHydra.Model: [oAuth2ConsentSessionGrantScope] :: OAuth2ConsentSession -> Maybe [Text]
+ OryHydra.Model: [oAuth2ConsentSessionHandledAt] :: OAuth2ConsentSession -> Maybe DateTime
+ OryHydra.Model: [oAuth2ConsentSessionRememberFor] :: OAuth2ConsentSession -> Maybe Integer
+ OryHydra.Model: [oAuth2ConsentSessionRemember] :: OAuth2ConsentSession -> Maybe Bool
+ OryHydra.Model: [oAuth2ConsentSessionSession] :: OAuth2ConsentSession -> Maybe AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: [oAuth2LoginRequestChallenge] :: OAuth2LoginRequest -> Text
+ OryHydra.Model: [oAuth2LoginRequestClient] :: OAuth2LoginRequest -> OAuth2Client
+ OryHydra.Model: [oAuth2LoginRequestOidcContext] :: OAuth2LoginRequest -> Maybe OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: [oAuth2LoginRequestRequestUrl] :: OAuth2LoginRequest -> Text
+ OryHydra.Model: [oAuth2LoginRequestRequestedAccessTokenAudience] :: OAuth2LoginRequest -> [Text]
+ OryHydra.Model: [oAuth2LoginRequestRequestedScope] :: OAuth2LoginRequest -> [Text]
+ OryHydra.Model: [oAuth2LoginRequestSessionId] :: OAuth2LoginRequest -> Maybe Text
+ OryHydra.Model: [oAuth2LoginRequestSkip] :: OAuth2LoginRequest -> Bool
+ OryHydra.Model: [oAuth2LoginRequestSubject] :: OAuth2LoginRequest -> Text
+ OryHydra.Model: [oAuth2LogoutRequestChallenge] :: OAuth2LogoutRequest -> Maybe Text
+ OryHydra.Model: [oAuth2LogoutRequestClient] :: OAuth2LogoutRequest -> Maybe OAuth2Client
+ OryHydra.Model: [oAuth2LogoutRequestRequestUrl] :: OAuth2LogoutRequest -> Maybe Text
+ OryHydra.Model: [oAuth2LogoutRequestRpInitiated] :: OAuth2LogoutRequest -> Maybe Bool
+ OryHydra.Model: [oAuth2LogoutRequestSid] :: OAuth2LogoutRequest -> Maybe Text
+ OryHydra.Model: [oAuth2LogoutRequestSubject] :: OAuth2LogoutRequest -> Maybe Text
+ OryHydra.Model: [oAuth2RedirectToRedirectTo] :: OAuth2RedirectTo -> Text
+ OryHydra.Model: [oAuth2TokenExchangeAccessToken] :: OAuth2TokenExchange -> Maybe Text
+ OryHydra.Model: [oAuth2TokenExchangeExpiresIn] :: OAuth2TokenExchange -> Maybe Integer
+ OryHydra.Model: [oAuth2TokenExchangeIdToken] :: OAuth2TokenExchange -> Maybe Integer
+ OryHydra.Model: [oAuth2TokenExchangeRefreshToken] :: OAuth2TokenExchange -> Maybe Text
+ OryHydra.Model: [oAuth2TokenExchangeScope] :: OAuth2TokenExchange -> Maybe Text
+ OryHydra.Model: [oAuth2TokenExchangeTokenType] :: OAuth2TokenExchange -> Maybe Text
+ OryHydra.Model: [oidcConfigurationAuthorizationEndpoint] :: OidcConfiguration -> Text
+ OryHydra.Model: [oidcConfigurationBackchannelLogoutSessionSupported] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationBackchannelLogoutSupported] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationClaimsParameterSupported] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationClaimsSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcConfigurationCodeChallengeMethodsSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcConfigurationEndSessionEndpoint] :: OidcConfiguration -> Maybe Text
+ OryHydra.Model: [oidcConfigurationFrontchannelLogoutSessionSupported] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationFrontchannelLogoutSupported] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationGrantTypesSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcConfigurationIdTokenSignedResponseAlg] :: OidcConfiguration -> [Text]
+ OryHydra.Model: [oidcConfigurationIdTokenSigningAlgValuesSupported] :: OidcConfiguration -> [Text]
+ OryHydra.Model: [oidcConfigurationIssuer] :: OidcConfiguration -> Text
+ OryHydra.Model: [oidcConfigurationJwksUri] :: OidcConfiguration -> Text
+ OryHydra.Model: [oidcConfigurationRegistrationEndpoint] :: OidcConfiguration -> Maybe Text
+ OryHydra.Model: [oidcConfigurationRequestObjectSigningAlgValuesSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcConfigurationRequestParameterSupported] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationRequestUriParameterSupported] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationRequireRequestUriRegistration] :: OidcConfiguration -> Maybe Bool
+ OryHydra.Model: [oidcConfigurationResponseModesSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcConfigurationResponseTypesSupported] :: OidcConfiguration -> [Text]
+ OryHydra.Model: [oidcConfigurationRevocationEndpoint] :: OidcConfiguration -> Maybe Text
+ OryHydra.Model: [oidcConfigurationScopesSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcConfigurationSubjectTypesSupported] :: OidcConfiguration -> [Text]
+ OryHydra.Model: [oidcConfigurationTokenEndpointAuthMethodsSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcConfigurationTokenEndpoint] :: OidcConfiguration -> Text
+ OryHydra.Model: [oidcConfigurationUserinfoEndpoint] :: OidcConfiguration -> Maybe Text
+ OryHydra.Model: [oidcConfigurationUserinfoSignedResponseAlg] :: OidcConfiguration -> [Text]
+ OryHydra.Model: [oidcConfigurationUserinfoSigningAlgValuesSupported] :: OidcConfiguration -> Maybe [Text]
+ OryHydra.Model: [oidcUserInfoBirthdate] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoEmailVerified] :: OidcUserInfo -> Maybe Bool
+ OryHydra.Model: [oidcUserInfoEmail] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoFamilyName] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoGender] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoGivenName] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoLocale] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoMiddleName] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoName] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoNickname] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoPhoneNumberVerified] :: OidcUserInfo -> Maybe Bool
+ OryHydra.Model: [oidcUserInfoPhoneNumber] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoPicture] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoPreferredUsername] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoProfile] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoSub] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoUpdatedAt] :: OidcUserInfo -> Maybe Integer
+ OryHydra.Model: [oidcUserInfoWebsite] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [oidcUserInfoZoneinfo] :: OidcUserInfo -> Maybe Text
+ OryHydra.Model: [paginationHeadersLink] :: PaginationHeaders -> Maybe Text
+ OryHydra.Model: [paginationHeadersXTotalCount] :: PaginationHeaders -> Maybe Text
+ OryHydra.Model: [paginationPageSize] :: Pagination -> Maybe Integer
+ OryHydra.Model: [paginationPageToken] :: Pagination -> Maybe Text
+ OryHydra.Model: [rejectOAuth2RequestErrorDebug] :: RejectOAuth2Request -> Maybe Text
+ OryHydra.Model: [rejectOAuth2RequestErrorDescription] :: RejectOAuth2Request -> Maybe Text
+ OryHydra.Model: [rejectOAuth2RequestErrorHint] :: RejectOAuth2Request -> Maybe Text
+ OryHydra.Model: [rejectOAuth2RequestError] :: RejectOAuth2Request -> Maybe Text
+ OryHydra.Model: [rejectOAuth2RequestStatusCode] :: RejectOAuth2Request -> Maybe Integer
+ OryHydra.Model: [tokenPaginationHeadersLink] :: TokenPaginationHeaders -> Maybe Text
+ OryHydra.Model: [tokenPaginationHeadersXTotalCount] :: TokenPaginationHeaders -> Maybe Text
+ OryHydra.Model: [tokenPaginationPageSize] :: TokenPagination -> Maybe Integer
+ OryHydra.Model: [tokenPaginationPageToken] :: TokenPagination -> Maybe Text
+ OryHydra.Model: [tokenPaginationRequestParametersPageSize] :: TokenPaginationRequestParameters -> Maybe Integer
+ OryHydra.Model: [tokenPaginationRequestParametersPageToken] :: TokenPaginationRequestParameters -> Maybe Text
+ OryHydra.Model: [tokenPaginationResponseHeadersLink] :: TokenPaginationResponseHeaders -> Maybe Text
+ OryHydra.Model: [tokenPaginationResponseHeadersXTotalCount] :: TokenPaginationResponseHeaders -> Maybe Integer
+ OryHydra.Model: [trustOAuth2JwtGrantIssuerAllowAnySubject] :: TrustOAuth2JwtGrantIssuer -> Maybe Bool
+ OryHydra.Model: [trustOAuth2JwtGrantIssuerExpiresAt] :: TrustOAuth2JwtGrantIssuer -> DateTime
+ OryHydra.Model: [trustOAuth2JwtGrantIssuerIssuer] :: TrustOAuth2JwtGrantIssuer -> Text
+ OryHydra.Model: [trustOAuth2JwtGrantIssuerJwk] :: TrustOAuth2JwtGrantIssuer -> JsonWebKey
+ OryHydra.Model: [trustOAuth2JwtGrantIssuerScope] :: TrustOAuth2JwtGrantIssuer -> [Text]
+ OryHydra.Model: [trustOAuth2JwtGrantIssuerSubject] :: TrustOAuth2JwtGrantIssuer -> Maybe Text
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerAllowAnySubject] :: TrustedOAuth2JwtGrantIssuer -> Maybe Bool
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerCreatedAt] :: TrustedOAuth2JwtGrantIssuer -> Maybe DateTime
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerExpiresAt] :: TrustedOAuth2JwtGrantIssuer -> Maybe DateTime
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerId] :: TrustedOAuth2JwtGrantIssuer -> Maybe Text
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerIssuer] :: TrustedOAuth2JwtGrantIssuer -> Maybe Text
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerPublicKey] :: TrustedOAuth2JwtGrantIssuer -> Maybe TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerScope] :: TrustedOAuth2JwtGrantIssuer -> Maybe [Text]
+ OryHydra.Model: [trustedOAuth2JwtGrantIssuerSubject] :: TrustedOAuth2JwtGrantIssuer -> Maybe Text
+ OryHydra.Model: [trustedOAuth2JwtGrantJsonWebKeyKid] :: TrustedOAuth2JwtGrantJsonWebKey -> Maybe Text
+ OryHydra.Model: [trustedOAuth2JwtGrantJsonWebKeySet] :: TrustedOAuth2JwtGrantJsonWebKey -> Maybe Text
+ OryHydra.Model: [unAll] :: All -> Bool
+ OryHydra.Model: [unClientId] :: ClientId -> Text
+ OryHydra.Model: [unClientName] :: ClientName -> Text
+ OryHydra.Model: [unClientSecret] :: ClientSecret -> Text
+ OryHydra.Model: [unClient] :: Client -> Text
+ OryHydra.Model: [unCode] :: Code -> Text
+ OryHydra.Model: [unConsentChallenge] :: ConsentChallenge -> Text
+ OryHydra.Model: [unDefaultItems] :: DefaultItems -> Integer
+ OryHydra.Model: [unGrantType] :: GrantType -> Text
+ OryHydra.Model: [unId] :: Id -> Text
+ OryHydra.Model: [unIssuer] :: Issuer -> Text
+ OryHydra.Model: [unJsonPatch2] :: JsonPatch2 -> [JsonPatch]
+ OryHydra.Model: [unKid] :: Kid -> Text
+ OryHydra.Model: [unLoginChallenge] :: LoginChallenge -> Text
+ OryHydra.Model: [unLoginSessionId] :: LoginSessionId -> Text
+ OryHydra.Model: [unLogoutChallenge] :: LogoutChallenge -> Text
+ OryHydra.Model: [unMaxItems] :: MaxItems -> Integer
+ OryHydra.Model: [unOwner] :: Owner -> Text
+ OryHydra.Model: [unPageSize] :: PageSize -> Integer
+ OryHydra.Model: [unPageToken] :: PageToken -> Text
+ OryHydra.Model: [unRedirectUri] :: RedirectUri -> Text
+ OryHydra.Model: [unRefreshToken] :: RefreshToken -> Text
+ OryHydra.Model: [unScope] :: Scope -> Text
+ OryHydra.Model: [unSet] :: Set -> Text
+ OryHydra.Model: [unSubject] :: Subject -> Text
+ OryHydra.Model: [unToken] :: Token -> Text
+ OryHydra.Model: [versionVersion] :: Version -> Maybe Text
+ OryHydra.Model: data AcceptOAuth2ConsentRequest
+ OryHydra.Model: data AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: data AcceptOAuth2LoginRequest
+ OryHydra.Model: data AuthBasicBasic
+ OryHydra.Model: data AuthBasicBearer
+ OryHydra.Model: data AuthOAuthOauth2
+ OryHydra.Model: data CreateJsonWebKeySet
+ OryHydra.Model: data ErrorOAuth2
+ OryHydra.Model: data GenericError
+ OryHydra.Model: data GetVersion200Response
+ OryHydra.Model: data HealthNotReadyStatus
+ OryHydra.Model: data HealthStatus
+ OryHydra.Model: data IntrospectedOAuth2Token
+ OryHydra.Model: data IsReady200Response
+ OryHydra.Model: data IsReady503Response
+ OryHydra.Model: data JsonPatch
+ OryHydra.Model: data JsonWebKey
+ OryHydra.Model: data JsonWebKeySet
+ OryHydra.Model: data OAuth2Client
+ OryHydra.Model: data OAuth2ClientTokenLifespans
+ OryHydra.Model: data OAuth2ConsentRequest
+ OryHydra.Model: data OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: data OAuth2ConsentSession
+ OryHydra.Model: data OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: data OAuth2LoginRequest
+ OryHydra.Model: data OAuth2LogoutRequest
+ OryHydra.Model: data OAuth2RedirectTo
+ OryHydra.Model: data OAuth2TokenExchange
+ OryHydra.Model: data OidcConfiguration
+ OryHydra.Model: data OidcUserInfo
+ OryHydra.Model: data Pagination
+ OryHydra.Model: data PaginationHeaders
+ OryHydra.Model: data RejectOAuth2Request
+ OryHydra.Model: data TokenPagination
+ OryHydra.Model: data TokenPaginationHeaders
+ OryHydra.Model: data TokenPaginationRequestParameters
+ OryHydra.Model: data TokenPaginationResponseHeaders
+ OryHydra.Model: data TrustOAuth2JwtGrantIssuer
+ OryHydra.Model: data TrustedOAuth2JwtGrantIssuer
+ OryHydra.Model: data TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: data Version
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.AcceptOAuth2ConsentRequest
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.AcceptOAuth2LoginRequest
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.CreateJsonWebKeySet
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.ErrorOAuth2
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.GenericError
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.GetVersion200Response
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.HealthNotReadyStatus
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.HealthStatus
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.IntrospectedOAuth2Token
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.IsReady200Response
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.IsReady503Response
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.JsonPatch
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.JsonWebKey
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.JsonWebKeySet
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2Client
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2ClientTokenLifespans
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2ConsentRequest
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2ConsentSession
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2LoginRequest
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2LogoutRequest
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2RedirectTo
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OAuth2TokenExchange
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OidcConfiguration
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.OidcUserInfo
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.Pagination
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.PaginationHeaders
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.RejectOAuth2Request
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.TokenPagination
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.TokenPaginationHeaders
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.TokenPaginationRequestParameters
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.TokenPaginationResponseHeaders
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.TrustOAuth2JwtGrantIssuer
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.TrustedOAuth2JwtGrantIssuer
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: instance Data.Aeson.Types.FromJSON.FromJSON OryHydra.Model.Version
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.AcceptOAuth2ConsentRequest
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.AcceptOAuth2LoginRequest
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.CreateJsonWebKeySet
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.ErrorOAuth2
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.GenericError
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.GetVersion200Response
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.HealthNotReadyStatus
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.HealthStatus
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.IntrospectedOAuth2Token
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.IsReady200Response
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.IsReady503Response
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.JsonPatch
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.JsonPatch2
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.JsonWebKey
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.JsonWebKeySet
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2Client
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2ClientTokenLifespans
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2ConsentRequest
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2ConsentSession
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2LoginRequest
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2LogoutRequest
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2RedirectTo
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OAuth2TokenExchange
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OidcConfiguration
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.OidcUserInfo
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.Pagination
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.PaginationHeaders
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.RejectOAuth2Request
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.TokenPagination
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.TokenPaginationHeaders
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.TokenPaginationRequestParameters
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.TokenPaginationResponseHeaders
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.TrustOAuth2JwtGrantIssuer
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.TrustedOAuth2JwtGrantIssuer
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: instance Data.Aeson.Types.ToJSON.ToJSON OryHydra.Model.Version
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.AcceptOAuth2ConsentRequest
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.AcceptOAuth2LoginRequest
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.All
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.AuthBasicBasic
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.AuthBasicBearer
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.AuthOAuthOauth2
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Client
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.ClientId
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.ClientName
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.ClientSecret
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Code
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.ConsentChallenge
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.CreateJsonWebKeySet
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.DefaultItems
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.ErrorOAuth2
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.GenericError
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.GetVersion200Response
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.GrantType
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.HealthNotReadyStatus
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.HealthStatus
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Id
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.IntrospectedOAuth2Token
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.IsReady200Response
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.IsReady503Response
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Issuer
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.JsonPatch
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.JsonPatch2
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.JsonWebKey
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.JsonWebKeySet
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Kid
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.LoginChallenge
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.LoginSessionId
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.LogoutChallenge
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.MaxItems
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2Client
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2ClientTokenLifespans
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2ConsentRequest
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2ConsentSession
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2LoginRequest
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2LogoutRequest
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2RedirectTo
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OAuth2TokenExchange
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OidcConfiguration
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.OidcUserInfo
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Owner
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.PageSize
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.PageToken
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Pagination
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.PaginationHeaders
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.RedirectUri
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.RefreshToken
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.RejectOAuth2Request
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Scope
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Set
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Subject
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Token
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.TokenPagination
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.TokenPaginationHeaders
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.TokenPaginationRequestParameters
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.TokenPaginationResponseHeaders
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.TrustOAuth2JwtGrantIssuer
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.TrustedOAuth2JwtGrantIssuer
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: instance GHC.Classes.Eq OryHydra.Model.Version
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.AcceptOAuth2ConsentRequest
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.AcceptOAuth2LoginRequest
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.All
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.AuthBasicBasic
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.AuthBasicBearer
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.AuthOAuthOauth2
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Client
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.ClientId
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.ClientName
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.ClientSecret
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Code
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.ConsentChallenge
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.CreateJsonWebKeySet
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.DefaultItems
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.ErrorOAuth2
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.GenericError
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.GetVersion200Response
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.GrantType
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.HealthNotReadyStatus
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.HealthStatus
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Id
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.IntrospectedOAuth2Token
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.IsReady200Response
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.IsReady503Response
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Issuer
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.JsonPatch
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.JsonPatch2
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.JsonWebKey
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.JsonWebKeySet
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Kid
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.LoginChallenge
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.LoginSessionId
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.LogoutChallenge
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.MaxItems
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2Client
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2ClientTokenLifespans
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2ConsentRequest
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2ConsentSession
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2LoginRequest
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2LogoutRequest
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2RedirectTo
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OAuth2TokenExchange
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OidcConfiguration
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.OidcUserInfo
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Owner
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.PageSize
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.PageToken
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Pagination
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.PaginationHeaders
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.RedirectUri
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.RefreshToken
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.RejectOAuth2Request
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Scope
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Set
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Subject
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Token
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.TokenPagination
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.TokenPaginationHeaders
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.TokenPaginationRequestParameters
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.TokenPaginationResponseHeaders
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.TrustOAuth2JwtGrantIssuer
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.TrustedOAuth2JwtGrantIssuer
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: instance GHC.Show.Show OryHydra.Model.Version
+ OryHydra.Model: instance OryHydra.Core.AuthMethod OryHydra.Model.AuthBasicBasic
+ OryHydra.Model: instance OryHydra.Core.AuthMethod OryHydra.Model.AuthBasicBearer
+ OryHydra.Model: instance OryHydra.Core.AuthMethod OryHydra.Model.AuthOAuthOauth2
+ OryHydra.Model: mkAcceptOAuth2ConsentRequest :: AcceptOAuth2ConsentRequest
+ OryHydra.Model: mkAcceptOAuth2ConsentRequestSession :: AcceptOAuth2ConsentRequestSession
+ OryHydra.Model: mkAcceptOAuth2LoginRequest :: Text -> AcceptOAuth2LoginRequest
+ OryHydra.Model: mkCreateJsonWebKeySet :: Text -> Text -> Text -> CreateJsonWebKeySet
+ OryHydra.Model: mkErrorOAuth2 :: ErrorOAuth2
+ OryHydra.Model: mkGenericError :: Text -> GenericError
+ OryHydra.Model: mkGetVersion200Response :: GetVersion200Response
+ OryHydra.Model: mkHealthNotReadyStatus :: HealthNotReadyStatus
+ OryHydra.Model: mkHealthStatus :: HealthStatus
+ OryHydra.Model: mkIntrospectedOAuth2Token :: Bool -> IntrospectedOAuth2Token
+ OryHydra.Model: mkIsReady200Response :: IsReady200Response
+ OryHydra.Model: mkIsReady503Response :: IsReady503Response
+ OryHydra.Model: mkJsonPatch :: Text -> Text -> JsonPatch
+ OryHydra.Model: mkJsonWebKey :: Text -> Text -> Text -> Text -> JsonWebKey
+ OryHydra.Model: mkJsonWebKeySet :: JsonWebKeySet
+ OryHydra.Model: mkOAuth2Client :: OAuth2Client
+ OryHydra.Model: mkOAuth2ClientTokenLifespans :: OAuth2ClientTokenLifespans
+ OryHydra.Model: mkOAuth2ConsentRequest :: Text -> OAuth2ConsentRequest
+ OryHydra.Model: mkOAuth2ConsentRequestOpenIDConnectContext :: OAuth2ConsentRequestOpenIDConnectContext
+ OryHydra.Model: mkOAuth2ConsentSession :: OAuth2ConsentSession
+ OryHydra.Model: mkOAuth2ConsentSessionExpiresAt :: OAuth2ConsentSessionExpiresAt
+ OryHydra.Model: mkOAuth2LoginRequest :: Text -> OAuth2Client -> Text -> [Text] -> [Text] -> Bool -> Text -> OAuth2LoginRequest
+ OryHydra.Model: mkOAuth2LogoutRequest :: OAuth2LogoutRequest
+ OryHydra.Model: mkOAuth2RedirectTo :: Text -> OAuth2RedirectTo
+ OryHydra.Model: mkOAuth2TokenExchange :: OAuth2TokenExchange
+ OryHydra.Model: mkOidcConfiguration :: Text -> [Text] -> [Text] -> Text -> Text -> [Text] -> [Text] -> Text -> [Text] -> OidcConfiguration
+ OryHydra.Model: mkOidcUserInfo :: OidcUserInfo
+ OryHydra.Model: mkPagination :: Pagination
+ OryHydra.Model: mkPaginationHeaders :: PaginationHeaders
+ OryHydra.Model: mkRejectOAuth2Request :: RejectOAuth2Request
+ OryHydra.Model: mkTokenPagination :: TokenPagination
+ OryHydra.Model: mkTokenPaginationHeaders :: TokenPaginationHeaders
+ OryHydra.Model: mkTokenPaginationRequestParameters :: TokenPaginationRequestParameters
+ OryHydra.Model: mkTokenPaginationResponseHeaders :: TokenPaginationResponseHeaders
+ OryHydra.Model: mkTrustOAuth2JwtGrantIssuer :: DateTime -> Text -> JsonWebKey -> [Text] -> TrustOAuth2JwtGrantIssuer
+ OryHydra.Model: mkTrustedOAuth2JwtGrantIssuer :: TrustedOAuth2JwtGrantIssuer
+ OryHydra.Model: mkTrustedOAuth2JwtGrantJsonWebKey :: TrustedOAuth2JwtGrantJsonWebKey
+ OryHydra.Model: mkVersion :: Version
+ OryHydra.Model: newtype All
+ OryHydra.Model: newtype Client
+ OryHydra.Model: newtype ClientId
+ OryHydra.Model: newtype ClientName
+ OryHydra.Model: newtype ClientSecret
+ OryHydra.Model: newtype Code
+ OryHydra.Model: newtype ConsentChallenge
+ OryHydra.Model: newtype DefaultItems
+ OryHydra.Model: newtype GrantType
+ OryHydra.Model: newtype Id
+ OryHydra.Model: newtype Issuer
+ OryHydra.Model: newtype JsonPatch2
+ OryHydra.Model: newtype Kid
+ OryHydra.Model: newtype LoginChallenge
+ OryHydra.Model: newtype LoginSessionId
+ OryHydra.Model: newtype LogoutChallenge
+ OryHydra.Model: newtype MaxItems
+ OryHydra.Model: newtype Owner
+ OryHydra.Model: newtype PageSize
+ OryHydra.Model: newtype PageToken
+ OryHydra.Model: newtype RedirectUri
+ OryHydra.Model: newtype RefreshToken
+ OryHydra.Model: newtype Scope
+ OryHydra.Model: newtype Set
+ OryHydra.Model: newtype Subject
+ OryHydra.Model: newtype Token
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestGrantAccessTokenAudienceL :: Lens_' AcceptOAuth2ConsentRequest (Maybe [Text])
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestGrantScopeL :: Lens_' AcceptOAuth2ConsentRequest (Maybe [Text])
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestHandledAtL :: Lens_' AcceptOAuth2ConsentRequest (Maybe DateTime)
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestRememberForL :: Lens_' AcceptOAuth2ConsentRequest (Maybe Integer)
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestRememberL :: Lens_' AcceptOAuth2ConsentRequest (Maybe Bool)
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestSessionAccessTokenL :: Lens_' AcceptOAuth2ConsentRequestSession (Maybe Value)
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestSessionIdTokenL :: Lens_' AcceptOAuth2ConsentRequestSession (Maybe Value)
+ OryHydra.ModelLens: acceptOAuth2ConsentRequestSessionL :: Lens_' AcceptOAuth2ConsentRequest (Maybe AcceptOAuth2ConsentRequestSession)
+ OryHydra.ModelLens: acceptOAuth2LoginRequestAcrL :: Lens_' AcceptOAuth2LoginRequest (Maybe Text)
+ OryHydra.ModelLens: acceptOAuth2LoginRequestAmrL :: Lens_' AcceptOAuth2LoginRequest (Maybe [Text])
+ OryHydra.ModelLens: acceptOAuth2LoginRequestContextL :: Lens_' AcceptOAuth2LoginRequest (Maybe Value)
+ OryHydra.ModelLens: acceptOAuth2LoginRequestForceSubjectIdentifierL :: Lens_' AcceptOAuth2LoginRequest (Maybe Text)
+ OryHydra.ModelLens: acceptOAuth2LoginRequestRememberForL :: Lens_' AcceptOAuth2LoginRequest (Maybe Integer)
+ OryHydra.ModelLens: acceptOAuth2LoginRequestRememberL :: Lens_' AcceptOAuth2LoginRequest (Maybe Bool)
+ OryHydra.ModelLens: acceptOAuth2LoginRequestSubjectL :: Lens_' AcceptOAuth2LoginRequest Text
+ OryHydra.ModelLens: createJsonWebKeySetAlgL :: Lens_' CreateJsonWebKeySet Text
+ OryHydra.ModelLens: createJsonWebKeySetKidL :: Lens_' CreateJsonWebKeySet Text
+ OryHydra.ModelLens: createJsonWebKeySetUseL :: Lens_' CreateJsonWebKeySet Text
+ OryHydra.ModelLens: errorOAuth2ErrorDebugL :: Lens_' ErrorOAuth2 (Maybe Text)
+ OryHydra.ModelLens: errorOAuth2ErrorDescriptionL :: Lens_' ErrorOAuth2 (Maybe Text)
+ OryHydra.ModelLens: errorOAuth2ErrorHintL :: Lens_' ErrorOAuth2 (Maybe Text)
+ OryHydra.ModelLens: errorOAuth2ErrorL :: Lens_' ErrorOAuth2 (Maybe Text)
+ OryHydra.ModelLens: errorOAuth2StatusCodeL :: Lens_' ErrorOAuth2 (Maybe Integer)
+ OryHydra.ModelLens: genericErrorCodeL :: Lens_' GenericError (Maybe Integer)
+ OryHydra.ModelLens: genericErrorDebugL :: Lens_' GenericError (Maybe Text)
+ OryHydra.ModelLens: genericErrorDetailsL :: Lens_' GenericError (Maybe Value)
+ OryHydra.ModelLens: genericErrorIdL :: Lens_' GenericError (Maybe Text)
+ OryHydra.ModelLens: genericErrorMessageL :: Lens_' GenericError Text
+ OryHydra.ModelLens: genericErrorReasonL :: Lens_' GenericError (Maybe Text)
+ OryHydra.ModelLens: genericErrorRequestL :: Lens_' GenericError (Maybe Text)
+ OryHydra.ModelLens: genericErrorStatusL :: Lens_' GenericError (Maybe Text)
+ OryHydra.ModelLens: getVersion200ResponseVersionL :: Lens_' GetVersion200Response (Maybe Text)
+ OryHydra.ModelLens: healthNotReadyStatusErrorsL :: Lens_' HealthNotReadyStatus (Maybe (Map String Text))
+ OryHydra.ModelLens: healthStatusStatusL :: Lens_' HealthStatus (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenActiveL :: Lens_' IntrospectedOAuth2Token Bool
+ OryHydra.ModelLens: introspectedOAuth2TokenAudL :: Lens_' IntrospectedOAuth2Token (Maybe [Text])
+ OryHydra.ModelLens: introspectedOAuth2TokenClientIdL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenExpL :: Lens_' IntrospectedOAuth2Token (Maybe Integer)
+ OryHydra.ModelLens: introspectedOAuth2TokenExtL :: Lens_' IntrospectedOAuth2Token (Maybe (Map String Value))
+ OryHydra.ModelLens: introspectedOAuth2TokenIatL :: Lens_' IntrospectedOAuth2Token (Maybe Integer)
+ OryHydra.ModelLens: introspectedOAuth2TokenIssL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenNbfL :: Lens_' IntrospectedOAuth2Token (Maybe Integer)
+ OryHydra.ModelLens: introspectedOAuth2TokenObfuscatedSubjectL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenScopeL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenSubL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenTokenTypeL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenTokenUseL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: introspectedOAuth2TokenUsernameL :: Lens_' IntrospectedOAuth2Token (Maybe Text)
+ OryHydra.ModelLens: isReady200ResponseStatusL :: Lens_' IsReady200Response (Maybe Text)
+ OryHydra.ModelLens: isReady503ResponseErrorsL :: Lens_' IsReady503Response (Maybe (Map String Text))
+ OryHydra.ModelLens: jsonPatchFromL :: Lens_' JsonPatch (Maybe Text)
+ OryHydra.ModelLens: jsonPatchOpL :: Lens_' JsonPatch Text
+ OryHydra.ModelLens: jsonPatchPathL :: Lens_' JsonPatch Text
+ OryHydra.ModelLens: jsonPatchValueL :: Lens_' JsonPatch (Maybe Value)
+ OryHydra.ModelLens: jsonWebKeyAlgL :: Lens_' JsonWebKey Text
+ OryHydra.ModelLens: jsonWebKeyCrvL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyDL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyDpL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyDqL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyEL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyKL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyKidL :: Lens_' JsonWebKey Text
+ OryHydra.ModelLens: jsonWebKeyKtyL :: Lens_' JsonWebKey Text
+ OryHydra.ModelLens: jsonWebKeyNL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyPL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyQL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyQiL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeySetKeysL :: Lens_' JsonWebKeySet (Maybe [JsonWebKey])
+ OryHydra.ModelLens: jsonWebKeyUseL :: Lens_' JsonWebKey Text
+ OryHydra.ModelLens: jsonWebKeyX5cL :: Lens_' JsonWebKey (Maybe [Text])
+ OryHydra.ModelLens: jsonWebKeyXL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: jsonWebKeyYL :: Lens_' JsonWebKey (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientAllowedCorsOriginsL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientAudienceL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientAuthorizationCodeGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientAuthorizationCodeGrantIdTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientBackchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)
+ OryHydra.ModelLens: oAuth2ClientBackchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientClientCredentialsGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientClientIdL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientClientNameL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientClientSecretExpiresAtL :: Lens_' OAuth2Client (Maybe Integer)
+ OryHydra.ModelLens: oAuth2ClientClientSecretL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientClientUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientContactsL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientCreatedAtL :: Lens_' OAuth2Client (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ClientFrontchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)
+ OryHydra.ModelLens: oAuth2ClientFrontchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientGrantTypesL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientImplicitGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientImplicitGrantIdTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientJwksL :: Lens_' OAuth2Client (Maybe Value)
+ OryHydra.ModelLens: oAuth2ClientJwksUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientJwtBearerGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientLogoUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientMetadataL :: Lens_' OAuth2Client (Maybe Value)
+ OryHydra.ModelLens: oAuth2ClientOwnerL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientPolicyUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientPostLogoutRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientRefreshTokenGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientRefreshTokenGrantIdTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientRefreshTokenGrantRefreshTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientRegistrationAccessTokenL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientRegistrationClientUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientRequestObjectSigningAlgL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientRequestUrisL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientResponseTypesL :: Lens_' OAuth2Client (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ClientScopeL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientSectorIdentifierUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientSubjectTypeL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenEndpointAuthMethodL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenEndpointAuthSigningAlgL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientTosUriL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ClientUpdatedAtL :: Lens_' OAuth2Client (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ClientUserinfoSignedResponseAlgL :: Lens_' OAuth2Client (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentRequestAcrL :: Lens_' OAuth2ConsentRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentRequestAmrL :: Lens_' OAuth2ConsentRequest (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ConsentRequestChallengeL :: Lens_' OAuth2ConsentRequest Text
+ OryHydra.ModelLens: oAuth2ConsentRequestClientL :: Lens_' OAuth2ConsentRequest (Maybe OAuth2Client)
+ OryHydra.ModelLens: oAuth2ConsentRequestContextL :: Lens_' OAuth2ConsentRequest (Maybe Value)
+ OryHydra.ModelLens: oAuth2ConsentRequestLoginChallengeL :: Lens_' OAuth2ConsentRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentRequestLoginSessionIdL :: Lens_' OAuth2ConsentRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentRequestOidcContextL :: Lens_' OAuth2ConsentRequest (Maybe OAuth2ConsentRequestOpenIDConnectContext)
+ OryHydra.ModelLens: oAuth2ConsentRequestOpenIDConnectContextAcrValuesL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ConsentRequestOpenIDConnectContextDisplayL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaimsL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe (Map String Value))
+ OryHydra.ModelLens: oAuth2ConsentRequestOpenIDConnectContextLoginHintL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentRequestOpenIDConnectContextUiLocalesL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ConsentRequestRequestUrlL :: Lens_' OAuth2ConsentRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentRequestRequestedAccessTokenAudienceL :: Lens_' OAuth2ConsentRequest (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ConsentRequestRequestedScopeL :: Lens_' OAuth2ConsentRequest (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ConsentRequestSkipL :: Lens_' OAuth2ConsentRequest (Maybe Bool)
+ OryHydra.ModelLens: oAuth2ConsentRequestSubjectL :: Lens_' OAuth2ConsentRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2ConsentSessionConsentRequestL :: Lens_' OAuth2ConsentSession (Maybe OAuth2ConsentRequest)
+ OryHydra.ModelLens: oAuth2ConsentSessionExpiresAtAccessTokenL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ConsentSessionExpiresAtAuthorizeCodeL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ConsentSessionExpiresAtIdTokenL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ConsentSessionExpiresAtL :: Lens_' OAuth2ConsentSession (Maybe OAuth2ConsentSessionExpiresAt)
+ OryHydra.ModelLens: oAuth2ConsentSessionExpiresAtParContextL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ConsentSessionExpiresAtRefreshTokenL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ConsentSessionGrantAccessTokenAudienceL :: Lens_' OAuth2ConsentSession (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ConsentSessionGrantScopeL :: Lens_' OAuth2ConsentSession (Maybe [Text])
+ OryHydra.ModelLens: oAuth2ConsentSessionHandledAtL :: Lens_' OAuth2ConsentSession (Maybe DateTime)
+ OryHydra.ModelLens: oAuth2ConsentSessionRememberForL :: Lens_' OAuth2ConsentSession (Maybe Integer)
+ OryHydra.ModelLens: oAuth2ConsentSessionRememberL :: Lens_' OAuth2ConsentSession (Maybe Bool)
+ OryHydra.ModelLens: oAuth2ConsentSessionSessionL :: Lens_' OAuth2ConsentSession (Maybe AcceptOAuth2ConsentRequestSession)
+ OryHydra.ModelLens: oAuth2LoginRequestChallengeL :: Lens_' OAuth2LoginRequest Text
+ OryHydra.ModelLens: oAuth2LoginRequestClientL :: Lens_' OAuth2LoginRequest OAuth2Client
+ OryHydra.ModelLens: oAuth2LoginRequestOidcContextL :: Lens_' OAuth2LoginRequest (Maybe OAuth2ConsentRequestOpenIDConnectContext)
+ OryHydra.ModelLens: oAuth2LoginRequestRequestUrlL :: Lens_' OAuth2LoginRequest Text
+ OryHydra.ModelLens: oAuth2LoginRequestRequestedAccessTokenAudienceL :: Lens_' OAuth2LoginRequest [Text]
+ OryHydra.ModelLens: oAuth2LoginRequestRequestedScopeL :: Lens_' OAuth2LoginRequest [Text]
+ OryHydra.ModelLens: oAuth2LoginRequestSessionIdL :: Lens_' OAuth2LoginRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2LoginRequestSkipL :: Lens_' OAuth2LoginRequest Bool
+ OryHydra.ModelLens: oAuth2LoginRequestSubjectL :: Lens_' OAuth2LoginRequest Text
+ OryHydra.ModelLens: oAuth2LogoutRequestChallengeL :: Lens_' OAuth2LogoutRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2LogoutRequestClientL :: Lens_' OAuth2LogoutRequest (Maybe OAuth2Client)
+ OryHydra.ModelLens: oAuth2LogoutRequestRequestUrlL :: Lens_' OAuth2LogoutRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2LogoutRequestRpInitiatedL :: Lens_' OAuth2LogoutRequest (Maybe Bool)
+ OryHydra.ModelLens: oAuth2LogoutRequestSidL :: Lens_' OAuth2LogoutRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2LogoutRequestSubjectL :: Lens_' OAuth2LogoutRequest (Maybe Text)
+ OryHydra.ModelLens: oAuth2RedirectToRedirectToL :: Lens_' OAuth2RedirectTo Text
+ OryHydra.ModelLens: oAuth2TokenExchangeAccessTokenL :: Lens_' OAuth2TokenExchange (Maybe Text)
+ OryHydra.ModelLens: oAuth2TokenExchangeExpiresInL :: Lens_' OAuth2TokenExchange (Maybe Integer)
+ OryHydra.ModelLens: oAuth2TokenExchangeIdTokenL :: Lens_' OAuth2TokenExchange (Maybe Integer)
+ OryHydra.ModelLens: oAuth2TokenExchangeRefreshTokenL :: Lens_' OAuth2TokenExchange (Maybe Text)
+ OryHydra.ModelLens: oAuth2TokenExchangeScopeL :: Lens_' OAuth2TokenExchange (Maybe Text)
+ OryHydra.ModelLens: oAuth2TokenExchangeTokenTypeL :: Lens_' OAuth2TokenExchange (Maybe Text)
+ OryHydra.ModelLens: oidcConfigurationAuthorizationEndpointL :: Lens_' OidcConfiguration Text
+ OryHydra.ModelLens: oidcConfigurationBackchannelLogoutSessionSupportedL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationBackchannelLogoutSupportedL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationClaimsParameterSupportedL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationClaimsSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcConfigurationCodeChallengeMethodsSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcConfigurationEndSessionEndpointL :: Lens_' OidcConfiguration (Maybe Text)
+ OryHydra.ModelLens: oidcConfigurationFrontchannelLogoutSessionSupportedL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationFrontchannelLogoutSupportedL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationGrantTypesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcConfigurationIdTokenSignedResponseAlgL :: Lens_' OidcConfiguration [Text]
+ OryHydra.ModelLens: oidcConfigurationIdTokenSigningAlgValuesSupportedL :: Lens_' OidcConfiguration [Text]
+ OryHydra.ModelLens: oidcConfigurationIssuerL :: Lens_' OidcConfiguration Text
+ OryHydra.ModelLens: oidcConfigurationJwksUriL :: Lens_' OidcConfiguration Text
+ OryHydra.ModelLens: oidcConfigurationRegistrationEndpointL :: Lens_' OidcConfiguration (Maybe Text)
+ OryHydra.ModelLens: oidcConfigurationRequestObjectSigningAlgValuesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcConfigurationRequestParameterSupportedL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationRequestUriParameterSupportedL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationRequireRequestUriRegistrationL :: Lens_' OidcConfiguration (Maybe Bool)
+ OryHydra.ModelLens: oidcConfigurationResponseModesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcConfigurationResponseTypesSupportedL :: Lens_' OidcConfiguration [Text]
+ OryHydra.ModelLens: oidcConfigurationRevocationEndpointL :: Lens_' OidcConfiguration (Maybe Text)
+ OryHydra.ModelLens: oidcConfigurationScopesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcConfigurationSubjectTypesSupportedL :: Lens_' OidcConfiguration [Text]
+ OryHydra.ModelLens: oidcConfigurationTokenEndpointAuthMethodsSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcConfigurationTokenEndpointL :: Lens_' OidcConfiguration Text
+ OryHydra.ModelLens: oidcConfigurationUserinfoEndpointL :: Lens_' OidcConfiguration (Maybe Text)
+ OryHydra.ModelLens: oidcConfigurationUserinfoSignedResponseAlgL :: Lens_' OidcConfiguration [Text]
+ OryHydra.ModelLens: oidcConfigurationUserinfoSigningAlgValuesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])
+ OryHydra.ModelLens: oidcUserInfoBirthdateL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoEmailL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoEmailVerifiedL :: Lens_' OidcUserInfo (Maybe Bool)
+ OryHydra.ModelLens: oidcUserInfoFamilyNameL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoGenderL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoGivenNameL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoLocaleL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoMiddleNameL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoNameL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoNicknameL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoPhoneNumberL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoPhoneNumberVerifiedL :: Lens_' OidcUserInfo (Maybe Bool)
+ OryHydra.ModelLens: oidcUserInfoPictureL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoPreferredUsernameL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoProfileL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoSubL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoUpdatedAtL :: Lens_' OidcUserInfo (Maybe Integer)
+ OryHydra.ModelLens: oidcUserInfoWebsiteL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: oidcUserInfoZoneinfoL :: Lens_' OidcUserInfo (Maybe Text)
+ OryHydra.ModelLens: paginationHeadersLinkL :: Lens_' PaginationHeaders (Maybe Text)
+ OryHydra.ModelLens: paginationHeadersXTotalCountL :: Lens_' PaginationHeaders (Maybe Text)
+ OryHydra.ModelLens: paginationPageSizeL :: Lens_' Pagination (Maybe Integer)
+ OryHydra.ModelLens: paginationPageTokenL :: Lens_' Pagination (Maybe Text)
+ OryHydra.ModelLens: rejectOAuth2RequestErrorDebugL :: Lens_' RejectOAuth2Request (Maybe Text)
+ OryHydra.ModelLens: rejectOAuth2RequestErrorDescriptionL :: Lens_' RejectOAuth2Request (Maybe Text)
+ OryHydra.ModelLens: rejectOAuth2RequestErrorHintL :: Lens_' RejectOAuth2Request (Maybe Text)
+ OryHydra.ModelLens: rejectOAuth2RequestErrorL :: Lens_' RejectOAuth2Request (Maybe Text)
+ OryHydra.ModelLens: rejectOAuth2RequestStatusCodeL :: Lens_' RejectOAuth2Request (Maybe Integer)
+ OryHydra.ModelLens: tokenPaginationHeadersLinkL :: Lens_' TokenPaginationHeaders (Maybe Text)
+ OryHydra.ModelLens: tokenPaginationHeadersXTotalCountL :: Lens_' TokenPaginationHeaders (Maybe Text)
+ OryHydra.ModelLens: tokenPaginationPageSizeL :: Lens_' TokenPagination (Maybe Integer)
+ OryHydra.ModelLens: tokenPaginationPageTokenL :: Lens_' TokenPagination (Maybe Text)
+ OryHydra.ModelLens: tokenPaginationRequestParametersPageSizeL :: Lens_' TokenPaginationRequestParameters (Maybe Integer)
+ OryHydra.ModelLens: tokenPaginationRequestParametersPageTokenL :: Lens_' TokenPaginationRequestParameters (Maybe Text)
+ OryHydra.ModelLens: tokenPaginationResponseHeadersLinkL :: Lens_' TokenPaginationResponseHeaders (Maybe Text)
+ OryHydra.ModelLens: tokenPaginationResponseHeadersXTotalCountL :: Lens_' TokenPaginationResponseHeaders (Maybe Integer)
+ OryHydra.ModelLens: trustOAuth2JwtGrantIssuerAllowAnySubjectL :: Lens_' TrustOAuth2JwtGrantIssuer (Maybe Bool)
+ OryHydra.ModelLens: trustOAuth2JwtGrantIssuerExpiresAtL :: Lens_' TrustOAuth2JwtGrantIssuer DateTime
+ OryHydra.ModelLens: trustOAuth2JwtGrantIssuerIssuerL :: Lens_' TrustOAuth2JwtGrantIssuer Text
+ OryHydra.ModelLens: trustOAuth2JwtGrantIssuerJwkL :: Lens_' TrustOAuth2JwtGrantIssuer JsonWebKey
+ OryHydra.ModelLens: trustOAuth2JwtGrantIssuerScopeL :: Lens_' TrustOAuth2JwtGrantIssuer [Text]
+ OryHydra.ModelLens: trustOAuth2JwtGrantIssuerSubjectL :: Lens_' TrustOAuth2JwtGrantIssuer (Maybe Text)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerAllowAnySubjectL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Bool)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerCreatedAtL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe DateTime)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerExpiresAtL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe DateTime)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerIdL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Text)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerIssuerL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Text)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerPublicKeyL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe TrustedOAuth2JwtGrantJsonWebKey)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerScopeL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe [Text])
+ OryHydra.ModelLens: trustedOAuth2JwtGrantIssuerSubjectL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Text)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantJsonWebKeyKidL :: Lens_' TrustedOAuth2JwtGrantJsonWebKey (Maybe Text)
+ OryHydra.ModelLens: trustedOAuth2JwtGrantJsonWebKeySetL :: Lens_' TrustedOAuth2JwtGrantJsonWebKey (Maybe Text)
+ OryHydra.ModelLens: versionVersionL :: Lens_' Version (Maybe Text)
Files
- README.md +13/−13
- lib/ORYHydra.hs +0/−30
- lib/ORYHydra/API/Admin.hs +0/−733
- lib/ORYHydra/API/Public.hs +0/−236
- lib/ORYHydra/Client.hs +0/−223
- lib/ORYHydra/Core.hs +0/−576
- lib/ORYHydra/Logging.hs +0/−33
- lib/ORYHydra/LoggingKatip.hs +0/−117
- lib/ORYHydra/LoggingMonadLogger.hs +0/−126
- lib/ORYHydra/MimeTypes.hs +0/−203
- lib/ORYHydra/Model.hs +0/−2216
- lib/ORYHydra/ModelLens.hs +0/−1434
- lib/OryHydra.hs +31/−0
- lib/OryHydra/API/Jwk.hs +213/−0
- lib/OryHydra/API/Metadata.hs +113/−0
- lib/OryHydra/API/OAuth2.hs +763/−0
- lib/OryHydra/API/Oidc.hs +218/−0
- lib/OryHydra/API/Wellknown.hs +77/−0
- lib/OryHydra/Client.hs +224/−0
- lib/OryHydra/Core.hs +582/−0
- lib/OryHydra/Logging.hs +34/−0
- lib/OryHydra/LoggingKatip.hs +118/−0
- lib/OryHydra/LoggingMonadLogger.hs +127/−0
- lib/OryHydra/MimeTypes.hs +204/−0
- lib/OryHydra/Model.hs +2238/−0
- lib/OryHydra/ModelLens.hs +1500/−0
- openapi.yaml +4339/−3561
- ory-hydra-client.cabal +24/−21
- tests/Instances.hs +409/−392
- tests/PropMime.hs +1/−1
- tests/Test.hs +35/−35
README.md view
@@ -1,8 +1,8 @@-## OpenAPI Auto-Generated [http-client](https://www.stackage.org/lts-10.0/package/http-client-0.5.7.1) Bindings to `ORY Hydra`+## OpenAPI Auto-Generated [http-client](https://www.stackage.org/lts-10.0/package/http-client-0.5.7.1) Bindings to `Ory Hydra API` -The library in `lib` provides auto-generated-from-OpenAPI [http-client](https://www.stackage.org/lts-10.0/package/http-client-0.5.7.1) bindings to the ORY Hydra API.+The library in `lib` provides auto-generated-from-OpenAPI [http-client](https://www.stackage.org/lts-10.0/package/http-client-0.5.7.1) bindings to the Ory Hydra API API. -OpenApi Version: 3.0.1+OpenApi Version: 3.0.3 ## Installation @@ -59,11 +59,11 @@ | allowFromJsonNulls | allow JSON Null during model decoding from JSON | true | true | | allowNonUniqueOperationIds | allow *different* API modules to contain the same operationId. Each API must be imported qualified | false | true | | allowToJsonNulls | allow emitting JSON Null during model encoding to JSON | false | false |-| baseModule | Set the base module namespace | | ORYHydra |+| baseModule | Set the base module namespace | | OryHydra | | cabalPackage | Set the cabal package name, which consists of one or more alphanumeric words separated by hyphens | | ory-hydra-client | | cabalVersion | Set the cabal version number, consisting of a sequence of one or more integers separated by dots | 0.1.0.0 | 0.1.0.0 | | customTestInstanceModule | test module used to provide typeclass instances for types not known by the generator | | |-| configType | Set the name of the type used for configuration | | ORYHydraConfig |+| configType | Set the name of the type used for configuration | | OryHydraConfig | | dateFormat | format string used to parse/render a date | %Y-%m-%d | %Y-%m-%d | | dateTimeFormat | format string used to parse/render a datetime. (Defaults to [formatISO8601Millis][1] when not provided) | | | | dateTimeParseFormat | overrides the format string used to parse a datetime | | |@@ -73,7 +73,7 @@ | generateModelConstructors | Generate smart constructors (only supply required fields) for models | true | true | | inlineMimeTypes | Inline (hardcode) the content-type and accept parameters on operations, when there is only 1 option | true | true | | modelDeriving | Additional classes to include in the deriving() clause of Models | | |-| requestType | Set the name of the type used to generate requests | | ORYHydraRequest |+| requestType | Set the name of the type used to generate requests | | OryHydraRequest | | strictFields | Add strictness annotations to all model fields | true | false | | useKatip | Sets the default value for the UseKatip cabal flag. If true, the katip package provides logging instead of monad-logger | true | true | | queryExtraUnreserved | Configures additional querystring characters which must not be URI encoded, e.g. '+' or ':' | | |@@ -112,13 +112,13 @@ | MODULE | NOTES | | ------------------- | --------------------------------------------------- |-| ORYHydra.Client | use the "dispatch" functions to send requests |-| ORYHydra.Core | core functions, config and request types |-| ORYHydra.API | construct api requests |-| ORYHydra.Model | describes api models |-| ORYHydra.MimeTypes | encoding/decoding MIME types (content-types/accept) |-| ORYHydra.ModelLens | lenses for model fields |-| ORYHydra.Logging | logging functions and utils |+| OryHydra.Client | use the "dispatch" functions to send requests |+| OryHydra.Core | core functions, config and request types |+| OryHydra.API | construct api requests |+| OryHydra.Model | describes api models |+| OryHydra.MimeTypes | encoding/decoding MIME types (content-types/accept) |+| OryHydra.ModelLens | lenses for model fields |+| OryHydra.Logging | logging functions and utils | ### MimeTypes
− lib/ORYHydra.hs
@@ -1,30 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra--}--module ORYHydra- ( module ORYHydra.Client- , module ORYHydra.Core- , module ORYHydra.Logging- , module ORYHydra.MimeTypes- , module ORYHydra.Model- , module ORYHydra.ModelLens- ) where---import ORYHydra.Client-import ORYHydra.Core-import ORYHydra.Logging-import ORYHydra.MimeTypes-import ORYHydra.Model-import ORYHydra.ModelLens
− lib/ORYHydra/API/Admin.hs
@@ -1,733 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.API.Admin--}--{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MonoLocalBinds #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE OverloadedStrings #-}-{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}--module ORYHydra.API.Admin where--import ORYHydra.Core-import ORYHydra.MimeTypes-import ORYHydra.Model as M--import qualified Data.Aeson as A-import qualified Data.ByteString as B-import qualified Data.ByteString.Lazy as BL-import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)-import qualified Data.Foldable as P-import qualified Data.Map as Map-import qualified Data.Maybe as P-import qualified Data.Proxy as P (Proxy(..))-import qualified Data.Set as Set-import qualified Data.String as P-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Text.Lazy as TL-import qualified Data.Text.Lazy.Encoding as TL-import qualified Data.Time as TI-import qualified Network.HTTP.Client.MultipartFormData as NH-import qualified Network.HTTP.Media as ME-import qualified Network.HTTP.Types as NH-import qualified Web.FormUrlEncoded as WH-import qualified Web.HttpApiData as WH--import Data.Text (Text)-import GHC.Base ((<|>))--import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)-import qualified Prelude as P---- * Operations----- ** Admin---- *** acceptConsentRequest0---- | @PUT \/oauth2\/auth\/requests\/consent\/accept@--- --- Accept a Consent Request--- --- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider to authenticate the subject and then tell ORY Hydra now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent provider which handles this request and is a web app implemented and hosted by you. It shows a subject interface which asks the subject to grant or deny the client access to the requested scope (\"Application my-dropbox-app wants write access to all your private files\"). The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells ORY Hydra if the subject accepted or rejected the request. This endpoint tells ORY Hydra that the subject has authorized the OAuth 2.0 client to access resources on his/her behalf. The consent provider includes additional information, such as session data for access and ID tokens, and if the consent request should be used as basis for future requests. The response contains a redirect URL which the consent provider should redirect the user-agent to.--- -acceptConsentRequest0- :: (Consumes AcceptConsentRequest0 MimeJSON)- => ConsentChallenge -- ^ "consentChallenge"- -> ORYHydraRequest AcceptConsentRequest0 MimeJSON CompletedRequest MimeJSON-acceptConsentRequest0 (ConsentChallenge consentChallenge) =- _mkRequest "PUT" ["/oauth2/auth/requests/consent/accept"]- `addQuery` toQuery ("consent_challenge", Just consentChallenge)--data AcceptConsentRequest0 -instance HasBodyParam AcceptConsentRequest0 AcceptConsentRequest ---- | @application/json@-instance Consumes AcceptConsentRequest0 MimeJSON---- | @application/json@-instance Produces AcceptConsentRequest0 MimeJSON----- *** acceptLoginRequest0---- | @PUT \/oauth2\/auth\/requests\/login\/accept@--- --- Accept a Login Request--- --- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider (sometimes called \"identity provider\") to authenticate the subject and then tell ORY Hydra now about it. The login provider is an web-app you write and host, and it must be able to authenticate (\"show the subject a login screen\") a subject (in OAuth2 the proper name for subject is \"resource owner\"). The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process. This endpoint tells ORY Hydra that the subject has successfully authenticated and includes additional information such as the subject's ID and if ORY Hydra should remember the subject's subject agent for future authentication attempts by setting a cookie. The response contains a redirect URL which the login provider should redirect the user-agent to.--- -acceptLoginRequest0- :: (Consumes AcceptLoginRequest0 MimeJSON)- => LoginChallenge -- ^ "loginChallenge"- -> ORYHydraRequest AcceptLoginRequest0 MimeJSON CompletedRequest MimeJSON-acceptLoginRequest0 (LoginChallenge loginChallenge) =- _mkRequest "PUT" ["/oauth2/auth/requests/login/accept"]- `addQuery` toQuery ("login_challenge", Just loginChallenge)--data AcceptLoginRequest0 -instance HasBodyParam AcceptLoginRequest0 AcceptLoginRequest ---- | @application/json@-instance Consumes AcceptLoginRequest0 MimeJSON---- | @application/json@-instance Produces AcceptLoginRequest0 MimeJSON----- *** acceptLogoutRequest---- | @PUT \/oauth2\/auth\/requests\/logout\/accept@--- --- Accept a Logout Request--- --- When a user or an application requests ORY Hydra to log out a user, this endpoint is used to confirm that logout request. No body is required. The response contains a redirect URL which the consent provider should redirect the user-agent to.--- -acceptLogoutRequest- :: LogoutChallenge -- ^ "logoutChallenge"- -> ORYHydraRequest AcceptLogoutRequest MimeNoContent CompletedRequest MimeJSON-acceptLogoutRequest (LogoutChallenge logoutChallenge) =- _mkRequest "PUT" ["/oauth2/auth/requests/logout/accept"]- `addQuery` toQuery ("logout_challenge", Just logoutChallenge)--data AcceptLogoutRequest --- | @application/json@-instance Produces AcceptLogoutRequest MimeJSON----- *** createJsonWebKeySet---- | @POST \/keys\/{set}@--- --- Generate a New JSON Web Key--- --- This endpoint is capable of generating JSON Web Key Sets for you. There a different strategies available, such as symmetric cryptographic keys (HS256, HS512) and asymetric cryptographic keys (RS256, ECDSA). If the specified JSON Web Key Set does not exist, it will be created. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.--- -createJsonWebKeySet- :: (Consumes CreateJsonWebKeySet MimeJSON)- => Set -- ^ "set" - The set- -> ORYHydraRequest CreateJsonWebKeySet MimeJSON JSONWebKeySet MimeJSON-createJsonWebKeySet (Set set) =- _mkRequest "POST" ["/keys/",toPath set]--data CreateJsonWebKeySet -instance HasBodyParam CreateJsonWebKeySet JsonWebKeySetGeneratorRequest ---- | @application/json@-instance Consumes CreateJsonWebKeySet MimeJSON---- | @application/json@-instance Produces CreateJsonWebKeySet MimeJSON----- *** createOAuth2Client---- | @POST \/clients@--- --- Create an OAuth 2.0 Client--- --- Create a new OAuth 2.0 client If you pass `client_secret` the secret will be used, otherwise a random secret will be generated. The secret will be returned in the response and you will not be able to retrieve it later on. Write the secret down and keep it somwhere safe. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.--- -createOAuth2Client- :: (Consumes CreateOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client)- => OAuth2Client -- ^ "body"- -> ORYHydraRequest CreateOAuth2Client MimeJSON OAuth2Client MimeJSON-createOAuth2Client body =- _mkRequest "POST" ["/clients"]- `setBodyParam` body--data CreateOAuth2Client -instance HasBodyParam CreateOAuth2Client OAuth2Client ---- | @application/json@-instance Consumes CreateOAuth2Client MimeJSON---- | @application/json@-instance Produces CreateOAuth2Client MimeJSON----- *** deleteJsonWebKey---- | @DELETE \/keys\/{set}\/{kid}@--- --- Delete a JSON Web Key--- --- Use this endpoint to delete a single JSON Web Key. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.--- -deleteJsonWebKey- :: Kid -- ^ "kid" - The kid of the desired key- -> Set -- ^ "set" - The set- -> ORYHydraRequest DeleteJsonWebKey MimeNoContent NoContent MimeNoContent-deleteJsonWebKey (Kid kid) (Set set) =- _mkRequest "DELETE" ["/keys/",toPath set,"/",toPath kid]--data DeleteJsonWebKey -instance Produces DeleteJsonWebKey MimeNoContent----- *** deleteJsonWebKeySet---- | @DELETE \/keys\/{set}@--- --- Delete a JSON Web Key Set--- --- Use this endpoint to delete a complete JSON Web Key Set and all the keys in that set. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.--- -deleteJsonWebKeySet- :: Set -- ^ "set" - The set- -> ORYHydraRequest DeleteJsonWebKeySet MimeNoContent NoContent MimeNoContent-deleteJsonWebKeySet (Set set) =- _mkRequest "DELETE" ["/keys/",toPath set]--data DeleteJsonWebKeySet -instance Produces DeleteJsonWebKeySet MimeNoContent----- *** deleteOAuth2Client---- | @DELETE \/clients\/{id}@--- --- Deletes an OAuth 2.0 Client--- --- Delete an existing OAuth 2.0 Client by its ID. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.--- -deleteOAuth2Client- :: Id -- ^ "id" - The id of the OAuth 2.0 Client.- -> ORYHydraRequest DeleteOAuth2Client MimeNoContent NoContent MimeNoContent-deleteOAuth2Client (Id id) =- _mkRequest "DELETE" ["/clients/",toPath id]--data DeleteOAuth2Client -instance Produces DeleteOAuth2Client MimeNoContent----- *** deleteOAuth2Token---- | @DELETE \/oauth2\/tokens@--- --- Delete OAuth2 Access Tokens from a Client--- --- This endpoint deletes OAuth2 access tokens issued for a client from the database--- -deleteOAuth2Token- :: ClientId -- ^ "clientId"- -> ORYHydraRequest DeleteOAuth2Token MimeNoContent NoContent MimeNoContent-deleteOAuth2Token (ClientId clientId) =- _mkRequest "DELETE" ["/oauth2/tokens"]- `addQuery` toQuery ("client_id", Just clientId)--data DeleteOAuth2Token -instance Produces DeleteOAuth2Token MimeNoContent----- *** flushInactiveOAuth2Tokens---- | @POST \/oauth2\/flush@--- --- Flush Expired OAuth2 Access Tokens--- --- This endpoint flushes expired OAuth2 access tokens from the database. You can set a time after which no tokens will be not be touched, in case you want to keep recent tokens for auditing. Refresh tokens can not be flushed as they are deleted automatically when performing the refresh flow.--- -flushInactiveOAuth2Tokens- :: (Consumes FlushInactiveOAuth2Tokens MimeJSON)- => ORYHydraRequest FlushInactiveOAuth2Tokens MimeJSON NoContent MimeNoContent-flushInactiveOAuth2Tokens =- _mkRequest "POST" ["/oauth2/flush"]--data FlushInactiveOAuth2Tokens -instance HasBodyParam FlushInactiveOAuth2Tokens FlushInactiveOAuth2TokensRequest ---- | @application/json@-instance Consumes FlushInactiveOAuth2Tokens MimeJSON--instance Produces FlushInactiveOAuth2Tokens MimeNoContent----- *** getConsentRequest---- | @GET \/oauth2\/auth\/requests\/consent@--- --- Get Consent Request Information--- --- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider to authenticate the subject and then tell ORY Hydra now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent provider which handles this request and is a web app implemented and hosted by you. It shows a subject interface which asks the subject to grant or deny the client access to the requested scope (\"Application my-dropbox-app wants write access to all your private files\"). The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells ORY Hydra if the subject accepted or rejected the request.--- -getConsentRequest- :: ConsentChallenge -- ^ "consentChallenge"- -> ORYHydraRequest GetConsentRequest MimeNoContent ConsentRequest MimeJSON-getConsentRequest (ConsentChallenge consentChallenge) =- _mkRequest "GET" ["/oauth2/auth/requests/consent"]- `addQuery` toQuery ("consent_challenge", Just consentChallenge)--data GetConsentRequest --- | @application/json@-instance Produces GetConsentRequest MimeJSON----- *** getJsonWebKey---- | @GET \/keys\/{set}\/{kid}@--- --- Fetch a JSON Web Key--- --- This endpoint returns a singular JSON Web Key, identified by the set and the specific key ID (kid).--- -getJsonWebKey- :: Kid -- ^ "kid" - The kid of the desired key- -> Set -- ^ "set" - The set- -> ORYHydraRequest GetJsonWebKey MimeNoContent JSONWebKeySet MimeJSON-getJsonWebKey (Kid kid) (Set set) =- _mkRequest "GET" ["/keys/",toPath set,"/",toPath kid]--data GetJsonWebKey --- | @application/json@-instance Produces GetJsonWebKey MimeJSON----- *** getJsonWebKeySet---- | @GET \/keys\/{set}@--- --- Retrieve a JSON Web Key Set--- --- This endpoint can be used to retrieve JWK Sets stored in ORY Hydra. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.--- -getJsonWebKeySet- :: Set -- ^ "set" - The set- -> ORYHydraRequest GetJsonWebKeySet MimeNoContent JSONWebKeySet MimeJSON-getJsonWebKeySet (Set set) =- _mkRequest "GET" ["/keys/",toPath set]--data GetJsonWebKeySet --- | @application/json@-instance Produces GetJsonWebKeySet MimeJSON----- *** getLoginRequest---- | @GET \/oauth2\/auth\/requests\/login@--- --- Get a Login Request--- --- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider (sometimes called \"identity provider\") to authenticate the subject and then tell ORY Hydra now about it. The login provider is an web-app you write and host, and it must be able to authenticate (\"show the subject a login screen\") a subject (in OAuth2 the proper name for subject is \"resource owner\"). The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process.--- -getLoginRequest- :: LoginChallenge -- ^ "loginChallenge"- -> ORYHydraRequest GetLoginRequest MimeNoContent LoginRequest MimeJSON-getLoginRequest (LoginChallenge loginChallenge) =- _mkRequest "GET" ["/oauth2/auth/requests/login"]- `addQuery` toQuery ("login_challenge", Just loginChallenge)--data GetLoginRequest --- | @application/json@-instance Produces GetLoginRequest MimeJSON----- *** getLogoutRequest---- | @GET \/oauth2\/auth\/requests\/logout@--- --- Get a Logout Request--- --- Use this endpoint to fetch a logout request.--- -getLogoutRequest- :: LogoutChallenge -- ^ "logoutChallenge"- -> ORYHydraRequest GetLogoutRequest MimeNoContent LogoutRequest MimeJSON-getLogoutRequest (LogoutChallenge logoutChallenge) =- _mkRequest "GET" ["/oauth2/auth/requests/logout"]- `addQuery` toQuery ("logout_challenge", Just logoutChallenge)--data GetLogoutRequest --- | @application/json@-instance Produces GetLogoutRequest MimeJSON----- *** getOAuth2Client---- | @GET \/clients\/{id}@--- --- Get an OAuth 2.0 Client.--- --- Get an OAUth 2.0 client by its ID. This endpoint never returns passwords. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.--- -getOAuth2Client- :: Id -- ^ "id" - The id of the OAuth 2.0 Client.- -> ORYHydraRequest GetOAuth2Client MimeNoContent OAuth2Client MimeJSON-getOAuth2Client (Id id) =- _mkRequest "GET" ["/clients/",toPath id]--data GetOAuth2Client --- | @application/json@-instance Produces GetOAuth2Client MimeJSON----- *** getVersion---- | @GET \/version@--- --- Get Service Version--- --- This endpoint returns the service version typically notated using semantic versioning. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set.--- -getVersion- :: ORYHydraRequest GetVersion MimeNoContent Version MimeJSON-getVersion =- _mkRequest "GET" ["/version"]--data GetVersion --- | @application/json@-instance Produces GetVersion MimeJSON----- *** introspectOAuth2Token---- | @POST \/oauth2\/introspect@--- --- Introspect OAuth2 Tokens--- --- The introspection endpoint allows to check if a token (both refresh and access) is active or not. An active token is neither expired nor revoked. If a token is active, additional information on the token will be included. You can set additional data for a token by setting `accessTokenExtra` during the consent flow. For more information [read this blog post](https://www.oauth.com/oauth2-servers/token-introspection-endpoint/).--- -introspectOAuth2Token- :: (Consumes IntrospectOAuth2Token MimeFormUrlEncoded)- => Token -- ^ "token" - The string value of the token. For access tokens, this is the \\\"access_token\\\" value returned from the token endpoint defined in OAuth 2.0. For refresh tokens, this is the \\\"refresh_token\\\" value returned.- -> ORYHydraRequest IntrospectOAuth2Token MimeFormUrlEncoded OAuth2TokenIntrospection MimeJSON-introspectOAuth2Token (Token token) =- _mkRequest "POST" ["/oauth2/introspect"]- `addForm` toForm ("token", token)--data IntrospectOAuth2Token ---- | /Optional Param/ "scope" - An optional, space separated list of required scopes. If the access token was not granted one of the scopes, the result of active will be false.-instance HasOptionalParam IntrospectOAuth2Token Scope where- applyOptionalParam req (Scope xs) =- req `addForm` toForm ("scope", xs)---- | @application/x-www-form-urlencoded@-instance Consumes IntrospectOAuth2Token MimeFormUrlEncoded---- | @application/json@-instance Produces IntrospectOAuth2Token MimeJSON----- *** isInstanceAlive---- | @GET \/health\/alive@--- --- Check Alive Status--- --- This endpoint returns a 200 status code when the HTTP server is up running. This status does currently not include checks whether the database connection is working. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance.--- -isInstanceAlive- :: ORYHydraRequest IsInstanceAlive MimeNoContent HealthStatus MimeJSON-isInstanceAlive =- _mkRequest "GET" ["/health/alive"]--data IsInstanceAlive --- | @application/json@-instance Produces IsInstanceAlive MimeJSON----- *** listOAuth2Clients---- | @GET \/clients@--- --- List OAuth 2.0 Clients--- --- This endpoint lists all clients in the database, and never returns client secrets. As a default it lists the first 100 clients. The `limit` parameter can be used to retrieve more clients, but it has an upper bound at 500 objects. Pagination should be used to retrieve more than 500 objects. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components. The \"Link\" header is also included in successful responses, which contains one or more links for pagination, formatted like so: '<https://hydra-url/admin/clients?limit={limit}&offset={offset}>; rel=\"{page}\"', where page is one of the following applicable pages: 'first', 'next', 'last', and 'previous'. Multiple links can be included in this header, and will be separated by a comma.--- -listOAuth2Clients- :: ORYHydraRequest ListOAuth2Clients MimeNoContent [OAuth2Client] MimeJSON-listOAuth2Clients =- _mkRequest "GET" ["/clients"]--data ListOAuth2Clients ---- | /Optional Param/ "limit" - The maximum amount of policies returned, upper bound is 500 policies-instance HasOptionalParam ListOAuth2Clients Limit where- applyOptionalParam req (Limit xs) =- req `addQuery` toQuery ("limit", Just xs)---- | /Optional Param/ "offset" - The offset from where to start looking.-instance HasOptionalParam ListOAuth2Clients Offset where- applyOptionalParam req (Offset xs) =- req `addQuery` toQuery ("offset", Just xs)--- | @application/json@-instance Produces ListOAuth2Clients MimeJSON----- *** listSubjectConsentSessions---- | @GET \/oauth2\/auth\/sessions\/consent@--- --- Lists All Consent Sessions of a Subject--- --- This endpoint lists all subject's granted consent sessions, including client and granted scope. If the subject is unknown or has not granted any consent sessions yet, the endpoint returns an empty JSON array with status code 200 OK. The \"Link\" header is also included in successful responses, which contains one or more links for pagination, formatted like so: '<https://hydra-url/admin/oauth2/auth/sessions/consent?subject={user}&limit={limit}&offset={offset}>; rel=\"{page}\"', where page is one of the following applicable pages: 'first', 'next', 'last', and 'previous'. Multiple links can be included in this header, and will be separated by a comma.--- -listSubjectConsentSessions- :: Subject -- ^ "subject"- -> ORYHydraRequest ListSubjectConsentSessions MimeNoContent [PreviousConsentSession] MimeJSON-listSubjectConsentSessions (Subject subject) =- _mkRequest "GET" ["/oauth2/auth/sessions/consent"]- `addQuery` toQuery ("subject", Just subject)--data ListSubjectConsentSessions --- | @application/json@-instance Produces ListSubjectConsentSessions MimeJSON----- *** prometheus---- | @GET \/metrics\/prometheus@--- --- Get Snapshot Metrics from the Hydra Service.--- --- If you're using k8s, you can then add annotations to your deployment like so: ``` metadata: annotations: prometheus.io/port: \"4445\" prometheus.io/path: \"/metrics/prometheus\" ``` If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set.--- -prometheus- :: ORYHydraRequest Prometheus MimeNoContent NoContent MimeNoContent-prometheus =- _mkRequest "GET" ["/metrics/prometheus"]--data Prometheus -instance Produces Prometheus MimeNoContent----- *** rejectConsentRequest---- | @PUT \/oauth2\/auth\/requests\/consent\/reject@--- --- Reject a Consent Request--- --- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider to authenticate the subject and then tell ORY Hydra now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent provider which handles this request and is a web app implemented and hosted by you. It shows a subject interface which asks the subject to grant or deny the client access to the requested scope (\"Application my-dropbox-app wants write access to all your private files\"). The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells ORY Hydra if the subject accepted or rejected the request. This endpoint tells ORY Hydra that the subject has not authorized the OAuth 2.0 client to access resources on his/her behalf. The consent provider must include a reason why the consent was not granted. The response contains a redirect URL which the consent provider should redirect the user-agent to.--- -rejectConsentRequest- :: (Consumes RejectConsentRequest MimeJSON)- => ConsentChallenge -- ^ "consentChallenge"- -> ORYHydraRequest RejectConsentRequest MimeJSON CompletedRequest MimeJSON-rejectConsentRequest (ConsentChallenge consentChallenge) =- _mkRequest "PUT" ["/oauth2/auth/requests/consent/reject"]- `addQuery` toQuery ("consent_challenge", Just consentChallenge)--data RejectConsentRequest -instance HasBodyParam RejectConsentRequest RejectRequest ---- | @application/json@-instance Consumes RejectConsentRequest MimeJSON---- | @application/json@-instance Produces RejectConsentRequest MimeJSON----- *** rejectLoginRequest---- | @PUT \/oauth2\/auth\/requests\/login\/reject@--- --- Reject a Login Request--- --- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, ORY Hydra asks the login provider (sometimes called \"identity provider\") to authenticate the subject and then tell ORY Hydra now about it. The login provider is an web-app you write and host, and it must be able to authenticate (\"show the subject a login screen\") a subject (in OAuth2 the proper name for subject is \"resource owner\"). The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process. This endpoint tells ORY Hydra that the subject has not authenticated and includes a reason why the authentication was be denied. The response contains a redirect URL which the login provider should redirect the user-agent to.--- -rejectLoginRequest- :: (Consumes RejectLoginRequest MimeJSON)- => LoginChallenge -- ^ "loginChallenge"- -> ORYHydraRequest RejectLoginRequest MimeJSON CompletedRequest MimeJSON-rejectLoginRequest (LoginChallenge loginChallenge) =- _mkRequest "PUT" ["/oauth2/auth/requests/login/reject"]- `addQuery` toQuery ("login_challenge", Just loginChallenge)--data RejectLoginRequest -instance HasBodyParam RejectLoginRequest RejectRequest ---- | @application/json@-instance Consumes RejectLoginRequest MimeJSON---- | @application/json@-instance Produces RejectLoginRequest MimeJSON----- *** rejectLogoutRequest---- | @PUT \/oauth2\/auth\/requests\/logout\/reject@--- --- Reject a Logout Request--- --- When a user or an application requests ORY Hydra to log out a user, this endpoint is used to deny that logout request. No body is required. The response is empty as the logout provider has to chose what action to perform next.--- -rejectLogoutRequest- :: (Consumes RejectLogoutRequest contentType)- => ContentType contentType -- ^ request content-type ('MimeType')- -> LogoutChallenge -- ^ "logoutChallenge"- -> ORYHydraRequest RejectLogoutRequest contentType NoContent MimeNoContent-rejectLogoutRequest _ (LogoutChallenge logoutChallenge) =- _mkRequest "PUT" ["/oauth2/auth/requests/logout/reject"]- `addQuery` toQuery ("logout_challenge", Just logoutChallenge)--data RejectLogoutRequest -instance HasBodyParam RejectLogoutRequest RejectRequest ---- | @application/json@-instance Consumes RejectLogoutRequest MimeJSON--- | @application/x-www-form-urlencoded@-instance Consumes RejectLogoutRequest MimeFormUrlEncoded--instance Produces RejectLogoutRequest MimeNoContent----- *** revokeAuthenticationSession---- | @DELETE \/oauth2\/auth\/sessions\/login@--- --- Invalidates All Login Sessions of a Certain User Invalidates a Subject's Authentication Session--- --- This endpoint invalidates a subject's authentication session. After revoking the authentication session, the subject has to re-authenticate at ORY Hydra. This endpoint does not invalidate any tokens and does not work with OpenID Connect Front- or Back-channel logout.--- -revokeAuthenticationSession- :: Subject -- ^ "subject"- -> ORYHydraRequest RevokeAuthenticationSession MimeNoContent NoContent MimeNoContent-revokeAuthenticationSession (Subject subject) =- _mkRequest "DELETE" ["/oauth2/auth/sessions/login"]- `addQuery` toQuery ("subject", Just subject)--data RevokeAuthenticationSession -instance Produces RevokeAuthenticationSession MimeNoContent----- *** revokeConsentSessions---- | @DELETE \/oauth2\/auth\/sessions\/consent@--- --- Revokes Consent Sessions of a Subject for a Specific OAuth 2.0 Client--- --- This endpoint revokes a subject's granted consent sessions for a specific OAuth 2.0 Client and invalidates all associated OAuth 2.0 Access Tokens.--- -revokeConsentSessions- :: Subject -- ^ "subject" - The subject (Subject) who's consent sessions should be deleted.- -> ORYHydraRequest RevokeConsentSessions MimeNoContent NoContent MimeNoContent-revokeConsentSessions (Subject subject) =- _mkRequest "DELETE" ["/oauth2/auth/sessions/consent"]- `addQuery` toQuery ("subject", Just subject)--data RevokeConsentSessions ---- | /Optional Param/ "client" - If set, deletes only those consent sessions by the Subject that have been granted to the specified OAuth 2.0 Client ID-instance HasOptionalParam RevokeConsentSessions Client where- applyOptionalParam req (Client xs) =- req `addQuery` toQuery ("client", Just xs)---- | /Optional Param/ "all" - If set to `?all=true`, deletes all consent sessions by the Subject that have been granted.-instance HasOptionalParam RevokeConsentSessions All where- applyOptionalParam req (All xs) =- req `addQuery` toQuery ("all", Just xs)-instance Produces RevokeConsentSessions MimeNoContent----- *** updateJsonWebKey---- | @PUT \/keys\/{set}\/{kid}@--- --- Update a JSON Web Key--- --- Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.--- -updateJsonWebKey- :: (Consumes UpdateJsonWebKey MimeJSON)- => Kid -- ^ "kid" - The kid of the desired key- -> Set -- ^ "set" - The set- -> ORYHydraRequest UpdateJsonWebKey MimeJSON JSONWebKey MimeJSON-updateJsonWebKey (Kid kid) (Set set) =- _mkRequest "PUT" ["/keys/",toPath set,"/",toPath kid]--data UpdateJsonWebKey -instance HasBodyParam UpdateJsonWebKey JSONWebKey ---- | @application/json@-instance Consumes UpdateJsonWebKey MimeJSON---- | @application/json@-instance Produces UpdateJsonWebKey MimeJSON----- *** updateJsonWebKeySet---- | @PUT \/keys\/{set}@--- --- Update a JSON Web Key Set--- --- Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.--- -updateJsonWebKeySet- :: (Consumes UpdateJsonWebKeySet MimeJSON)- => Set -- ^ "set" - The set- -> ORYHydraRequest UpdateJsonWebKeySet MimeJSON JSONWebKeySet MimeJSON-updateJsonWebKeySet (Set set) =- _mkRequest "PUT" ["/keys/",toPath set]--data UpdateJsonWebKeySet -instance HasBodyParam UpdateJsonWebKeySet JSONWebKeySet ---- | @application/json@-instance Consumes UpdateJsonWebKeySet MimeJSON---- | @application/json@-instance Produces UpdateJsonWebKeySet MimeJSON----- *** updateOAuth2Client---- | @PUT \/clients\/{id}@--- --- Update an OAuth 2.0 Client--- --- Update an existing OAuth 2.0 Client. If you pass `client_secret` the secret will be updated and returned via the API. This is the only time you will be able to retrieve the client secret, so write it down and keep it safe. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected and only callable by first-party components.--- -updateOAuth2Client- :: (Consumes UpdateOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client)- => OAuth2Client -- ^ "body"- -> Id -- ^ "id"- -> ORYHydraRequest UpdateOAuth2Client MimeJSON OAuth2Client MimeJSON-updateOAuth2Client body (Id id) =- _mkRequest "PUT" ["/clients/",toPath id]- `setBodyParam` body--data UpdateOAuth2Client -instance HasBodyParam UpdateOAuth2Client OAuth2Client ---- | @application/json@-instance Consumes UpdateOAuth2Client MimeJSON---- | @application/json@-instance Produces UpdateOAuth2Client MimeJSON-
− lib/ORYHydra/API/Public.hs
@@ -1,236 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.API.Public--}--{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MonoLocalBinds #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE OverloadedStrings #-}-{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}--module ORYHydra.API.Public where--import ORYHydra.Core-import ORYHydra.MimeTypes-import ORYHydra.Model as M--import qualified Data.Aeson as A-import qualified Data.ByteString as B-import qualified Data.ByteString.Lazy as BL-import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)-import qualified Data.Foldable as P-import qualified Data.Map as Map-import qualified Data.Maybe as P-import qualified Data.Proxy as P (Proxy(..))-import qualified Data.Set as Set-import qualified Data.String as P-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Text.Lazy as TL-import qualified Data.Text.Lazy.Encoding as TL-import qualified Data.Time as TI-import qualified Network.HTTP.Client.MultipartFormData as NH-import qualified Network.HTTP.Media as ME-import qualified Network.HTTP.Types as NH-import qualified Web.FormUrlEncoded as WH-import qualified Web.HttpApiData as WH--import Data.Text (Text)-import GHC.Base ((<|>))--import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)-import qualified Prelude as P---- * Operations----- ** Public---- *** disconnectUser---- | @GET \/oauth2\/sessions\/logout@--- --- OpenID Connect Front-Backchannel Enabled Logout--- --- This endpoint initiates and completes user logout at ORY Hydra and initiates OpenID Connect Front-/Back-channel logout: https://openid.net/specs/openid-connect-frontchannel-1_0.html https://openid.net/specs/openid-connect-backchannel-1_0.html--- -disconnectUser- :: ORYHydraRequest DisconnectUser MimeNoContent NoContent MimeNoContent-disconnectUser =- _mkRequest "GET" ["/oauth2/sessions/logout"]--data DisconnectUser -instance Produces DisconnectUser MimeNoContent----- *** discoverOpenIDConfiguration---- | @GET \/.well-known\/openid-configuration@--- --- OpenID Connect Discovery--- --- The well known endpoint an be used to retrieve information for OpenID Connect clients. We encourage you to not roll your own OpenID Connect client but to use an OpenID Connect client library instead. You can learn more on this flow at https://openid.net/specs/openid-connect-discovery-1_0.html . Popular libraries for OpenID Connect clients include oidc-client-js (JavaScript), go-oidc (Golang), and others. For a full list of clients go here: https://openid.net/developers/certified/--- -discoverOpenIDConfiguration- :: ORYHydraRequest DiscoverOpenIDConfiguration MimeNoContent WellKnown MimeJSON-discoverOpenIDConfiguration =- _mkRequest "GET" ["/.well-known/openid-configuration"]--data DiscoverOpenIDConfiguration --- | @application/json@-instance Produces DiscoverOpenIDConfiguration MimeJSON----- *** isInstanceReady---- | @GET \/health\/ready@--- --- Check Readiness Status--- --- This endpoint returns a 200 status code when the HTTP server is up running and the environment dependencies (e.g. the database) are responsive as well. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance.--- -isInstanceReady- :: ORYHydraRequest IsInstanceReady MimeNoContent HealthStatus MimeJSON-isInstanceReady =- _mkRequest "GET" ["/health/ready"]--data IsInstanceReady --- | @application/json@-instance Produces IsInstanceReady MimeJSON----- *** oauth2Token---- | @POST \/oauth2\/token@--- --- The OAuth 2.0 Token Endpoint--- --- The client makes a request to the token endpoint by sending the following parameters using the \"application/x-www-form-urlencoded\" HTTP request entity-body. > Do not implement a client for this endpoint yourself. Use a library. There are many libraries > available for any programming language. You can find a list of libraries here: https://oauth.net/code/ > > Do note that Hydra SDK does not implement this endpoint properly. Use one of the libraries listed above!--- --- AuthMethod: 'AuthBasicBasic', 'AuthOAuthOauth2'--- -oauth2Token- :: (Consumes Oauth2Token MimeFormUrlEncoded)- => GrantType -- ^ "grantType"- -> ORYHydraRequest Oauth2Token MimeFormUrlEncoded Oauth2TokenResponse MimeJSON-oauth2Token (GrantType grantType) =- _mkRequest "POST" ["/oauth2/token"]- `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasic)- `_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthOauth2)- `addForm` toForm ("grant_type", grantType)--data Oauth2Token -instance HasOptionalParam Oauth2Token Code where- applyOptionalParam req (Code xs) =- req `addForm` toForm ("code", xs)-instance HasOptionalParam Oauth2Token RefreshToken where- applyOptionalParam req (RefreshToken xs) =- req `addForm` toForm ("refresh_token", xs)-instance HasOptionalParam Oauth2Token RedirectUri where- applyOptionalParam req (RedirectUri xs) =- req `addForm` toForm ("redirect_uri", xs)-instance HasOptionalParam Oauth2Token ClientId where- applyOptionalParam req (ClientId xs) =- req `addForm` toForm ("client_id", xs)---- | @application/x-www-form-urlencoded@-instance Consumes Oauth2Token MimeFormUrlEncoded---- | @application/json@-instance Produces Oauth2Token MimeJSON----- *** oauthAuth---- | @GET \/oauth2\/auth@--- --- The OAuth 2.0 Authorize Endpoint--- --- This endpoint is not documented here because you should never use your own implementation to perform OAuth2 flows. OAuth2 is a very popular protocol and a library for your programming language will exists. To learn more about this flow please refer to the specification: https://tools.ietf.org/html/rfc6749--- -oauthAuth- :: ORYHydraRequest OauthAuth MimeNoContent NoContent MimeNoContent-oauthAuth =- _mkRequest "GET" ["/oauth2/auth"]--data OauthAuth -instance Produces OauthAuth MimeNoContent----- *** revokeOAuth2Token---- | @POST \/oauth2\/revoke@--- --- Revoke OAuth2 Tokens--- --- Revoking a token (both access and refresh) means that the tokens will be invalid. A revoked access token can no longer be used to make access requests, and a revoked refresh token can no longer be used to refresh an access token. Revoking a refresh token also invalidates the access token that was created with it. A token may only be revoked by the client the token was generated for.--- --- AuthMethod: 'AuthBasicBasic', 'AuthOAuthOauth2'--- -revokeOAuth2Token- :: (Consumes RevokeOAuth2Token MimeFormUrlEncoded)- => Token -- ^ "token"- -> ORYHydraRequest RevokeOAuth2Token MimeFormUrlEncoded NoContent MimeNoContent-revokeOAuth2Token (Token token) =- _mkRequest "POST" ["/oauth2/revoke"]- `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasic)- `_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthOauth2)- `addForm` toForm ("token", token)--data RevokeOAuth2Token ---- | @application/x-www-form-urlencoded@-instance Consumes RevokeOAuth2Token MimeFormUrlEncoded--instance Produces RevokeOAuth2Token MimeNoContent----- *** userinfo---- | @GET \/userinfo@--- --- OpenID Connect Userinfo--- --- This endpoint returns the payload of the ID Token, including the idTokenExtra values, of the provided OAuth 2.0 Access Token. For more information please [refer to the spec](http://openid.net/specs/openid-connect-core-1_0.html#UserInfo).--- --- AuthMethod: 'AuthOAuthOauth2'--- -userinfo- :: ORYHydraRequest Userinfo MimeNoContent UserinfoResponse MimeJSON-userinfo =- _mkRequest "GET" ["/userinfo"]- `_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthOauth2)--data Userinfo --- | @application/json@-instance Produces Userinfo MimeJSON----- *** wellKnown0---- | @GET \/.well-known\/jwks.json@--- --- JSON Web Keys Discovery--- --- This endpoint returns JSON Web Keys to be used as public keys for verifying OpenID Connect ID Tokens and, if enabled, OAuth 2.0 JWT Access Tokens. This endpoint can be used with client libraries like [node-jwks-rsa](https://github.com/auth0/node-jwks-rsa) among others.--- -wellKnown0- :: ORYHydraRequest WellKnown0 MimeNoContent JSONWebKeySet MimeJSON-wellKnown0 =- _mkRequest "GET" ["/.well-known/jwks.json"]--data WellKnown0 --- | @application/json@-instance Produces WellKnown0 MimeJSON-
− lib/ORYHydra/Client.hs
@@ -1,223 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.Client--}--{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE DeriveFunctor #-}-{-# LANGUAGE DeriveFoldable #-}-{-# LANGUAGE DeriveTraversable #-}-{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}--module ORYHydra.Client where--import ORYHydra.Core-import ORYHydra.Logging-import ORYHydra.MimeTypes--import qualified Control.Exception.Safe as E-import qualified Control.Monad.IO.Class as P-import qualified Control.Monad as P-import qualified Data.Aeson.Types as A-import qualified Data.ByteString as B-import qualified Data.ByteString.Char8 as BC-import qualified Data.ByteString.Lazy as BL-import qualified Data.ByteString.Lazy.Char8 as BCL-import qualified Data.Proxy as P (Proxy(..))-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Network.HTTP.Client as NH-import qualified Network.HTTP.Client.MultipartFormData as NH-import qualified Network.HTTP.Types as NH-import qualified Web.FormUrlEncoded as WH-import qualified Web.HttpApiData as WH--import Data.Function ((&))-import Data.Monoid ((<>))-import Data.Text (Text)-import GHC.Exts (IsString(..))---- * Dispatch---- ** Lbs---- | send a request returning the raw http response-dispatchLbs- :: (Produces req accept, MimeType contentType)- => NH.Manager -- ^ http-client Connection manager- -> ORYHydraConfig -- ^ config- -> ORYHydraRequest req contentType res accept -- ^ request- -> IO (NH.Response BCL.ByteString) -- ^ response-dispatchLbs manager config request = do- initReq <- _toInitRequest config request- dispatchInitUnsafe manager config initReq---- ** Mime---- | pair of decoded http body and http response-data MimeResult res =- MimeResult { mimeResult :: Either MimeError res -- ^ decoded http body- , mimeResultResponse :: NH.Response BCL.ByteString -- ^ http response- }- deriving (Show, Functor, Foldable, Traversable)---- | pair of unrender/parser error and http response-data MimeError =- MimeError {- mimeError :: String -- ^ unrender/parser error- , mimeErrorResponse :: NH.Response BCL.ByteString -- ^ http response- } deriving (Show)---- | send a request returning the 'MimeResult'-dispatchMime- :: forall req contentType res accept. (Produces req accept, MimeUnrender accept res, MimeType contentType)- => NH.Manager -- ^ http-client Connection manager- -> ORYHydraConfig -- ^ config- -> ORYHydraRequest req contentType res accept -- ^ request- -> IO (MimeResult res) -- ^ response-dispatchMime manager config request = do- httpResponse <- dispatchLbs manager config request- let statusCode = NH.statusCode . NH.responseStatus $ httpResponse- parsedResult <-- runConfigLogWithExceptions "Client" config $- do if (statusCode >= 400 && statusCode < 600)- then do- let s = "error statusCode: " ++ show statusCode- _log "Client" levelError (T.pack s)- pure (Left (MimeError s httpResponse))- else case mimeUnrender (P.Proxy :: P.Proxy accept) (NH.responseBody httpResponse) of- Left s -> do- _log "Client" levelError (T.pack s)- pure (Left (MimeError s httpResponse))- Right r -> pure (Right r)- return (MimeResult parsedResult httpResponse)---- | like 'dispatchMime', but only returns the decoded http body-dispatchMime'- :: (Produces req accept, MimeUnrender accept res, MimeType contentType)- => NH.Manager -- ^ http-client Connection manager- -> ORYHydraConfig -- ^ config- -> ORYHydraRequest req contentType res accept -- ^ request- -> IO (Either MimeError res) -- ^ response-dispatchMime' manager config request = do- MimeResult parsedResult _ <- dispatchMime manager config request- return parsedResult---- ** Unsafe---- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the "accept" 'MimeType'. (Useful if the server's response is undocumented)-dispatchLbsUnsafe- :: (MimeType accept, MimeType contentType)- => NH.Manager -- ^ http-client Connection manager- -> ORYHydraConfig -- ^ config- -> ORYHydraRequest req contentType res accept -- ^ request- -> IO (NH.Response BCL.ByteString) -- ^ response-dispatchLbsUnsafe manager config request = do- initReq <- _toInitRequest config request- dispatchInitUnsafe manager config initReq---- | dispatch an InitRequest-dispatchInitUnsafe- :: NH.Manager -- ^ http-client Connection manager- -> ORYHydraConfig -- ^ config- -> InitRequest req contentType res accept -- ^ init request- -> IO (NH.Response BCL.ByteString) -- ^ response-dispatchInitUnsafe manager config (InitRequest req) = do- runConfigLogWithExceptions src config $- do _log src levelInfo requestLogMsg- _log src levelDebug requestDbgLogMsg- res <- P.liftIO $ NH.httpLbs req manager- _log src levelInfo (responseLogMsg res)- _log src levelDebug ((T.pack . show) res)- return res- where- src = "Client"- endpoint =- T.pack $- BC.unpack $- NH.method req <> " " <> NH.host req <> NH.path req <> NH.queryString req- requestLogMsg = "REQ:" <> endpoint- requestDbgLogMsg =- "Headers=" <> (T.pack . show) (NH.requestHeaders req) <> " Body=" <>- (case NH.requestBody req of- NH.RequestBodyLBS xs -> T.decodeUtf8 (BL.toStrict xs)- _ -> "<RequestBody>")- responseStatusCode = (T.pack . show) . NH.statusCode . NH.responseStatus- responseLogMsg res =- "RES:statusCode=" <> responseStatusCode res <> " (" <> endpoint <> ")"---- * InitRequest---- | wraps an http-client 'Request' with request/response type parameters-newtype InitRequest req contentType res accept = InitRequest- { unInitRequest :: NH.Request- } deriving (Show)---- | Build an http-client 'Request' record from the supplied config and request-_toInitRequest- :: (MimeType accept, MimeType contentType)- => ORYHydraConfig -- ^ config- -> ORYHydraRequest req contentType res accept -- ^ request- -> IO (InitRequest req contentType res accept) -- ^ initialized request-_toInitRequest config req0 =- runConfigLogWithExceptions "Client" config $ do- parsedReq <- P.liftIO $ NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0))- req1 <- P.liftIO $ _applyAuthMethods req0 config- P.when- (configValidateAuthMethods config && (not . null . rAuthTypes) req1)- (E.throw $ AuthMethodException $ "AuthMethod not configured: " <> (show . head . rAuthTypes) req1)- let req2 = req1 & _setContentTypeHeader & _setAcceptHeader- params = rParams req2- reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders params- reqQuery = let query = paramsQuery params- queryExtraUnreserved = configQueryExtraUnreserved config- in if B.null queryExtraUnreserved- then NH.renderQuery True query- else NH.renderQueryPartialEscape True (toPartialEscapeQuery queryExtraUnreserved query)- pReq = parsedReq { NH.method = rMethod req2- , NH.requestHeaders = reqHeaders- , NH.queryString = reqQuery- }- outReq <- case paramsBody params of- ParamBodyNone -> pure (pReq { NH.requestBody = mempty })- ParamBodyB bs -> pure (pReq { NH.requestBody = NH.RequestBodyBS bs })- ParamBodyBL bl -> pure (pReq { NH.requestBody = NH.RequestBodyLBS bl })- ParamBodyFormUrlEncoded form -> pure (pReq { NH.requestBody = NH.RequestBodyLBS (WH.urlEncodeForm form) })- ParamBodyMultipartFormData parts -> NH.formDataBody parts pReq-- pure (InitRequest outReq)---- | modify the underlying Request-modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept-modifyInitRequest (InitRequest req) f = InitRequest (f req)---- | modify the underlying Request (monadic)-modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (NH.Request -> m NH.Request) -> m (InitRequest req contentType res accept)-modifyInitRequestM (InitRequest req) f = fmap InitRequest (f req)---- ** Logging---- | Run a block using the configured logger instance-runConfigLog- :: P.MonadIO m- => ORYHydraConfig -> LogExec m a-runConfigLog config = configLogExecWithContext config (configLogContext config)---- | Run a block using the configured logger instance (logs exceptions)-runConfigLogWithExceptions- :: (E.MonadCatch m, P.MonadIO m)- => T.Text -> ORYHydraConfig -> LogExec m a-runConfigLogWithExceptions src config = runConfigLog config . logExceptions src
− lib/ORYHydra/Core.hs
@@ -1,576 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.Core--}--{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE ExistentialQuantification #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE TupleSections #-}-{-# LANGUAGE TypeFamilies #-}-{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}--module ORYHydra.Core where--import ORYHydra.MimeTypes-import ORYHydra.Logging--import qualified Control.Arrow as P (left)-import qualified Control.DeepSeq as NF-import qualified Control.Exception.Safe as E-import qualified Data.Aeson as A-import qualified Data.ByteString as B-import qualified Data.ByteString.Base64.Lazy as BL64-import qualified Data.ByteString.Builder as BB-import qualified Data.ByteString.Char8 as BC-import qualified Data.ByteString.Lazy as BL-import qualified Data.ByteString.Lazy.Char8 as BCL-import qualified Data.CaseInsensitive as CI-import qualified Data.Data as P (Data, Typeable, TypeRep, typeRep)-import qualified Data.Foldable as P-import qualified Data.Ix as P-import qualified Data.Kind as K (Type)-import qualified Data.Maybe as P-import qualified Data.Proxy as P (Proxy(..))-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Time as TI-import qualified Data.Time.ISO8601 as TI-import qualified GHC.Base as P (Alternative)-import qualified Lens.Micro as L-import qualified Network.HTTP.Client.MultipartFormData as NH-import qualified Network.HTTP.Types as NH-import qualified Prelude as P-import qualified Text.Printf as T-import qualified Web.FormUrlEncoded as WH-import qualified Web.HttpApiData as WH--import Control.Applicative ((<|>))-import Control.Applicative (Alternative)-import Control.Monad.Fail (MonadFail)-import Data.Function ((&))-import Data.Foldable(foldlM)-import Data.Monoid ((<>))-import Data.Text (Text)-import Prelude (($), (.), (&&), (<$>), (<*>), Maybe(..), Bool(..), Char, String, fmap, mempty, pure, return, show, IO, Monad, Functor, maybe)---- * ORYHydraConfig---- |-data ORYHydraConfig = ORYHydraConfig- { configHost :: BCL.ByteString -- ^ host supplied in the Request- , configUserAgent :: Text -- ^ user-agent supplied in the Request- , configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance- , configLogContext :: LogContext -- ^ Configures the logger- , configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods- , configValidateAuthMethods :: Bool -- ^ throw exceptions if auth methods are not configured- , configQueryExtraUnreserved :: B.ByteString -- ^ Configures additional querystring characters which must not be URI encoded, e.g. '+' or ':'- }---- | display the config-instance P.Show ORYHydraConfig where- show c =- T.printf- "{ configHost = %v, configUserAgent = %v, ..}"- (show (configHost c))- (show (configUserAgent c))---- | constructs a default ORYHydraConfig------ configHost:------ @http://localhost@------ configUserAgent:------ @"ory-hydra-client/0.1.0.0"@----newConfig :: IO ORYHydraConfig-newConfig = do- logCxt <- initLogContext- return $ ORYHydraConfig- { configHost = "http://localhost"- , configUserAgent = "ory-hydra-client/0.1.0.0"- , configLogExecWithContext = runDefaultLogExecWithContext- , configLogContext = logCxt- , configAuthMethods = []- , configValidateAuthMethods = True- , configQueryExtraUnreserved = ""- }---- | updates config use AuthMethod on matching requests-addAuthMethod :: AuthMethod auth => ORYHydraConfig -> auth -> ORYHydraConfig-addAuthMethod config@ORYHydraConfig {configAuthMethods = as} a =- config { configAuthMethods = AnyAuthMethod a : as}---- | updates the config to use stdout logging-withStdoutLogging :: ORYHydraConfig -> IO ORYHydraConfig-withStdoutLogging p = do- logCxt <- stdoutLoggingContext (configLogContext p)- return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }---- | updates the config to use stderr logging-withStderrLogging :: ORYHydraConfig -> IO ORYHydraConfig-withStderrLogging p = do- logCxt <- stderrLoggingContext (configLogContext p)- return $ p { configLogExecWithContext = stderrLoggingExec, configLogContext = logCxt }---- | updates the config to disable logging-withNoLogging :: ORYHydraConfig -> ORYHydraConfig-withNoLogging p = p { configLogExecWithContext = runNullLogExec}---- * ORYHydraRequest---- | Represents a request.------ Type Variables:------ * req - request operation--- * contentType - 'MimeType' associated with request body--- * res - response model--- * accept - 'MimeType' associated with response body-data ORYHydraRequest req contentType res accept = ORYHydraRequest- { rMethod :: NH.Method -- ^ Method of ORYHydraRequest- , rUrlPath :: [BCL.ByteString] -- ^ Endpoint of ORYHydraRequest- , rParams :: Params -- ^ params of ORYHydraRequest- , rAuthTypes :: [P.TypeRep] -- ^ types of auth methods- }- deriving (P.Show)---- | 'rMethod' Lens-rMethodL :: Lens_' (ORYHydraRequest req contentType res accept) NH.Method-rMethodL f ORYHydraRequest{..} = (\rMethod -> ORYHydraRequest { rMethod, ..} ) <$> f rMethod-{-# INLINE rMethodL #-}---- | 'rUrlPath' Lens-rUrlPathL :: Lens_' (ORYHydraRequest req contentType res accept) [BCL.ByteString]-rUrlPathL f ORYHydraRequest{..} = (\rUrlPath -> ORYHydraRequest { rUrlPath, ..} ) <$> f rUrlPath-{-# INLINE rUrlPathL #-}---- | 'rParams' Lens-rParamsL :: Lens_' (ORYHydraRequest req contentType res accept) Params-rParamsL f ORYHydraRequest{..} = (\rParams -> ORYHydraRequest { rParams, ..} ) <$> f rParams-{-# INLINE rParamsL #-}---- | 'rParams' Lens-rAuthTypesL :: Lens_' (ORYHydraRequest req contentType res accept) [P.TypeRep]-rAuthTypesL f ORYHydraRequest{..} = (\rAuthTypes -> ORYHydraRequest { rAuthTypes, ..} ) <$> f rAuthTypes-{-# INLINE rAuthTypesL #-}---- * HasBodyParam---- | Designates the body parameter of a request-class HasBodyParam req param where- setBodyParam :: forall contentType res accept. (Consumes req contentType, MimeRender contentType param) => ORYHydraRequest req contentType res accept -> param -> ORYHydraRequest req contentType res accept- setBodyParam req xs =- req `_setBodyLBS` mimeRender (P.Proxy :: P.Proxy contentType) xs & _setContentTypeHeader---- * HasOptionalParam---- | Designates the optional parameters of a request-class HasOptionalParam req param where- {-# MINIMAL applyOptionalParam | (-&-) #-}-- -- | Apply an optional parameter to a request- applyOptionalParam :: ORYHydraRequest req contentType res accept -> param -> ORYHydraRequest req contentType res accept- applyOptionalParam = (-&-)- {-# INLINE applyOptionalParam #-}-- -- | infix operator \/ alias for 'addOptionalParam'- (-&-) :: ORYHydraRequest req contentType res accept -> param -> ORYHydraRequest req contentType res accept- (-&-) = applyOptionalParam- {-# INLINE (-&-) #-}--infixl 2 -&----- | Request Params-data Params = Params- { paramsQuery :: NH.Query- , paramsHeaders :: NH.RequestHeaders- , paramsBody :: ParamBody- }- deriving (P.Show)---- | 'paramsQuery' Lens-paramsQueryL :: Lens_' Params NH.Query-paramsQueryL f Params{..} = (\paramsQuery -> Params { paramsQuery, ..} ) <$> f paramsQuery-{-# INLINE paramsQueryL #-}---- | 'paramsHeaders' Lens-paramsHeadersL :: Lens_' Params NH.RequestHeaders-paramsHeadersL f Params{..} = (\paramsHeaders -> Params { paramsHeaders, ..} ) <$> f paramsHeaders-{-# INLINE paramsHeadersL #-}---- | 'paramsBody' Lens-paramsBodyL :: Lens_' Params ParamBody-paramsBodyL f Params{..} = (\paramsBody -> Params { paramsBody, ..} ) <$> f paramsBody-{-# INLINE paramsBodyL #-}---- | Request Body-data ParamBody- = ParamBodyNone- | ParamBodyB B.ByteString- | ParamBodyBL BL.ByteString- | ParamBodyFormUrlEncoded WH.Form- | ParamBodyMultipartFormData [NH.Part]- deriving (P.Show)---- ** ORYHydraRequest Utils--_mkRequest :: NH.Method -- ^ Method- -> [BCL.ByteString] -- ^ Endpoint- -> ORYHydraRequest req contentType res accept -- ^ req: Request Type, res: Response Type-_mkRequest m u = ORYHydraRequest m u _mkParams []--_mkParams :: Params-_mkParams = Params [] [] ParamBodyNone--setHeader ::- ORYHydraRequest req contentType res accept- -> [NH.Header]- -> ORYHydraRequest req contentType res accept-setHeader req header =- req `removeHeader` P.fmap P.fst header- & (`addHeader` header)--addHeader ::- ORYHydraRequest req contentType res accept- -> [NH.Header]- -> ORYHydraRequest req contentType res accept-addHeader req header = L.over (rParamsL . paramsHeadersL) (header P.++) req--removeHeader :: ORYHydraRequest req contentType res accept -> [NH.HeaderName] -> ORYHydraRequest req contentType res accept-removeHeader req header =- req &- L.over- (rParamsL . paramsHeadersL)- (P.filter (\h -> cifst h `P.notElem` P.fmap CI.mk header))- where- cifst = CI.mk . P.fst---_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => ORYHydraRequest req contentType res accept -> ORYHydraRequest req contentType res accept-_setContentTypeHeader req =- case mimeType (P.Proxy :: P.Proxy contentType) of- Just m -> req `setHeader` [("content-type", BC.pack $ P.show m)]- Nothing -> req `removeHeader` ["content-type"]--_setAcceptHeader :: forall req contentType res accept. MimeType accept => ORYHydraRequest req contentType res accept -> ORYHydraRequest req contentType res accept-_setAcceptHeader req =- case mimeType (P.Proxy :: P.Proxy accept) of- Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]- Nothing -> req `removeHeader` ["accept"]--setQuery ::- ORYHydraRequest req contentType res accept- -> [NH.QueryItem]- -> ORYHydraRequest req contentType res accept-setQuery req query =- req &- L.over- (rParamsL . paramsQueryL)- (P.filter (\q -> cifst q `P.notElem` P.fmap cifst query)) &- (`addQuery` query)- where- cifst = CI.mk . P.fst--addQuery ::- ORYHydraRequest req contentType res accept- -> [NH.QueryItem]- -> ORYHydraRequest req contentType res accept-addQuery req query = req & L.over (rParamsL . paramsQueryL) (query P.++)--addForm :: ORYHydraRequest req contentType res accept -> WH.Form -> ORYHydraRequest req contentType res accept-addForm req newform =- let form = case paramsBody (rParams req) of- ParamBodyFormUrlEncoded _form -> _form- _ -> mempty- in req & L.set (rParamsL . paramsBodyL) (ParamBodyFormUrlEncoded (newform <> form))--_addMultiFormPart :: ORYHydraRequest req contentType res accept -> NH.Part -> ORYHydraRequest req contentType res accept-_addMultiFormPart req newpart =- let parts = case paramsBody (rParams req) of- ParamBodyMultipartFormData _parts -> _parts- _ -> []- in req & L.set (rParamsL . paramsBodyL) (ParamBodyMultipartFormData (newpart : parts))--_setBodyBS :: ORYHydraRequest req contentType res accept -> B.ByteString -> ORYHydraRequest req contentType res accept-_setBodyBS req body =- req & L.set (rParamsL . paramsBodyL) (ParamBodyB body)--_setBodyLBS :: ORYHydraRequest req contentType res accept -> BL.ByteString -> ORYHydraRequest req contentType res accept-_setBodyLBS req body =- req & L.set (rParamsL . paramsBodyL) (ParamBodyBL body)--_hasAuthType :: AuthMethod authMethod => ORYHydraRequest req contentType res accept -> P.Proxy authMethod -> ORYHydraRequest req contentType res accept-_hasAuthType req proxy =- req & L.over rAuthTypesL (P.typeRep proxy :)---- ** Params Utils--toPath- :: WH.ToHttpApiData a- => a -> BCL.ByteString-toPath = BB.toLazyByteString . WH.toEncodedUrlPiece--toHeader :: WH.ToHttpApiData a => (NH.HeaderName, a) -> [NH.Header]-toHeader x = [fmap WH.toHeader x]--toForm :: WH.ToHttpApiData v => (BC.ByteString, v) -> WH.Form-toForm (k,v) = WH.toForm [(BC.unpack k,v)]--toQuery :: WH.ToHttpApiData a => (BC.ByteString, Maybe a) -> [NH.QueryItem]-toQuery x = [(fmap . fmap) toQueryParam x]- where toQueryParam = T.encodeUtf8 . WH.toQueryParam--toPartialEscapeQuery :: B.ByteString -> NH.Query -> NH.PartialEscapeQuery-toPartialEscapeQuery extraUnreserved query = fmap (\(k, v) -> (k, maybe [] go v)) query- where go :: B.ByteString -> [NH.EscapeItem]- go v = v & B.groupBy (\a b -> a `B.notElem` extraUnreserved && b `B.notElem` extraUnreserved)- & fmap (\xs -> if B.null xs then NH.QN xs- else if B.head xs `B.elem` extraUnreserved- then NH.QN xs -- Not Encoded- else NH.QE xs -- Encoded- )---- *** OpenAPI `CollectionFormat` Utils---- | Determines the format of the array if type array is used.-data CollectionFormat- = CommaSeparated -- ^ CSV format for multiple parameters.- | SpaceSeparated -- ^ Also called "SSV"- | TabSeparated -- ^ Also called "TSV"- | PipeSeparated -- ^ `value1|value2|value2`- | MultiParamArray -- ^ Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" ('NH.Query') or "formData" ('WH.Form')--toHeaderColl :: WH.ToHttpApiData a => CollectionFormat -> (NH.HeaderName, [a]) -> [NH.Header]-toHeaderColl c xs = _toColl c toHeader xs--toFormColl :: WH.ToHttpApiData v => CollectionFormat -> (BC.ByteString, [v]) -> WH.Form-toFormColl c xs = WH.toForm $ fmap unpack $ _toColl c toHeader $ pack xs- where- pack (k,v) = (CI.mk k, v)- unpack (k,v) = (BC.unpack (CI.original k), BC.unpack v)--toQueryColl :: WH.ToHttpApiData a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query-toQueryColl c xs = _toCollA c toQuery xs--_toColl :: P.Traversable f => CollectionFormat -> (f a -> [(b, BC.ByteString)]) -> f [a] -> [(b, BC.ByteString)]-_toColl c encode xs = fmap (fmap P.fromJust) (_toCollA' c fencode BC.singleton (fmap Just xs))- where fencode = fmap (fmap Just) . encode . fmap P.fromJust- {-# INLINE fencode #-}--_toCollA :: (P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t BC.ByteString)]) -> f (t [a]) -> [(b, t BC.ByteString)]-_toCollA c encode xs = _toCollA' c encode BC.singleton xs--_toCollA' :: (P.Monoid c, P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)]-_toCollA' c encode one xs = case c of- CommaSeparated -> go (one ',')- SpaceSeparated -> go (one ' ')- TabSeparated -> go (one '\t')- PipeSeparated -> go (one '|')- MultiParamArray -> expandList- where- go sep =- [P.foldl1 (\(sk, sv) (_, v) -> (sk, (combine sep <$> sv <*> v) <|> sv <|> v)) expandList]- combine sep x y = x <> sep <> y- expandList = (P.concatMap encode . (P.traverse . P.traverse) P.toList) xs- {-# INLINE go #-}- {-# INLINE expandList #-}- {-# INLINE combine #-}---- * AuthMethods---- | Provides a method to apply auth methods to requests-class P.Typeable a =>- AuthMethod a where- applyAuthMethod- :: ORYHydraConfig- -> a- -> ORYHydraRequest req contentType res accept- -> IO (ORYHydraRequest req contentType res accept)---- | An existential wrapper for any AuthMethod-data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable)--instance AuthMethod AnyAuthMethod where applyAuthMethod config (AnyAuthMethod a) req = applyAuthMethod config a req---- | indicates exceptions related to AuthMethods-data AuthMethodException = AuthMethodException String deriving (P.Show, P.Typeable)--instance E.Exception AuthMethodException---- | apply all matching AuthMethods in config to request-_applyAuthMethods- :: ORYHydraRequest req contentType res accept- -> ORYHydraConfig- -> IO (ORYHydraRequest req contentType res accept)-_applyAuthMethods req config@(ORYHydraConfig {configAuthMethods = as}) =- foldlM go req as- where- go r (AnyAuthMethod a) = applyAuthMethod config a r---- * Utils---- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)-_omitNulls :: [(A.Key, A.Value)] -> A.Value-_omitNulls = A.object . P.filter notNull- where- notNull (_, A.Null) = False- notNull _ = True---- | Encodes fields using WH.toQueryParam-_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])-_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x---- | Collapse (Just "") to Nothing-_emptyToNothing :: Maybe String -> Maybe String-_emptyToNothing (Just "") = Nothing-_emptyToNothing x = x-{-# INLINE _emptyToNothing #-}---- | Collapse (Just mempty) to Nothing-_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a-_memptyToNothing (Just x) | x P.== P.mempty = Nothing-_memptyToNothing x = x-{-# INLINE _memptyToNothing #-}---- * DateTime Formatting--newtype DateTime = DateTime { unDateTime :: TI.UTCTime }- deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)-instance A.FromJSON DateTime where- parseJSON = A.withText "DateTime" (_readDateTime . T.unpack)-instance A.ToJSON DateTime where- toJSON (DateTime t) = A.toJSON (_showDateTime t)-instance WH.FromHttpApiData DateTime where- parseUrlPiece = P.maybe (P.Left "parseUrlPiece @DateTime") P.Right . _readDateTime . T.unpack-instance WH.ToHttpApiData DateTime where- toUrlPiece (DateTime t) = T.pack (_showDateTime t)-instance P.Show DateTime where- show (DateTime t) = _showDateTime t-instance MimeRender MimeMultipartFormData DateTime where- mimeRender _ = mimeRenderDefaultMultipartFormData---- | @_parseISO8601@-_readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime-_readDateTime s =- DateTime <$> _parseISO8601 s-{-# INLINE _readDateTime #-}---- | @TI.formatISO8601Millis@-_showDateTime :: (t ~ TI.UTCTime, TI.FormatTime t) => t -> String-_showDateTime =- TI.formatISO8601Millis-{-# INLINE _showDateTime #-}---- | parse an ISO8601 date-time string-_parseISO8601 :: (TI.ParseTime t, MonadFail m, Alternative m) => String -> m t-_parseISO8601 t =- P.asum $- P.flip (TI.parseTimeM True TI.defaultTimeLocale) t <$>- ["%FT%T%QZ", "%FT%T%Q%z", "%FT%T%Q%Z"]-{-# INLINE _parseISO8601 #-}---- * Date Formatting--newtype Date = Date { unDate :: TI.Day }- deriving (P.Enum,P.Eq,P.Data,P.Ord,P.Ix,NF.NFData)-instance A.FromJSON Date where- parseJSON = A.withText "Date" (_readDate . T.unpack)-instance A.ToJSON Date where- toJSON (Date t) = A.toJSON (_showDate t)-instance WH.FromHttpApiData Date where- parseUrlPiece = P.maybe (P.Left "parseUrlPiece @Date") P.Right . _readDate . T.unpack-instance WH.ToHttpApiData Date where- toUrlPiece (Date t) = T.pack (_showDate t)-instance P.Show Date where- show (Date t) = _showDate t-instance MimeRender MimeMultipartFormData Date where- mimeRender _ = mimeRenderDefaultMultipartFormData---- | @TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"@-_readDate :: MonadFail m => String -> m Date-_readDate s = Date <$> TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d" s-{-# INLINE _readDate #-}---- | @TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"@-_showDate :: TI.FormatTime t => t -> String-_showDate =- TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"-{-# INLINE _showDate #-}---- * Byte/Binary Formatting----- | base64 encoded characters-newtype ByteArray = ByteArray { unByteArray :: BL.ByteString }- deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)--instance A.FromJSON ByteArray where- parseJSON = A.withText "ByteArray" _readByteArray-instance A.ToJSON ByteArray where- toJSON = A.toJSON . _showByteArray-instance WH.FromHttpApiData ByteArray where- parseUrlPiece = P.maybe (P.Left "parseUrlPiece @ByteArray") P.Right . _readByteArray-instance WH.ToHttpApiData ByteArray where- toUrlPiece = _showByteArray-instance P.Show ByteArray where- show = T.unpack . _showByteArray-instance MimeRender MimeMultipartFormData ByteArray where- mimeRender _ = mimeRenderDefaultMultipartFormData---- | read base64 encoded characters-_readByteArray :: MonadFail m => Text -> m ByteArray-_readByteArray = P.either P.fail (pure . ByteArray) . BL64.decode . BL.fromStrict . T.encodeUtf8-{-# INLINE _readByteArray #-}---- | show base64 encoded characters-_showByteArray :: ByteArray -> Text-_showByteArray = T.decodeUtf8 . BL.toStrict . BL64.encode . unByteArray-{-# INLINE _showByteArray #-}---- | any sequence of octets-newtype Binary = Binary { unBinary :: BL.ByteString }- deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)--instance A.FromJSON Binary where- parseJSON = A.withText "Binary" _readBinaryBase64-instance A.ToJSON Binary where- toJSON = A.toJSON . _showBinaryBase64-instance WH.FromHttpApiData Binary where- parseUrlPiece = P.maybe (P.Left "parseUrlPiece @Binary") P.Right . _readBinaryBase64-instance WH.ToHttpApiData Binary where- toUrlPiece = _showBinaryBase64-instance P.Show Binary where- show = T.unpack . _showBinaryBase64-instance MimeRender MimeMultipartFormData Binary where- mimeRender _ = unBinary--_readBinaryBase64 :: MonadFail m => Text -> m Binary-_readBinaryBase64 = P.either P.fail (pure . Binary) . BL64.decode . BL.fromStrict . T.encodeUtf8-{-# INLINE _readBinaryBase64 #-}--_showBinaryBase64 :: Binary -> Text-_showBinaryBase64 = T.decodeUtf8 . BL.toStrict . BL64.encode . unBinary-{-# INLINE _showBinaryBase64 #-}---- * Lens Type Aliases--type Lens_' s a = Lens_ s s a a-type Lens_ s t a b = forall (f :: K.Type -> K.Type). Functor f => (a -> f b) -> s -> f t
− lib/ORYHydra/Logging.hs
@@ -1,33 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.Logging-Logging functions--}-{-# LANGUAGE CPP #-}--#ifdef USE_KATIP--module ORYHydra.Logging- ( module ORYHydra.LoggingKatip- ) where--import ORYHydra.LoggingKatip--#else--module ORYHydra.Logging- ( module ORYHydra.LoggingMonadLogger- ) where--import ORYHydra.LoggingMonadLogger--#endif
− lib/ORYHydra/LoggingKatip.hs
@@ -1,117 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.LoggingKatip-Katip Logging functions--}--{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE ScopedTypeVariables #-}--module ORYHydra.LoggingKatip where--import qualified Control.Exception.Safe as E-import qualified Control.Monad.IO.Class as P-import qualified Control.Monad.Trans.Reader as P-import qualified Data.Text as T-import qualified Lens.Micro as L-import qualified System.IO as IO--import Data.Text (Text)-import GHC.Exts (IsString(..))--import qualified Katip as LG---- * Type Aliases (for compatibility)---- | Runs a Katip logging block with the Log environment-type LogExecWithContext = forall m a. P.MonadIO m =>- LogContext -> LogExec m a---- | A Katip logging block-type LogExec m a = LG.KatipT m a -> m a---- | A Katip Log environment-type LogContext = LG.LogEnv---- | A Katip Log severity-type LogLevel = LG.Severity---- * default logger---- | the default log environment-initLogContext :: IO LogContext-initLogContext = LG.initLogEnv "ORYHydra" "dev"---- | Runs a Katip logging block with the Log environment-runDefaultLogExecWithContext :: LogExecWithContext-runDefaultLogExecWithContext = LG.runKatipT---- * stdout logger---- | Runs a Katip logging block with the Log environment-stdoutLoggingExec :: LogExecWithContext-stdoutLoggingExec = runDefaultLogExecWithContext---- | A Katip Log environment which targets stdout-stdoutLoggingContext :: LogContext -> IO LogContext-stdoutLoggingContext cxt = do- handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stdout (LG.permitItem LG.InfoS) LG.V2- LG.registerScribe "stdout" handleScribe LG.defaultScribeSettings cxt---- * stderr logger---- | Runs a Katip logging block with the Log environment-stderrLoggingExec :: LogExecWithContext-stderrLoggingExec = runDefaultLogExecWithContext---- | A Katip Log environment which targets stderr-stderrLoggingContext :: LogContext -> IO LogContext-stderrLoggingContext cxt = do- handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stderr (LG.permitItem LG.InfoS) LG.V2- LG.registerScribe "stderr" handleScribe LG.defaultScribeSettings cxt---- * Null logger---- | Disables Katip logging-runNullLogExec :: LogExecWithContext-runNullLogExec le (LG.KatipT f) = P.runReaderT f (L.set LG.logEnvScribes mempty le)---- * Log Msg---- | Log a katip message-_log :: (Applicative m, LG.Katip m) => Text -> LogLevel -> Text -> m ()-_log src level msg = do- LG.logMsg (fromString $ T.unpack src) level (LG.logStr msg)---- * Log Exceptions---- | re-throws exceptions after logging them-logExceptions- :: (LG.Katip m, E.MonadCatch m, Applicative m)- => Text -> m a -> m a-logExceptions src =- E.handle- (\(e :: E.SomeException) -> do- _log src LG.ErrorS ((T.pack . show) e)- E.throw e)---- * Log Level--levelInfo :: LogLevel-levelInfo = LG.InfoS--levelError :: LogLevel-levelError = LG.ErrorS--levelDebug :: LogLevel-levelDebug = LG.DebugS
− lib/ORYHydra/LoggingMonadLogger.hs
@@ -1,126 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.LoggingMonadLogger-monad-logger Logging functions--}--{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE ScopedTypeVariables #-}--module ORYHydra.LoggingMonadLogger where--import qualified Control.Exception.Safe as E-import qualified Control.Monad.IO.Class as P-import qualified Data.Text as T-import qualified Data.Time as TI--import Data.Text (Text)--import qualified Control.Monad.Logger as LG---- * Type Aliases (for compatibility)---- | Runs a monad-logger block with the filter predicate-type LogExecWithContext = forall m a. P.MonadIO m =>- LogContext -> LogExec m a---- | A monad-logger block-type LogExec m a = LG.LoggingT m a -> m a---- | A monad-logger filter predicate-type LogContext = LG.LogSource -> LG.LogLevel -> Bool---- | A monad-logger log level-type LogLevel = LG.LogLevel---- * default logger---- | the default log environment-initLogContext :: IO LogContext-initLogContext = pure infoLevelFilter---- | Runs a monad-logger block with the filter predicate-runDefaultLogExecWithContext :: LogExecWithContext-runDefaultLogExecWithContext = runNullLogExec---- * stdout logger---- | Runs a monad-logger block targeting stdout, with the filter predicate-stdoutLoggingExec :: LogExecWithContext-stdoutLoggingExec cxt = LG.runStdoutLoggingT . LG.filterLogger cxt---- | @pure@-stdoutLoggingContext :: LogContext -> IO LogContext-stdoutLoggingContext = pure---- * stderr logger---- | Runs a monad-logger block targeting stderr, with the filter predicate-stderrLoggingExec :: LogExecWithContext-stderrLoggingExec cxt = LG.runStderrLoggingT . LG.filterLogger cxt---- | @pure@-stderrLoggingContext :: LogContext -> IO LogContext-stderrLoggingContext = pure---- * Null logger---- | Disables monad-logger logging-runNullLogExec :: LogExecWithContext-runNullLogExec = const (`LG.runLoggingT` nullLogger)---- | monad-logger which does nothing-nullLogger :: LG.Loc -> LG.LogSource -> LG.LogLevel -> LG.LogStr -> IO ()-nullLogger _ _ _ _ = return ()---- * Log Msg---- | Log a message using the current time-_log :: (P.MonadIO m, LG.MonadLogger m) => Text -> LG.LogLevel -> Text -> m ()-_log src level msg = do- now <- P.liftIO (formatTimeLog <$> TI.getCurrentTime)- LG.logOtherNS ("ORYHydra." <> src) level ("[" <> now <> "] " <> msg)- where- formatTimeLog =- T.pack . TI.formatTime TI.defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Z"---- * Log Exceptions---- | re-throws exceptions after logging them-logExceptions- :: (LG.MonadLogger m, E.MonadCatch m, P.MonadIO m)- => Text -> m a -> m a-logExceptions src =- E.handle- (\(e :: E.SomeException) -> do- _log src LG.LevelError ((T.pack . show) e)- E.throw e)---- * Log Level--levelInfo :: LogLevel-levelInfo = LG.LevelInfo--levelError :: LogLevel-levelError = LG.LevelError--levelDebug :: LogLevel-levelDebug = LG.LevelDebug---- * Level Filter--minLevelFilter :: LG.LogLevel -> LG.LogSource -> LG.LogLevel -> Bool-minLevelFilter l _ l' = l' >= l--infoLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool-infoLevelFilter = minLevelFilter LG.LevelInfo
− lib/ORYHydra/MimeTypes.hs
@@ -1,203 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.MimeTypes--}--{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE ExistentialQuantification #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}--module ORYHydra.MimeTypes where--import qualified Control.Arrow as P (left)-import qualified Data.Aeson as A-import qualified Data.ByteString as B-import qualified Data.ByteString.Builder as BB-import qualified Data.ByteString.Char8 as BC-import qualified Data.ByteString.Lazy as BL-import qualified Data.ByteString.Lazy.Char8 as BCL-import qualified Data.Data as P (Typeable)-import qualified Data.Proxy as P (Proxy(..))-import qualified Data.String as P-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Network.HTTP.Media as ME-import qualified Web.FormUrlEncoded as WH-import qualified Web.HttpApiData as WH--import Prelude (($), (.),(<$>),(<*>),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty)-import qualified Prelude as P---- * ContentType MimeType--data ContentType a = MimeType a => ContentType { unContentType :: a }---- * Accept MimeType--data Accept a = MimeType a => Accept { unAccept :: a }---- * Consumes Class--class MimeType mtype => Consumes req mtype where---- * Produces Class--class MimeType mtype => Produces req mtype where---- * Default Mime Types--data MimeJSON = MimeJSON deriving (P.Typeable)-data MimeXML = MimeXML deriving (P.Typeable)-data MimePlainText = MimePlainText deriving (P.Typeable)-data MimeFormUrlEncoded = MimeFormUrlEncoded deriving (P.Typeable)-data MimeMultipartFormData = MimeMultipartFormData deriving (P.Typeable)-data MimeOctetStream = MimeOctetStream deriving (P.Typeable)-data MimeNoContent = MimeNoContent deriving (P.Typeable)-data MimeAny = MimeAny deriving (P.Typeable)---- | A type for responses without content-body.-data NoContent = NoContent- deriving (P.Show, P.Eq, P.Typeable)----- * MimeType Class--class P.Typeable mtype => MimeType mtype where- {-# MINIMAL mimeType | mimeTypes #-}-- mimeTypes :: P.Proxy mtype -> [ME.MediaType]- mimeTypes p =- case mimeType p of- Just x -> [x]- Nothing -> []-- mimeType :: P.Proxy mtype -> Maybe ME.MediaType- mimeType p =- case mimeTypes p of- [] -> Nothing- (x:_) -> Just x-- mimeType' :: mtype -> Maybe ME.MediaType- mimeType' _ = mimeType (P.Proxy :: P.Proxy mtype)- mimeTypes' :: mtype -> [ME.MediaType]- mimeTypes' _ = mimeTypes (P.Proxy :: P.Proxy mtype)---- Default MimeType Instances---- | @application/json; charset=utf-8@-instance MimeType MimeJSON where- mimeType _ = Just $ P.fromString "application/json"--- | @application/xml; charset=utf-8@-instance MimeType MimeXML where- mimeType _ = Just $ P.fromString "application/xml"--- | @application/x-www-form-urlencoded@-instance MimeType MimeFormUrlEncoded where- mimeType _ = Just $ P.fromString "application/x-www-form-urlencoded"--- | @multipart/form-data@-instance MimeType MimeMultipartFormData where- mimeType _ = Just $ P.fromString "multipart/form-data"--- | @text/plain; charset=utf-8@-instance MimeType MimePlainText where- mimeType _ = Just $ P.fromString "text/plain"--- | @application/octet-stream@-instance MimeType MimeOctetStream where- mimeType _ = Just $ P.fromString "application/octet-stream"--- | @"*/*"@-instance MimeType MimeAny where- mimeType _ = Just $ P.fromString "*/*"-instance MimeType MimeNoContent where- mimeType _ = Nothing---- * MimeRender Class--class MimeType mtype => MimeRender mtype x where- mimeRender :: P.Proxy mtype -> x -> BL.ByteString- mimeRender' :: mtype -> x -> BL.ByteString- mimeRender' _ x = mimeRender (P.Proxy :: P.Proxy mtype) x---mimeRenderDefaultMultipartFormData :: WH.ToHttpApiData a => a -> BL.ByteString-mimeRenderDefaultMultipartFormData = BL.fromStrict . T.encodeUtf8 . WH.toQueryParam---- Default MimeRender Instances---- | `A.encode`-instance A.ToJSON a => MimeRender MimeJSON a where mimeRender _ = A.encode--- | @WH.urlEncodeAsForm@-instance WH.ToForm a => MimeRender MimeFormUrlEncoded a where mimeRender _ = WH.urlEncodeAsForm---- | @P.id@-instance MimeRender MimePlainText BL.ByteString where mimeRender _ = P.id--- | @BL.fromStrict . T.encodeUtf8@-instance MimeRender MimePlainText T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8--- | @BCL.pack@-instance MimeRender MimePlainText String where mimeRender _ = BCL.pack---- | @P.id@-instance MimeRender MimeOctetStream BL.ByteString where mimeRender _ = P.id--- | @BL.fromStrict . T.encodeUtf8@-instance MimeRender MimeOctetStream T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8--- | @BCL.pack@-instance MimeRender MimeOctetStream String where mimeRender _ = BCL.pack--instance MimeRender MimeMultipartFormData BL.ByteString where mimeRender _ = P.id--instance MimeRender MimeMultipartFormData Bool where mimeRender _ = mimeRenderDefaultMultipartFormData-instance MimeRender MimeMultipartFormData Char where mimeRender _ = mimeRenderDefaultMultipartFormData-instance MimeRender MimeMultipartFormData Double where mimeRender _ = mimeRenderDefaultMultipartFormData-instance MimeRender MimeMultipartFormData Float where mimeRender _ = mimeRenderDefaultMultipartFormData-instance MimeRender MimeMultipartFormData Int where mimeRender _ = mimeRenderDefaultMultipartFormData-instance MimeRender MimeMultipartFormData Integer where mimeRender _ = mimeRenderDefaultMultipartFormData-instance MimeRender MimeMultipartFormData String where mimeRender _ = mimeRenderDefaultMultipartFormData-instance MimeRender MimeMultipartFormData T.Text where mimeRender _ = mimeRenderDefaultMultipartFormData---- | @P.Right . P.const NoContent@-instance MimeRender MimeNoContent NoContent where mimeRender _ = P.const BCL.empty----- * MimeUnrender Class--class MimeType mtype => MimeUnrender mtype o where- mimeUnrender :: P.Proxy mtype -> BL.ByteString -> P.Either String o- mimeUnrender' :: mtype -> BL.ByteString -> P.Either String o- mimeUnrender' _ x = mimeUnrender (P.Proxy :: P.Proxy mtype) x---- Default MimeUnrender Instances---- | @A.eitherDecode@-instance A.FromJSON a => MimeUnrender MimeJSON a where mimeUnrender _ = A.eitherDecode--- | @P.left T.unpack . WH.urlDecodeAsForm@-instance WH.FromForm a => MimeUnrender MimeFormUrlEncoded a where mimeUnrender _ = P.left T.unpack . WH.urlDecodeAsForm--- | @P.Right . P.id@--instance MimeUnrender MimePlainText BL.ByteString where mimeUnrender _ = P.Right . P.id--- | @P.left P.show . TL.decodeUtf8'@-instance MimeUnrender MimePlainText T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict--- | @P.Right . BCL.unpack@-instance MimeUnrender MimePlainText String where mimeUnrender _ = P.Right . BCL.unpack---- | @P.Right . P.id@-instance MimeUnrender MimeOctetStream BL.ByteString where mimeUnrender _ = P.Right . P.id--- | @P.left P.show . T.decodeUtf8' . BL.toStrict@-instance MimeUnrender MimeOctetStream T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict--- | @P.Right . BCL.unpack@-instance MimeUnrender MimeOctetStream String where mimeUnrender _ = P.Right . BCL.unpack---- | @P.Right . P.const NoContent@-instance MimeUnrender MimeNoContent NoContent where mimeUnrender _ = P.Right . P.const NoContent--
− lib/ORYHydra/Model.hs
@@ -1,2216 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.Model--}--{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveFoldable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE DeriveTraversable #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TupleSections #-}-{-# LANGUAGE TypeFamilies #-}-{-# OPTIONS_GHC -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}--module ORYHydra.Model where--import ORYHydra.Core-import ORYHydra.MimeTypes--import Data.Aeson ((.:),(.:!),(.:?),(.=))--import qualified Control.Arrow as P (left)-import qualified Data.Aeson as A-import qualified Data.ByteString as B-import qualified Data.ByteString.Base64 as B64-import qualified Data.ByteString.Char8 as BC-import qualified Data.ByteString.Lazy as BL-import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)-import qualified Data.Foldable as P-import qualified Data.HashMap.Lazy as HM-import qualified Data.Map as Map-import qualified Data.Maybe as P-import qualified Data.Set as Set-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import qualified Data.Time as TI-import qualified Lens.Micro as L-import qualified Web.FormUrlEncoded as WH-import qualified Web.HttpApiData as WH--import Control.Applicative ((<|>))-import Control.Applicative (Alternative)-import Data.Function ((&))-import Data.Monoid ((<>))-import Data.Text (Text)-import Prelude (($),(/=),(.),(<$>),(<*>),(>>=),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)--import qualified Prelude as P------ * Parameter newtypes----- ** All-newtype All = All { unAll :: Bool } deriving (P.Eq, P.Show)---- ** Client-newtype Client = Client { unClient :: Text } deriving (P.Eq, P.Show)---- ** ClientId-newtype ClientId = ClientId { unClientId :: Text } deriving (P.Eq, P.Show)---- ** Code-newtype Code = Code { unCode :: Text } deriving (P.Eq, P.Show)---- ** ConsentChallenge-newtype ConsentChallenge = ConsentChallenge { unConsentChallenge :: Text } deriving (P.Eq, P.Show)---- ** GrantType-newtype GrantType = GrantType { unGrantType :: Text } deriving (P.Eq, P.Show)---- ** Id-newtype Id = Id { unId :: Text } deriving (P.Eq, P.Show)---- ** Kid-newtype Kid = Kid { unKid :: Text } deriving (P.Eq, P.Show)---- ** Limit-newtype Limit = Limit { unLimit :: Integer } deriving (P.Eq, P.Show)---- ** LoginChallenge-newtype LoginChallenge = LoginChallenge { unLoginChallenge :: Text } deriving (P.Eq, P.Show)---- ** LogoutChallenge-newtype LogoutChallenge = LogoutChallenge { unLogoutChallenge :: Text } deriving (P.Eq, P.Show)---- ** Offset-newtype Offset = Offset { unOffset :: Integer } deriving (P.Eq, P.Show)---- ** RedirectUri-newtype RedirectUri = RedirectUri { unRedirectUri :: Text } deriving (P.Eq, P.Show)---- ** RefreshToken-newtype RefreshToken = RefreshToken { unRefreshToken :: Text } deriving (P.Eq, P.Show)---- ** Scope-newtype Scope = Scope { unScope :: Text } deriving (P.Eq, P.Show)---- ** Set-newtype Set = Set { unSet :: Text } deriving (P.Eq, P.Show)---- ** Subject-newtype Subject = Subject { unSubject :: Text } deriving (P.Eq, P.Show)---- ** Token-newtype Token = Token { unToken :: Text } deriving (P.Eq, P.Show)---- * Models----- ** AcceptConsentRequest--- | AcceptConsentRequest--- The request payload used to accept a consent request.--- -data AcceptConsentRequest = AcceptConsentRequest- { acceptConsentRequestGrantAccessTokenAudience :: Maybe [Text] -- ^ "grant_access_token_audience"- , acceptConsentRequestGrantScope :: Maybe [Text] -- ^ "grant_scope"- , acceptConsentRequestHandledAt :: Maybe DateTime -- ^ "handled_at"- , acceptConsentRequestRemember :: Maybe Bool -- ^ "remember" - Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.- , acceptConsentRequestRememberFor :: Maybe Integer -- ^ "remember_for" - RememberFor sets how long the consent authorization should be remembered for in seconds. If set to `0`, the authorization will be remembered indefinitely.- , acceptConsentRequestSession :: Maybe ConsentRequestSession -- ^ "session"- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON AcceptConsentRequest-instance A.FromJSON AcceptConsentRequest where- parseJSON = A.withObject "AcceptConsentRequest" $ \o ->- AcceptConsentRequest- <$> (o .:? "grant_access_token_audience")- <*> (o .:? "grant_scope")- <*> (o .:? "handled_at")- <*> (o .:? "remember")- <*> (o .:? "remember_for")- <*> (o .:? "session")---- | ToJSON AcceptConsentRequest-instance A.ToJSON AcceptConsentRequest where- toJSON AcceptConsentRequest {..} =- _omitNulls- [ "grant_access_token_audience" .= acceptConsentRequestGrantAccessTokenAudience- , "grant_scope" .= acceptConsentRequestGrantScope- , "handled_at" .= acceptConsentRequestHandledAt- , "remember" .= acceptConsentRequestRemember- , "remember_for" .= acceptConsentRequestRememberFor- , "session" .= acceptConsentRequestSession- ]----- | Construct a value of type 'AcceptConsentRequest' (by applying it's required fields, if any)-mkAcceptConsentRequest- :: AcceptConsentRequest-mkAcceptConsentRequest =- AcceptConsentRequest- { acceptConsentRequestGrantAccessTokenAudience = Nothing- , acceptConsentRequestGrantScope = Nothing- , acceptConsentRequestHandledAt = Nothing- , acceptConsentRequestRemember = Nothing- , acceptConsentRequestRememberFor = Nothing- , acceptConsentRequestSession = Nothing- }---- ** AcceptLoginRequest--- | AcceptLoginRequest--- HandledLoginRequest is the request payload used to accept a login request.--- -data AcceptLoginRequest = AcceptLoginRequest- { acceptLoginRequestAcr :: Maybe Text -- ^ "acr" - ACR sets the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.- , acceptLoginRequestContext :: Maybe A.Value -- ^ "context"- , acceptLoginRequestForceSubjectIdentifier :: Maybe Text -- ^ "force_subject_identifier" - ForceSubjectIdentifier forces the \"pairwise\" user ID of the end-user that authenticated. The \"pairwise\" user ID refers to the (Pairwise Identifier Algorithm)[http://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg] of the OpenID Connect specification. It allows you to set an obfuscated subject (\"user\") identifier that is unique to the client. Please note that this changes the user ID on endpoint /userinfo and sub claim of the ID Token. It does not change the sub claim in the OAuth 2.0 Introspection. Per default, ORY Hydra handles this value with its own algorithm. In case you want to set this yourself you can use this field. Please note that setting this field has no effect if `pairwise` is not configured in ORY Hydra or the OAuth 2.0 Client does not expect a pairwise identifier (set via `subject_type` key in the client's configuration). Please also be aware that ORY Hydra is unable to properly compute this value during authentication. This implies that you have to compute this value on every authentication process (probably depending on the client ID or some other unique value). If you fail to compute the proper value, then authentication processes which have id_token_hint set might fail.- , acceptLoginRequestRemember :: Maybe Bool -- ^ "remember" - Remember, if set to true, tells ORY Hydra to remember this user by telling the user agent (browser) to store a cookie with authentication data. If the same user performs another OAuth 2.0 Authorization Request, he/she will not be asked to log in again.- , acceptLoginRequestRememberFor :: Maybe Integer -- ^ "remember_for" - RememberFor sets how long the authentication should be remembered for in seconds. If set to `0`, the authorization will be remembered for the duration of the browser session (using a session cookie).- , acceptLoginRequestSubject :: Text -- ^ /Required/ "subject" - Subject is the user ID of the end-user that authenticated.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON AcceptLoginRequest-instance A.FromJSON AcceptLoginRequest where- parseJSON = A.withObject "AcceptLoginRequest" $ \o ->- AcceptLoginRequest- <$> (o .:? "acr")- <*> (o .:? "context")- <*> (o .:? "force_subject_identifier")- <*> (o .:? "remember")- <*> (o .:? "remember_for")- <*> (o .: "subject")---- | ToJSON AcceptLoginRequest-instance A.ToJSON AcceptLoginRequest where- toJSON AcceptLoginRequest {..} =- _omitNulls- [ "acr" .= acceptLoginRequestAcr- , "context" .= acceptLoginRequestContext- , "force_subject_identifier" .= acceptLoginRequestForceSubjectIdentifier- , "remember" .= acceptLoginRequestRemember- , "remember_for" .= acceptLoginRequestRememberFor- , "subject" .= acceptLoginRequestSubject- ]----- | Construct a value of type 'AcceptLoginRequest' (by applying it's required fields, if any)-mkAcceptLoginRequest- :: Text -- ^ 'acceptLoginRequestSubject': Subject is the user ID of the end-user that authenticated.- -> AcceptLoginRequest-mkAcceptLoginRequest acceptLoginRequestSubject =- AcceptLoginRequest- { acceptLoginRequestAcr = Nothing- , acceptLoginRequestContext = Nothing- , acceptLoginRequestForceSubjectIdentifier = Nothing- , acceptLoginRequestRemember = Nothing- , acceptLoginRequestRememberFor = Nothing- , acceptLoginRequestSubject- }---- ** CompletedRequest--- | CompletedRequest--- The response payload sent when accepting or rejecting a login or consent request.--- -data CompletedRequest = CompletedRequest- { completedRequestRedirectTo :: Text -- ^ /Required/ "redirect_to" - RedirectURL is the URL which you should redirect the user to once the authentication process is completed.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON CompletedRequest-instance A.FromJSON CompletedRequest where- parseJSON = A.withObject "CompletedRequest" $ \o ->- CompletedRequest- <$> (o .: "redirect_to")---- | ToJSON CompletedRequest-instance A.ToJSON CompletedRequest where- toJSON CompletedRequest {..} =- _omitNulls- [ "redirect_to" .= completedRequestRedirectTo- ]----- | Construct a value of type 'CompletedRequest' (by applying it's required fields, if any)-mkCompletedRequest- :: Text -- ^ 'completedRequestRedirectTo': RedirectURL is the URL which you should redirect the user to once the authentication process is completed.- -> CompletedRequest-mkCompletedRequest completedRequestRedirectTo =- CompletedRequest- { completedRequestRedirectTo- }---- ** ConsentRequest--- | ConsentRequest--- Contains information on an ongoing consent request.--- -data ConsentRequest = ConsentRequest- { consentRequestAcr :: Maybe Text -- ^ "acr" - ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.- , consentRequestChallenge :: Text -- ^ /Required/ "challenge" - ID is the identifier (\"authorization challenge\") of the consent authorization request. It is used to identify the session.- , consentRequestClient :: Maybe OAuth2Client -- ^ "client"- , consentRequestContext :: Maybe A.Value -- ^ "context"- , consentRequestLoginChallenge :: Maybe Text -- ^ "login_challenge" - LoginChallenge is the login challenge this consent challenge belongs to. It can be used to associate a login and consent request in the login & consent app.- , consentRequestLoginSessionId :: Maybe Text -- ^ "login_session_id" - LoginSessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the \"sid\" parameter in the ID Token and in OIDC Front-/Back- channel logout. It's value can generally be used to associate consecutive login requests by a certain user.- , consentRequestOidcContext :: Maybe OpenIDConnectContext -- ^ "oidc_context"- , consentRequestRequestUrl :: Maybe Text -- ^ "request_url" - RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.- , consentRequestRequestedAccessTokenAudience :: Maybe [Text] -- ^ "requested_access_token_audience"- , consentRequestRequestedScope :: Maybe [Text] -- ^ "requested_scope"- , consentRequestSkip :: Maybe Bool -- ^ "skip" - Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you must not ask the user to grant the requested scopes. You must however either allow or deny the consent request using the usual API call.- , consentRequestSubject :: Maybe Text -- ^ "subject" - Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON ConsentRequest-instance A.FromJSON ConsentRequest where- parseJSON = A.withObject "ConsentRequest" $ \o ->- ConsentRequest- <$> (o .:? "acr")- <*> (o .: "challenge")- <*> (o .:? "client")- <*> (o .:? "context")- <*> (o .:? "login_challenge")- <*> (o .:? "login_session_id")- <*> (o .:? "oidc_context")- <*> (o .:? "request_url")- <*> (o .:? "requested_access_token_audience")- <*> (o .:? "requested_scope")- <*> (o .:? "skip")- <*> (o .:? "subject")---- | ToJSON ConsentRequest-instance A.ToJSON ConsentRequest where- toJSON ConsentRequest {..} =- _omitNulls- [ "acr" .= consentRequestAcr- , "challenge" .= consentRequestChallenge- , "client" .= consentRequestClient- , "context" .= consentRequestContext- , "login_challenge" .= consentRequestLoginChallenge- , "login_session_id" .= consentRequestLoginSessionId- , "oidc_context" .= consentRequestOidcContext- , "request_url" .= consentRequestRequestUrl- , "requested_access_token_audience" .= consentRequestRequestedAccessTokenAudience- , "requested_scope" .= consentRequestRequestedScope- , "skip" .= consentRequestSkip- , "subject" .= consentRequestSubject- ]----- | Construct a value of type 'ConsentRequest' (by applying it's required fields, if any)-mkConsentRequest- :: Text -- ^ 'consentRequestChallenge': ID is the identifier (\"authorization challenge\") of the consent authorization request. It is used to identify the session.- -> ConsentRequest-mkConsentRequest consentRequestChallenge =- ConsentRequest- { consentRequestAcr = Nothing- , consentRequestChallenge- , consentRequestClient = Nothing- , consentRequestContext = Nothing- , consentRequestLoginChallenge = Nothing- , consentRequestLoginSessionId = Nothing- , consentRequestOidcContext = Nothing- , consentRequestRequestUrl = Nothing- , consentRequestRequestedAccessTokenAudience = Nothing- , consentRequestRequestedScope = Nothing- , consentRequestSkip = Nothing- , consentRequestSubject = Nothing- }---- ** ConsentRequestSession--- | ConsentRequestSession--- Used to pass session data to a consent request.--- -data ConsentRequestSession = ConsentRequestSession- { consentRequestSessionAccessToken :: Maybe A.Value -- ^ "access_token" - AccessToken sets session data for the access and refresh token, as well as any future tokens issued by the refresh grant. Keep in mind that this data will be available to anyone performing OAuth 2.0 Challenge Introspection. If only your services can perform OAuth 2.0 Challenge Introspection, this is usually fine. But if third parties can access that endpoint as well, sensitive data from the session might be exposed to them. Use with care!- , consentRequestSessionIdToken :: Maybe A.Value -- ^ "id_token" - IDToken sets session data for the OpenID Connect ID token. Keep in mind that the session'id payloads are readable by anyone that has access to the ID Challenge. Use with care!- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON ConsentRequestSession-instance A.FromJSON ConsentRequestSession where- parseJSON = A.withObject "ConsentRequestSession" $ \o ->- ConsentRequestSession- <$> (o .:? "access_token")- <*> (o .:? "id_token")---- | ToJSON ConsentRequestSession-instance A.ToJSON ConsentRequestSession where- toJSON ConsentRequestSession {..} =- _omitNulls- [ "access_token" .= consentRequestSessionAccessToken- , "id_token" .= consentRequestSessionIdToken- ]----- | Construct a value of type 'ConsentRequestSession' (by applying it's required fields, if any)-mkConsentRequestSession- :: ConsentRequestSession-mkConsentRequestSession =- ConsentRequestSession- { consentRequestSessionAccessToken = Nothing- , consentRequestSessionIdToken = Nothing- }---- ** ContainerWaitOKBodyError--- | ContainerWaitOKBodyError--- ContainerWaitOKBodyError container waiting error, if any-data ContainerWaitOKBodyError = ContainerWaitOKBodyError- { containerWaitOKBodyErrorMessage :: Maybe Text -- ^ "Message" - Details of an error- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON ContainerWaitOKBodyError-instance A.FromJSON ContainerWaitOKBodyError where- parseJSON = A.withObject "ContainerWaitOKBodyError" $ \o ->- ContainerWaitOKBodyError- <$> (o .:? "Message")---- | ToJSON ContainerWaitOKBodyError-instance A.ToJSON ContainerWaitOKBodyError where- toJSON ContainerWaitOKBodyError {..} =- _omitNulls- [ "Message" .= containerWaitOKBodyErrorMessage- ]----- | Construct a value of type 'ContainerWaitOKBodyError' (by applying it's required fields, if any)-mkContainerWaitOKBodyError- :: ContainerWaitOKBodyError-mkContainerWaitOKBodyError =- ContainerWaitOKBodyError- { containerWaitOKBodyErrorMessage = Nothing- }---- ** FlushInactiveOAuth2TokensRequest--- | FlushInactiveOAuth2TokensRequest-data FlushInactiveOAuth2TokensRequest = FlushInactiveOAuth2TokensRequest- { flushInactiveOAuth2TokensRequestNotAfter :: Maybe DateTime -- ^ "notAfter" - NotAfter sets after which point tokens should not be flushed. This is useful when you want to keep a history of recently issued tokens for auditing.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON FlushInactiveOAuth2TokensRequest-instance A.FromJSON FlushInactiveOAuth2TokensRequest where- parseJSON = A.withObject "FlushInactiveOAuth2TokensRequest" $ \o ->- FlushInactiveOAuth2TokensRequest- <$> (o .:? "notAfter")---- | ToJSON FlushInactiveOAuth2TokensRequest-instance A.ToJSON FlushInactiveOAuth2TokensRequest where- toJSON FlushInactiveOAuth2TokensRequest {..} =- _omitNulls- [ "notAfter" .= flushInactiveOAuth2TokensRequestNotAfter- ]----- | Construct a value of type 'FlushInactiveOAuth2TokensRequest' (by applying it's required fields, if any)-mkFlushInactiveOAuth2TokensRequest- :: FlushInactiveOAuth2TokensRequest-mkFlushInactiveOAuth2TokensRequest =- FlushInactiveOAuth2TokensRequest- { flushInactiveOAuth2TokensRequestNotAfter = Nothing- }---- ** GenericError--- | GenericError--- Error response--- --- Error responses are sent when an error (e.g. unauthorized, bad request, ...) occurred.-data GenericError = GenericError- { genericErrorDebug :: Maybe Text -- ^ "debug" - Debug contains debug information. This is usually not available and has to be enabled.- , genericErrorError :: Text -- ^ /Required/ "error" - Name is the error name.- , genericErrorErrorDescription :: Maybe Text -- ^ "error_description" - Description contains further information on the nature of the error.- , genericErrorStatusCode :: Maybe Integer -- ^ "status_code" - Code represents the error status code (404, 403, 401, ...).- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON GenericError-instance A.FromJSON GenericError where- parseJSON = A.withObject "GenericError" $ \o ->- GenericError- <$> (o .:? "debug")- <*> (o .: "error")- <*> (o .:? "error_description")- <*> (o .:? "status_code")---- | ToJSON GenericError-instance A.ToJSON GenericError where- toJSON GenericError {..} =- _omitNulls- [ "debug" .= genericErrorDebug- , "error" .= genericErrorError- , "error_description" .= genericErrorErrorDescription- , "status_code" .= genericErrorStatusCode- ]----- | Construct a value of type 'GenericError' (by applying it's required fields, if any)-mkGenericError- :: Text -- ^ 'genericErrorError': Name is the error name.- -> GenericError-mkGenericError genericErrorError =- GenericError- { genericErrorDebug = Nothing- , genericErrorError- , genericErrorErrorDescription = Nothing- , genericErrorStatusCode = Nothing- }---- ** HealthNotReadyStatus--- | HealthNotReadyStatus-data HealthNotReadyStatus = HealthNotReadyStatus- { healthNotReadyStatusErrors :: Maybe (Map.Map String Text) -- ^ "errors" - Errors contains a list of errors that caused the not ready status.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON HealthNotReadyStatus-instance A.FromJSON HealthNotReadyStatus where- parseJSON = A.withObject "HealthNotReadyStatus" $ \o ->- HealthNotReadyStatus- <$> (o .:? "errors")---- | ToJSON HealthNotReadyStatus-instance A.ToJSON HealthNotReadyStatus where- toJSON HealthNotReadyStatus {..} =- _omitNulls- [ "errors" .= healthNotReadyStatusErrors- ]----- | Construct a value of type 'HealthNotReadyStatus' (by applying it's required fields, if any)-mkHealthNotReadyStatus- :: HealthNotReadyStatus-mkHealthNotReadyStatus =- HealthNotReadyStatus- { healthNotReadyStatusErrors = Nothing- }---- ** HealthStatus--- | HealthStatus-data HealthStatus = HealthStatus- { healthStatusStatus :: Maybe Text -- ^ "status" - Status always contains \"ok\".- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON HealthStatus-instance A.FromJSON HealthStatus where- parseJSON = A.withObject "HealthStatus" $ \o ->- HealthStatus- <$> (o .:? "status")---- | ToJSON HealthStatus-instance A.ToJSON HealthStatus where- toJSON HealthStatus {..} =- _omitNulls- [ "status" .= healthStatusStatus- ]----- | Construct a value of type 'HealthStatus' (by applying it's required fields, if any)-mkHealthStatus- :: HealthStatus-mkHealthStatus =- HealthStatus- { healthStatusStatus = Nothing- }---- ** JSONWebKey--- | JSONWebKey--- It is important that this model object is named JSONWebKey for \"swagger generate spec\" to generate only on definition of a JSONWebKey.-data JSONWebKey = JSONWebKey- { jSONWebKeyAlg :: Text -- ^ /Required/ "alg" - 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.- , jSONWebKeyCrv :: Maybe Text -- ^ "crv"- , jSONWebKeyD :: Maybe Text -- ^ "d"- , jSONWebKeyDp :: Maybe Text -- ^ "dp"- , jSONWebKeyDq :: Maybe Text -- ^ "dq"- , jSONWebKeyE :: Maybe Text -- ^ "e"- , jSONWebKeyK :: Maybe Text -- ^ "k"- , jSONWebKeyKid :: Text -- ^ /Required/ "kid" - 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.- , jSONWebKeyKty :: Text -- ^ /Required/ "kty" - 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.- , jSONWebKeyN :: Maybe Text -- ^ "n"- , jSONWebKeyP :: Maybe Text -- ^ "p"- , jSONWebKeyQ :: Maybe Text -- ^ "q"- , jSONWebKeyQi :: Maybe Text -- ^ "qi"- , jSONWebKeyUse :: Text -- ^ /Required/ "use" - Use (\"public key use\") 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).- , jSONWebKeyX :: Maybe Text -- ^ "x"- , jSONWebKeyX5c :: Maybe [Text] -- ^ "x5c" - 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.- , jSONWebKeyY :: Maybe Text -- ^ "y"- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON JSONWebKey-instance A.FromJSON JSONWebKey where- parseJSON = A.withObject "JSONWebKey" $ \o ->- JSONWebKey- <$> (o .: "alg")- <*> (o .:? "crv")- <*> (o .:? "d")- <*> (o .:? "dp")- <*> (o .:? "dq")- <*> (o .:? "e")- <*> (o .:? "k")- <*> (o .: "kid")- <*> (o .: "kty")- <*> (o .:? "n")- <*> (o .:? "p")- <*> (o .:? "q")- <*> (o .:? "qi")- <*> (o .: "use")- <*> (o .:? "x")- <*> (o .:? "x5c")- <*> (o .:? "y")---- | ToJSON JSONWebKey-instance A.ToJSON JSONWebKey where- toJSON JSONWebKey {..} =- _omitNulls- [ "alg" .= jSONWebKeyAlg- , "crv" .= jSONWebKeyCrv- , "d" .= jSONWebKeyD- , "dp" .= jSONWebKeyDp- , "dq" .= jSONWebKeyDq- , "e" .= jSONWebKeyE- , "k" .= jSONWebKeyK- , "kid" .= jSONWebKeyKid- , "kty" .= jSONWebKeyKty- , "n" .= jSONWebKeyN- , "p" .= jSONWebKeyP- , "q" .= jSONWebKeyQ- , "qi" .= jSONWebKeyQi- , "use" .= jSONWebKeyUse- , "x" .= jSONWebKeyX- , "x5c" .= jSONWebKeyX5c- , "y" .= jSONWebKeyY- ]----- | Construct a value of type 'JSONWebKey' (by applying it's required fields, if any)-mkJSONWebKey- :: Text -- ^ 'jSONWebKeyAlg': 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.- -> Text -- ^ 'jSONWebKeyKid': 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.- -> Text -- ^ 'jSONWebKeyKty': 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.- -> Text -- ^ 'jSONWebKeyUse': Use (\"public key use\") 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).- -> JSONWebKey-mkJSONWebKey jSONWebKeyAlg jSONWebKeyKid jSONWebKeyKty jSONWebKeyUse =- JSONWebKey- { jSONWebKeyAlg- , jSONWebKeyCrv = Nothing- , jSONWebKeyD = Nothing- , jSONWebKeyDp = Nothing- , jSONWebKeyDq = Nothing- , jSONWebKeyE = Nothing- , jSONWebKeyK = Nothing- , jSONWebKeyKid- , jSONWebKeyKty- , jSONWebKeyN = Nothing- , jSONWebKeyP = Nothing- , jSONWebKeyQ = Nothing- , jSONWebKeyQi = Nothing- , jSONWebKeyUse- , jSONWebKeyX = Nothing- , jSONWebKeyX5c = Nothing- , jSONWebKeyY = Nothing- }---- ** JSONWebKeySet--- | JSONWebKeySet--- It is important that this model object is named JSONWebKeySet for \"swagger generate spec\" to generate only on definition of a JSONWebKeySet. Since one with the same name is previously defined as client.Client.JSONWebKeys and this one is last, this one will be effectively written in the swagger spec.-data JSONWebKeySet = JSONWebKeySet- { jSONWebKeySetKeys :: Maybe [JSONWebKey] -- ^ "keys" - 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.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON JSONWebKeySet-instance A.FromJSON JSONWebKeySet where- parseJSON = A.withObject "JSONWebKeySet" $ \o ->- JSONWebKeySet- <$> (o .:? "keys")---- | ToJSON JSONWebKeySet-instance A.ToJSON JSONWebKeySet where- toJSON JSONWebKeySet {..} =- _omitNulls- [ "keys" .= jSONWebKeySetKeys- ]----- | Construct a value of type 'JSONWebKeySet' (by applying it's required fields, if any)-mkJSONWebKeySet- :: JSONWebKeySet-mkJSONWebKeySet =- JSONWebKeySet- { jSONWebKeySetKeys = Nothing- }---- ** JsonWebKeySetGeneratorRequest--- | JsonWebKeySetGeneratorRequest-data JsonWebKeySetGeneratorRequest = JsonWebKeySetGeneratorRequest- { jsonWebKeySetGeneratorRequestAlg :: Text -- ^ /Required/ "alg" - The algorithm to be used for creating the key. Supports \"RS256\", \"ES512\", \"HS512\", and \"HS256\"- , jsonWebKeySetGeneratorRequestKid :: Text -- ^ /Required/ "kid" - The kid of the key to be created- , jsonWebKeySetGeneratorRequestUse :: Text -- ^ /Required/ "use" - 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. Valid values are \"enc\" and \"sig\".- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON JsonWebKeySetGeneratorRequest-instance A.FromJSON JsonWebKeySetGeneratorRequest where- parseJSON = A.withObject "JsonWebKeySetGeneratorRequest" $ \o ->- JsonWebKeySetGeneratorRequest- <$> (o .: "alg")- <*> (o .: "kid")- <*> (o .: "use")---- | ToJSON JsonWebKeySetGeneratorRequest-instance A.ToJSON JsonWebKeySetGeneratorRequest where- toJSON JsonWebKeySetGeneratorRequest {..} =- _omitNulls- [ "alg" .= jsonWebKeySetGeneratorRequestAlg- , "kid" .= jsonWebKeySetGeneratorRequestKid- , "use" .= jsonWebKeySetGeneratorRequestUse- ]----- | Construct a value of type 'JsonWebKeySetGeneratorRequest' (by applying it's required fields, if any)-mkJsonWebKeySetGeneratorRequest- :: Text -- ^ 'jsonWebKeySetGeneratorRequestAlg': The algorithm to be used for creating the key. Supports \"RS256\", \"ES512\", \"HS512\", and \"HS256\"- -> Text -- ^ 'jsonWebKeySetGeneratorRequestKid': The kid of the key to be created- -> Text -- ^ 'jsonWebKeySetGeneratorRequestUse': 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. Valid values are \"enc\" and \"sig\".- -> JsonWebKeySetGeneratorRequest-mkJsonWebKeySetGeneratorRequest jsonWebKeySetGeneratorRequestAlg jsonWebKeySetGeneratorRequestKid jsonWebKeySetGeneratorRequestUse =- JsonWebKeySetGeneratorRequest- { jsonWebKeySetGeneratorRequestAlg- , jsonWebKeySetGeneratorRequestKid- , jsonWebKeySetGeneratorRequestUse- }---- ** LoginRequest--- | LoginRequest--- Contains information on an ongoing login request.--- -data LoginRequest = LoginRequest- { loginRequestChallenge :: Text -- ^ /Required/ "challenge" - ID is the identifier (\"login challenge\") of the login request. It is used to identify the session.- , loginRequestClient :: OAuth2Client -- ^ /Required/ "client"- , loginRequestOidcContext :: Maybe OpenIDConnectContext -- ^ "oidc_context"- , loginRequestRequestUrl :: Text -- ^ /Required/ "request_url" - RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.- , loginRequestRequestedAccessTokenAudience :: [Text] -- ^ /Required/ "requested_access_token_audience"- , loginRequestRequestedScope :: [Text] -- ^ /Required/ "requested_scope"- , loginRequestSessionId :: Maybe Text -- ^ "session_id" - SessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the \"sid\" parameter in the ID Token and in OIDC Front-/Back- channel logout. It's value can generally be used to associate consecutive login requests by a certain user.- , loginRequestSkip :: Bool -- ^ /Required/ "skip" - Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you can skip asking the user to grant the requested scopes, and simply forward the user to the redirect URL. This feature allows you to update / set session information.- , loginRequestSubject :: Text -- ^ /Required/ "subject" - Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client. If this value is set and `skip` is true, you MUST include this subject type when accepting the login request, or the request will fail.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON LoginRequest-instance A.FromJSON LoginRequest where- parseJSON = A.withObject "LoginRequest" $ \o ->- LoginRequest- <$> (o .: "challenge")- <*> (o .: "client")- <*> (o .:? "oidc_context")- <*> (o .: "request_url")- <*> (o .: "requested_access_token_audience")- <*> (o .: "requested_scope")- <*> (o .:? "session_id")- <*> (o .: "skip")- <*> (o .: "subject")---- | ToJSON LoginRequest-instance A.ToJSON LoginRequest where- toJSON LoginRequest {..} =- _omitNulls- [ "challenge" .= loginRequestChallenge- , "client" .= loginRequestClient- , "oidc_context" .= loginRequestOidcContext- , "request_url" .= loginRequestRequestUrl- , "requested_access_token_audience" .= loginRequestRequestedAccessTokenAudience- , "requested_scope" .= loginRequestRequestedScope- , "session_id" .= loginRequestSessionId- , "skip" .= loginRequestSkip- , "subject" .= loginRequestSubject- ]----- | Construct a value of type 'LoginRequest' (by applying it's required fields, if any)-mkLoginRequest- :: Text -- ^ 'loginRequestChallenge': ID is the identifier (\"login challenge\") of the login request. It is used to identify the session.- -> OAuth2Client -- ^ 'loginRequestClient' - -> Text -- ^ 'loginRequestRequestUrl': RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.- -> [Text] -- ^ 'loginRequestRequestedAccessTokenAudience' - -> [Text] -- ^ 'loginRequestRequestedScope' - -> Bool -- ^ 'loginRequestSkip': Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you can skip asking the user to grant the requested scopes, and simply forward the user to the redirect URL. This feature allows you to update / set session information.- -> Text -- ^ 'loginRequestSubject': Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client. If this value is set and `skip` is true, you MUST include this subject type when accepting the login request, or the request will fail.- -> LoginRequest-mkLoginRequest loginRequestChallenge loginRequestClient loginRequestRequestUrl loginRequestRequestedAccessTokenAudience loginRequestRequestedScope loginRequestSkip loginRequestSubject =- LoginRequest- { loginRequestChallenge- , loginRequestClient- , loginRequestOidcContext = Nothing- , loginRequestRequestUrl- , loginRequestRequestedAccessTokenAudience- , loginRequestRequestedScope- , loginRequestSessionId = Nothing- , loginRequestSkip- , loginRequestSubject- }---- ** LogoutRequest--- | LogoutRequest--- Contains information about an ongoing logout request.--- -data LogoutRequest = LogoutRequest- { logoutRequestRequestUrl :: Maybe Text -- ^ "request_url" - RequestURL is the original Logout URL requested.- , logoutRequestRpInitiated :: Maybe Bool -- ^ "rp_initiated" - RPInitiated is set to true if the request was initiated by a Relying Party (RP), also known as an OAuth 2.0 Client.- , logoutRequestSid :: Maybe Text -- ^ "sid" - SessionID is the login session ID that was requested to log out.- , logoutRequestSubject :: Maybe Text -- ^ "subject" - Subject is the user for whom the logout was request.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON LogoutRequest-instance A.FromJSON LogoutRequest where- parseJSON = A.withObject "LogoutRequest" $ \o ->- LogoutRequest- <$> (o .:? "request_url")- <*> (o .:? "rp_initiated")- <*> (o .:? "sid")- <*> (o .:? "subject")---- | ToJSON LogoutRequest-instance A.ToJSON LogoutRequest where- toJSON LogoutRequest {..} =- _omitNulls- [ "request_url" .= logoutRequestRequestUrl- , "rp_initiated" .= logoutRequestRpInitiated- , "sid" .= logoutRequestSid- , "subject" .= logoutRequestSubject- ]----- | Construct a value of type 'LogoutRequest' (by applying it's required fields, if any)-mkLogoutRequest- :: LogoutRequest-mkLogoutRequest =- LogoutRequest- { logoutRequestRequestUrl = Nothing- , logoutRequestRpInitiated = Nothing- , logoutRequestSid = Nothing- , logoutRequestSubject = Nothing- }---- ** OAuth2Client--- | OAuth2Client--- Client represents an OAuth 2.0 Client.--- -data OAuth2Client = OAuth2Client- { oAuth2ClientAllowedCorsOrigins :: Maybe [Text] -- ^ "allowed_cors_origins"- , oAuth2ClientAudience :: Maybe [Text] -- ^ "audience"- , oAuth2ClientBackchannelLogoutSessionRequired :: Maybe Bool -- ^ "backchannel_logout_session_required" - Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout Token to identify the RP session with the OP when the backchannel_logout_uri is used. If omitted, the default value is false.- , oAuth2ClientBackchannelLogoutUri :: Maybe Text -- ^ "backchannel_logout_uri" - RP URL that will cause the RP to log itself out when sent a Logout Token by the OP.- , oAuth2ClientClientId :: Maybe Text -- ^ "client_id" - ID is the id for this client.- , oAuth2ClientClientName :: Maybe Text -- ^ "client_name" - Name is the human-readable string name of the client to be presented to the end-user during authorization.- , oAuth2ClientClientSecret :: Maybe Text -- ^ "client_secret" - Secret is the client's secret. The secret will be included in the create request as cleartext, and then never again. The secret is stored using BCrypt so it is impossible to recover it. Tell your users that they need to write the secret down as it will not be made available again.- , oAuth2ClientClientSecretExpiresAt :: Maybe Integer -- ^ "client_secret_expires_at" - SecretExpiresAt is an integer holding the time at which the client secret will expire or 0 if it will not expire. The time is represented as the number of seconds from 1970-01-01T00:00:00Z as measured in UTC until the date/time of expiration. This feature is currently not supported and it's value will always be set to 0.- , oAuth2ClientClientUri :: Maybe Text -- ^ "client_uri" - ClientURI is an URL string of a web page providing information about the client. If present, the server SHOULD display this URL to the end-user in a clickable fashion.- , oAuth2ClientContacts :: Maybe [Text] -- ^ "contacts"- , oAuth2ClientCreatedAt :: Maybe DateTime -- ^ "created_at" - CreatedAt returns the timestamp of the client's creation.- , oAuth2ClientFrontchannelLogoutSessionRequired :: Maybe Bool -- ^ "frontchannel_logout_session_required" - Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be included to identify the RP session with the OP when the frontchannel_logout_uri is used. If omitted, the default value is false.- , oAuth2ClientFrontchannelLogoutUri :: Maybe Text -- ^ "frontchannel_logout_uri" - RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the request and to determine which of the potentially multiple sessions is to be logged out; if either is included, both MUST be.- , oAuth2ClientGrantTypes :: Maybe [Text] -- ^ "grant_types"- , oAuth2ClientJwks :: Maybe A.Value -- ^ "jwks"- , oAuth2ClientJwksUri :: Maybe Text -- ^ "jwks_uri" - URL for the Client's JSON Web Key Set [JWK] document. If the Client signs requests to the Server, it contains the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.- , oAuth2ClientLogoUri :: Maybe Text -- ^ "logo_uri" - LogoURI is an URL string that references a logo for the client.- , oAuth2ClientMetadata :: Maybe A.Value -- ^ "metadata"- , oAuth2ClientOwner :: Maybe Text -- ^ "owner" - Owner is a string identifying the owner of the OAuth 2.0 Client.- , oAuth2ClientPolicyUri :: Maybe Text -- ^ "policy_uri" - PolicyURI is a URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data.- , oAuth2ClientPostLogoutRedirectUris :: Maybe [Text] -- ^ "post_logout_redirect_uris"- , oAuth2ClientRedirectUris :: Maybe [Text] -- ^ "redirect_uris"- , oAuth2ClientRequestObjectSigningAlg :: Maybe Text -- ^ "request_object_signing_alg" - JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP. All Request Objects from this Client MUST be rejected, if not signed with this algorithm.- , oAuth2ClientRequestUris :: Maybe [Text] -- ^ "request_uris"- , oAuth2ClientResponseTypes :: Maybe [Text] -- ^ "response_types"- , oAuth2ClientScope :: Maybe Text -- ^ "scope" - Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.- , oAuth2ClientSectorIdentifierUri :: Maybe Text -- ^ "sector_identifier_uri" - URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a file with a single JSON array of redirect_uri values.- , oAuth2ClientSubjectType :: Maybe Text -- ^ "subject_type" - SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include `pairwise` and `public`.- , oAuth2ClientTokenEndpointAuthMethod :: Maybe Text -- ^ "token_endpoint_auth_method" - Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.- , oAuth2ClientTokenEndpointAuthSigningAlg :: Maybe Text -- ^ "token_endpoint_auth_signing_alg" - Requested Client Authentication signing algorithm for the Token Endpoint.- , oAuth2ClientTosUri :: Maybe Text -- ^ "tos_uri" - TermsOfServiceURI is a URL string that points to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client.- , oAuth2ClientUpdatedAt :: Maybe DateTime -- ^ "updated_at" - UpdatedAt returns the timestamp of the last update.- , oAuth2ClientUserinfoSignedResponseAlg :: Maybe Text -- ^ "userinfo_signed_response_alg" - JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT [JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims as a UTF-8 encoded JSON object using the application/json content-type.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON OAuth2Client-instance A.FromJSON OAuth2Client where- parseJSON = A.withObject "OAuth2Client" $ \o ->- OAuth2Client- <$> (o .:? "allowed_cors_origins")- <*> (o .:? "audience")- <*> (o .:? "backchannel_logout_session_required")- <*> (o .:? "backchannel_logout_uri")- <*> (o .:? "client_id")- <*> (o .:? "client_name")- <*> (o .:? "client_secret")- <*> (o .:? "client_secret_expires_at")- <*> (o .:? "client_uri")- <*> (o .:? "contacts")- <*> (o .:? "created_at")- <*> (o .:? "frontchannel_logout_session_required")- <*> (o .:? "frontchannel_logout_uri")- <*> (o .:? "grant_types")- <*> (o .:? "jwks")- <*> (o .:? "jwks_uri")- <*> (o .:? "logo_uri")- <*> (o .:? "metadata")- <*> (o .:? "owner")- <*> (o .:? "policy_uri")- <*> (o .:? "post_logout_redirect_uris")- <*> (o .:? "redirect_uris")- <*> (o .:? "request_object_signing_alg")- <*> (o .:? "request_uris")- <*> (o .:? "response_types")- <*> (o .:? "scope")- <*> (o .:? "sector_identifier_uri")- <*> (o .:? "subject_type")- <*> (o .:? "token_endpoint_auth_method")- <*> (o .:? "token_endpoint_auth_signing_alg")- <*> (o .:? "tos_uri")- <*> (o .:? "updated_at")- <*> (o .:? "userinfo_signed_response_alg")---- | ToJSON OAuth2Client-instance A.ToJSON OAuth2Client where- toJSON OAuth2Client {..} =- _omitNulls- [ "allowed_cors_origins" .= oAuth2ClientAllowedCorsOrigins- , "audience" .= oAuth2ClientAudience- , "backchannel_logout_session_required" .= oAuth2ClientBackchannelLogoutSessionRequired- , "backchannel_logout_uri" .= oAuth2ClientBackchannelLogoutUri- , "client_id" .= oAuth2ClientClientId- , "client_name" .= oAuth2ClientClientName- , "client_secret" .= oAuth2ClientClientSecret- , "client_secret_expires_at" .= oAuth2ClientClientSecretExpiresAt- , "client_uri" .= oAuth2ClientClientUri- , "contacts" .= oAuth2ClientContacts- , "created_at" .= oAuth2ClientCreatedAt- , "frontchannel_logout_session_required" .= oAuth2ClientFrontchannelLogoutSessionRequired- , "frontchannel_logout_uri" .= oAuth2ClientFrontchannelLogoutUri- , "grant_types" .= oAuth2ClientGrantTypes- , "jwks" .= oAuth2ClientJwks- , "jwks_uri" .= oAuth2ClientJwksUri- , "logo_uri" .= oAuth2ClientLogoUri- , "metadata" .= oAuth2ClientMetadata- , "owner" .= oAuth2ClientOwner- , "policy_uri" .= oAuth2ClientPolicyUri- , "post_logout_redirect_uris" .= oAuth2ClientPostLogoutRedirectUris- , "redirect_uris" .= oAuth2ClientRedirectUris- , "request_object_signing_alg" .= oAuth2ClientRequestObjectSigningAlg- , "request_uris" .= oAuth2ClientRequestUris- , "response_types" .= oAuth2ClientResponseTypes- , "scope" .= oAuth2ClientScope- , "sector_identifier_uri" .= oAuth2ClientSectorIdentifierUri- , "subject_type" .= oAuth2ClientSubjectType- , "token_endpoint_auth_method" .= oAuth2ClientTokenEndpointAuthMethod- , "token_endpoint_auth_signing_alg" .= oAuth2ClientTokenEndpointAuthSigningAlg- , "tos_uri" .= oAuth2ClientTosUri- , "updated_at" .= oAuth2ClientUpdatedAt- , "userinfo_signed_response_alg" .= oAuth2ClientUserinfoSignedResponseAlg- ]----- | Construct a value of type 'OAuth2Client' (by applying it's required fields, if any)-mkOAuth2Client- :: OAuth2Client-mkOAuth2Client =- OAuth2Client- { oAuth2ClientAllowedCorsOrigins = Nothing- , oAuth2ClientAudience = Nothing- , oAuth2ClientBackchannelLogoutSessionRequired = Nothing- , oAuth2ClientBackchannelLogoutUri = Nothing- , oAuth2ClientClientId = Nothing- , oAuth2ClientClientName = Nothing- , oAuth2ClientClientSecret = Nothing- , oAuth2ClientClientSecretExpiresAt = Nothing- , oAuth2ClientClientUri = Nothing- , oAuth2ClientContacts = Nothing- , oAuth2ClientCreatedAt = Nothing- , oAuth2ClientFrontchannelLogoutSessionRequired = Nothing- , oAuth2ClientFrontchannelLogoutUri = Nothing- , oAuth2ClientGrantTypes = Nothing- , oAuth2ClientJwks = Nothing- , oAuth2ClientJwksUri = Nothing- , oAuth2ClientLogoUri = Nothing- , oAuth2ClientMetadata = Nothing- , oAuth2ClientOwner = Nothing- , oAuth2ClientPolicyUri = Nothing- , oAuth2ClientPostLogoutRedirectUris = Nothing- , oAuth2ClientRedirectUris = Nothing- , oAuth2ClientRequestObjectSigningAlg = Nothing- , oAuth2ClientRequestUris = Nothing- , oAuth2ClientResponseTypes = Nothing- , oAuth2ClientScope = Nothing- , oAuth2ClientSectorIdentifierUri = Nothing- , oAuth2ClientSubjectType = Nothing- , oAuth2ClientTokenEndpointAuthMethod = Nothing- , oAuth2ClientTokenEndpointAuthSigningAlg = Nothing- , oAuth2ClientTosUri = Nothing- , oAuth2ClientUpdatedAt = Nothing- , oAuth2ClientUserinfoSignedResponseAlg = Nothing- }---- ** OAuth2TokenIntrospection--- | OAuth2TokenIntrospection--- Introspection contains an access token's session data as specified by IETF RFC 7662, see:--- --- https://tools.ietf.org/html/rfc7662-data OAuth2TokenIntrospection = OAuth2TokenIntrospection- { oAuth2TokenIntrospectionActive :: Bool -- ^ /Required/ "active" - Active is a boolean indicator of whether or not the presented token is currently active. The specifics of a token's \"active\" state will vary depending on the implementation of the authorization server and the information it keeps about its tokens, but a \"true\" value return for the \"active\" property will generally indicate that a given token has been issued by this authorization server, has not been revoked by the resource owner, and is within its given time window of validity (e.g., after its issuance time and before its expiration time).- , oAuth2TokenIntrospectionAud :: Maybe [Text] -- ^ "aud" - Audience contains a list of the token's intended audiences.- , oAuth2TokenIntrospectionClientId :: Maybe Text -- ^ "client_id" - ID is aclient identifier for the OAuth 2.0 client that requested this token.- , oAuth2TokenIntrospectionExp :: Maybe Integer -- ^ "exp" - Expires at is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token will expire.- , oAuth2TokenIntrospectionExt :: Maybe A.Value -- ^ "ext" - Extra is arbitrary data set by the session.- , oAuth2TokenIntrospectionIat :: Maybe Integer -- ^ "iat" - Issued at is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token was originally issued.- , oAuth2TokenIntrospectionIss :: Maybe Text -- ^ "iss" - IssuerURL is a string representing the issuer of this token- , oAuth2TokenIntrospectionNbf :: Maybe Integer -- ^ "nbf" - NotBefore is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token is not to be used before.- , oAuth2TokenIntrospectionObfuscatedSubject :: Maybe Text -- ^ "obfuscated_subject" - ObfuscatedSubject is set when the subject identifier algorithm was set to \"pairwise\" during authorization. It is the `sub` value of the ID Token that was issued.- , oAuth2TokenIntrospectionScope :: Maybe Text -- ^ "scope" - Scope is a JSON string containing a space-separated list of scopes associated with this token.- , oAuth2TokenIntrospectionSub :: Maybe Text -- ^ "sub" - Subject of the token, as defined in JWT [RFC7519]. Usually a machine-readable identifier of the resource owner who authorized this token.- , oAuth2TokenIntrospectionTokenType :: Maybe Text -- ^ "token_type" - TokenType is the introspected token's type, typically `Bearer`.- , oAuth2TokenIntrospectionTokenUse :: Maybe Text -- ^ "token_use" - TokenUse is the introspected token's use, for example `access_token` or `refresh_token`.- , oAuth2TokenIntrospectionUsername :: Maybe Text -- ^ "username" - Username is a human-readable identifier for the resource owner who authorized this token.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON OAuth2TokenIntrospection-instance A.FromJSON OAuth2TokenIntrospection where- parseJSON = A.withObject "OAuth2TokenIntrospection" $ \o ->- OAuth2TokenIntrospection- <$> (o .: "active")- <*> (o .:? "aud")- <*> (o .:? "client_id")- <*> (o .:? "exp")- <*> (o .:? "ext")- <*> (o .:? "iat")- <*> (o .:? "iss")- <*> (o .:? "nbf")- <*> (o .:? "obfuscated_subject")- <*> (o .:? "scope")- <*> (o .:? "sub")- <*> (o .:? "token_type")- <*> (o .:? "token_use")- <*> (o .:? "username")---- | ToJSON OAuth2TokenIntrospection-instance A.ToJSON OAuth2TokenIntrospection where- toJSON OAuth2TokenIntrospection {..} =- _omitNulls- [ "active" .= oAuth2TokenIntrospectionActive- , "aud" .= oAuth2TokenIntrospectionAud- , "client_id" .= oAuth2TokenIntrospectionClientId- , "exp" .= oAuth2TokenIntrospectionExp- , "ext" .= oAuth2TokenIntrospectionExt- , "iat" .= oAuth2TokenIntrospectionIat- , "iss" .= oAuth2TokenIntrospectionIss- , "nbf" .= oAuth2TokenIntrospectionNbf- , "obfuscated_subject" .= oAuth2TokenIntrospectionObfuscatedSubject- , "scope" .= oAuth2TokenIntrospectionScope- , "sub" .= oAuth2TokenIntrospectionSub- , "token_type" .= oAuth2TokenIntrospectionTokenType- , "token_use" .= oAuth2TokenIntrospectionTokenUse- , "username" .= oAuth2TokenIntrospectionUsername- ]----- | Construct a value of type 'OAuth2TokenIntrospection' (by applying it's required fields, if any)-mkOAuth2TokenIntrospection- :: Bool -- ^ 'oAuth2TokenIntrospectionActive': Active is a boolean indicator of whether or not the presented token is currently active. The specifics of a token's \"active\" state will vary depending on the implementation of the authorization server and the information it keeps about its tokens, but a \"true\" value return for the \"active\" property will generally indicate that a given token has been issued by this authorization server, has not been revoked by the resource owner, and is within its given time window of validity (e.g., after its issuance time and before its expiration time).- -> OAuth2TokenIntrospection-mkOAuth2TokenIntrospection oAuth2TokenIntrospectionActive =- OAuth2TokenIntrospection- { oAuth2TokenIntrospectionActive- , oAuth2TokenIntrospectionAud = Nothing- , oAuth2TokenIntrospectionClientId = Nothing- , oAuth2TokenIntrospectionExp = Nothing- , oAuth2TokenIntrospectionExt = Nothing- , oAuth2TokenIntrospectionIat = Nothing- , oAuth2TokenIntrospectionIss = Nothing- , oAuth2TokenIntrospectionNbf = Nothing- , oAuth2TokenIntrospectionObfuscatedSubject = Nothing- , oAuth2TokenIntrospectionScope = Nothing- , oAuth2TokenIntrospectionSub = Nothing- , oAuth2TokenIntrospectionTokenType = Nothing- , oAuth2TokenIntrospectionTokenUse = Nothing- , oAuth2TokenIntrospectionUsername = Nothing- }---- ** Oauth2TokenResponse--- | Oauth2TokenResponse--- The Access Token Response-data Oauth2TokenResponse = Oauth2TokenResponse- { oauth2TokenResponseAccessToken :: Maybe Text -- ^ "access_token"- , oauth2TokenResponseExpiresIn :: Maybe Integer -- ^ "expires_in"- , oauth2TokenResponseIdToken :: Maybe Text -- ^ "id_token"- , oauth2TokenResponseRefreshToken :: Maybe Text -- ^ "refresh_token"- , oauth2TokenResponseScope :: Maybe Text -- ^ "scope"- , oauth2TokenResponseTokenType :: Maybe Text -- ^ "token_type"- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON Oauth2TokenResponse-instance A.FromJSON Oauth2TokenResponse where- parseJSON = A.withObject "Oauth2TokenResponse" $ \o ->- Oauth2TokenResponse- <$> (o .:? "access_token")- <*> (o .:? "expires_in")- <*> (o .:? "id_token")- <*> (o .:? "refresh_token")- <*> (o .:? "scope")- <*> (o .:? "token_type")---- | ToJSON Oauth2TokenResponse-instance A.ToJSON Oauth2TokenResponse where- toJSON Oauth2TokenResponse {..} =- _omitNulls- [ "access_token" .= oauth2TokenResponseAccessToken- , "expires_in" .= oauth2TokenResponseExpiresIn- , "id_token" .= oauth2TokenResponseIdToken- , "refresh_token" .= oauth2TokenResponseRefreshToken- , "scope" .= oauth2TokenResponseScope- , "token_type" .= oauth2TokenResponseTokenType- ]----- | Construct a value of type 'Oauth2TokenResponse' (by applying it's required fields, if any)-mkOauth2TokenResponse- :: Oauth2TokenResponse-mkOauth2TokenResponse =- Oauth2TokenResponse- { oauth2TokenResponseAccessToken = Nothing- , oauth2TokenResponseExpiresIn = Nothing- , oauth2TokenResponseIdToken = Nothing- , oauth2TokenResponseRefreshToken = Nothing- , oauth2TokenResponseScope = Nothing- , oauth2TokenResponseTokenType = Nothing- }---- ** OpenIDConnectContext--- | OpenIDConnectContext--- Contains optional information about the OpenID Connect request.--- -data OpenIDConnectContext = OpenIDConnectContext- { openIDConnectContextAcrValues :: Maybe [Text] -- ^ "acr_values" - ACRValues is the Authentication AuthorizationContext Class Reference requested in the OAuth 2.0 Authorization request. It is a parameter defined by OpenID Connect and expresses which level of authentication (e.g. 2FA) is required. OpenID Connect defines it as follows: > Requested Authentication AuthorizationContext Class Reference values. Space-separated string that specifies the acr values that the Authorization Server is being requested to use for processing this Authentication Request, with the values appearing in order of preference. The Authentication AuthorizationContext Class satisfied by the authentication performed is returned as the acr Claim Value, as specified in Section 2. The acr Claim is requested as a Voluntary Claim by this parameter.- , openIDConnectContextDisplay :: Maybe Text -- ^ "display" - Display is a string value that specifies how the Authorization Server displays the authentication and consent user interface pages to the End-User. The defined values are: page: The Authorization Server SHOULD display the authentication and consent UI consistent with a full User Agent page view. If the display parameter is not specified, this is the default display mode. popup: The Authorization Server SHOULD display the authentication and consent UI consistent with a popup User Agent window. The popup User Agent window should be of an appropriate size for a login-focused dialog and should not obscure the entire window that it is popping up over. touch: The Authorization Server SHOULD display the authentication and consent UI consistent with a device that leverages a touch interface. wap: The Authorization Server SHOULD display the authentication and consent UI consistent with a \"feature phone\" type display. The Authorization Server MAY also attempt to detect the capabilities of the User Agent and present an appropriate display.- , openIDConnectContextIdTokenHintClaims :: Maybe A.Value -- ^ "id_token_hint_claims" - IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a hint about the End-User's current or past authenticated session with the Client.- , openIDConnectContextLoginHint :: Maybe Text -- ^ "login_hint" - LoginHint hints about the login identifier the End-User might use to log in (if necessary). This hint can be used by an RP if it first asks the End-User for their e-mail address (or other identifier) and then wants to pass that value as a hint to the discovered authorization service. This value MAY also be a phone number in the format specified for the phone_number Claim. The use of this parameter is optional.- , openIDConnectContextUiLocales :: Maybe [Text] -- ^ "ui_locales" - UILocales is the End-User'id preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For instance, the value \"fr-CA fr en\" represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). An error SHOULD NOT result if some or all of the requested locales are not supported by the OpenID Provider.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON OpenIDConnectContext-instance A.FromJSON OpenIDConnectContext where- parseJSON = A.withObject "OpenIDConnectContext" $ \o ->- OpenIDConnectContext- <$> (o .:? "acr_values")- <*> (o .:? "display")- <*> (o .:? "id_token_hint_claims")- <*> (o .:? "login_hint")- <*> (o .:? "ui_locales")---- | ToJSON OpenIDConnectContext-instance A.ToJSON OpenIDConnectContext where- toJSON OpenIDConnectContext {..} =- _omitNulls- [ "acr_values" .= openIDConnectContextAcrValues- , "display" .= openIDConnectContextDisplay- , "id_token_hint_claims" .= openIDConnectContextIdTokenHintClaims- , "login_hint" .= openIDConnectContextLoginHint- , "ui_locales" .= openIDConnectContextUiLocales- ]----- | Construct a value of type 'OpenIDConnectContext' (by applying it's required fields, if any)-mkOpenIDConnectContext- :: OpenIDConnectContext-mkOpenIDConnectContext =- OpenIDConnectContext- { openIDConnectContextAcrValues = Nothing- , openIDConnectContextDisplay = Nothing- , openIDConnectContextIdTokenHintClaims = Nothing- , openIDConnectContextLoginHint = Nothing- , openIDConnectContextUiLocales = Nothing- }---- ** PluginConfig--- | PluginConfig--- PluginConfig The config of a plugin.--- -data PluginConfig = PluginConfig- { pluginConfigArgs :: PluginConfigArgs -- ^ /Required/ "Args"- , pluginConfigDescription :: Text -- ^ /Required/ "Description" - description- , pluginConfigDockerVersion :: Maybe Text -- ^ "DockerVersion" - Docker Version used to create the plugin- , pluginConfigDocumentation :: Text -- ^ /Required/ "Documentation" - documentation- , pluginConfigEntrypoint :: [Text] -- ^ /Required/ "Entrypoint" - entrypoint- , pluginConfigEnv :: [PluginEnv] -- ^ /Required/ "Env" - env- , pluginConfigInterface :: PluginConfigInterface -- ^ /Required/ "Interface"- , pluginConfigIpcHost :: Bool -- ^ /Required/ "IpcHost" - ipc host- , pluginConfigLinux :: PluginConfigLinux -- ^ /Required/ "Linux"- , pluginConfigMounts :: [PluginMount] -- ^ /Required/ "Mounts" - mounts- , pluginConfigNetwork :: PluginConfigNetwork -- ^ /Required/ "Network"- , pluginConfigPidHost :: Bool -- ^ /Required/ "PidHost" - pid host- , pluginConfigPropagatedMount :: Text -- ^ /Required/ "PropagatedMount" - propagated mount- , pluginConfigUser :: Maybe PluginConfigUser -- ^ "User"- , pluginConfigWorkDir :: Text -- ^ /Required/ "WorkDir" - work dir- , pluginConfigRootfs :: Maybe PluginConfigRootfs -- ^ "rootfs"- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginConfig-instance A.FromJSON PluginConfig where- parseJSON = A.withObject "PluginConfig" $ \o ->- PluginConfig- <$> (o .: "Args")- <*> (o .: "Description")- <*> (o .:? "DockerVersion")- <*> (o .: "Documentation")- <*> (o .: "Entrypoint")- <*> (o .: "Env")- <*> (o .: "Interface")- <*> (o .: "IpcHost")- <*> (o .: "Linux")- <*> (o .: "Mounts")- <*> (o .: "Network")- <*> (o .: "PidHost")- <*> (o .: "PropagatedMount")- <*> (o .:? "User")- <*> (o .: "WorkDir")- <*> (o .:? "rootfs")---- | ToJSON PluginConfig-instance A.ToJSON PluginConfig where- toJSON PluginConfig {..} =- _omitNulls- [ "Args" .= pluginConfigArgs- , "Description" .= pluginConfigDescription- , "DockerVersion" .= pluginConfigDockerVersion- , "Documentation" .= pluginConfigDocumentation- , "Entrypoint" .= pluginConfigEntrypoint- , "Env" .= pluginConfigEnv- , "Interface" .= pluginConfigInterface- , "IpcHost" .= pluginConfigIpcHost- , "Linux" .= pluginConfigLinux- , "Mounts" .= pluginConfigMounts- , "Network" .= pluginConfigNetwork- , "PidHost" .= pluginConfigPidHost- , "PropagatedMount" .= pluginConfigPropagatedMount- , "User" .= pluginConfigUser- , "WorkDir" .= pluginConfigWorkDir- , "rootfs" .= pluginConfigRootfs- ]----- | Construct a value of type 'PluginConfig' (by applying it's required fields, if any)-mkPluginConfig- :: PluginConfigArgs -- ^ 'pluginConfigArgs' - -> Text -- ^ 'pluginConfigDescription': description- -> Text -- ^ 'pluginConfigDocumentation': documentation- -> [Text] -- ^ 'pluginConfigEntrypoint': entrypoint- -> [PluginEnv] -- ^ 'pluginConfigEnv': env- -> PluginConfigInterface -- ^ 'pluginConfigInterface' - -> Bool -- ^ 'pluginConfigIpcHost': ipc host- -> PluginConfigLinux -- ^ 'pluginConfigLinux' - -> [PluginMount] -- ^ 'pluginConfigMounts': mounts- -> PluginConfigNetwork -- ^ 'pluginConfigNetwork' - -> Bool -- ^ 'pluginConfigPidHost': pid host- -> Text -- ^ 'pluginConfigPropagatedMount': propagated mount- -> Text -- ^ 'pluginConfigWorkDir': work dir- -> PluginConfig-mkPluginConfig pluginConfigArgs pluginConfigDescription pluginConfigDocumentation pluginConfigEntrypoint pluginConfigEnv pluginConfigInterface pluginConfigIpcHost pluginConfigLinux pluginConfigMounts pluginConfigNetwork pluginConfigPidHost pluginConfigPropagatedMount pluginConfigWorkDir =- PluginConfig- { pluginConfigArgs- , pluginConfigDescription- , pluginConfigDockerVersion = Nothing- , pluginConfigDocumentation- , pluginConfigEntrypoint- , pluginConfigEnv- , pluginConfigInterface- , pluginConfigIpcHost- , pluginConfigLinux- , pluginConfigMounts- , pluginConfigNetwork- , pluginConfigPidHost- , pluginConfigPropagatedMount- , pluginConfigUser = Nothing- , pluginConfigWorkDir- , pluginConfigRootfs = Nothing- }---- ** PluginConfigArgs--- | PluginConfigArgs--- PluginConfigArgs plugin config args-data PluginConfigArgs = PluginConfigArgs- { pluginConfigArgsDescription :: Text -- ^ /Required/ "Description" - description- , pluginConfigArgsName :: Text -- ^ /Required/ "Name" - name- , pluginConfigArgsSettable :: [Text] -- ^ /Required/ "Settable" - settable- , pluginConfigArgsValue :: [Text] -- ^ /Required/ "Value" - value- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginConfigArgs-instance A.FromJSON PluginConfigArgs where- parseJSON = A.withObject "PluginConfigArgs" $ \o ->- PluginConfigArgs- <$> (o .: "Description")- <*> (o .: "Name")- <*> (o .: "Settable")- <*> (o .: "Value")---- | ToJSON PluginConfigArgs-instance A.ToJSON PluginConfigArgs where- toJSON PluginConfigArgs {..} =- _omitNulls- [ "Description" .= pluginConfigArgsDescription- , "Name" .= pluginConfigArgsName- , "Settable" .= pluginConfigArgsSettable- , "Value" .= pluginConfigArgsValue- ]----- | Construct a value of type 'PluginConfigArgs' (by applying it's required fields, if any)-mkPluginConfigArgs- :: Text -- ^ 'pluginConfigArgsDescription': description- -> Text -- ^ 'pluginConfigArgsName': name- -> [Text] -- ^ 'pluginConfigArgsSettable': settable- -> [Text] -- ^ 'pluginConfigArgsValue': value- -> PluginConfigArgs-mkPluginConfigArgs pluginConfigArgsDescription pluginConfigArgsName pluginConfigArgsSettable pluginConfigArgsValue =- PluginConfigArgs- { pluginConfigArgsDescription- , pluginConfigArgsName- , pluginConfigArgsSettable- , pluginConfigArgsValue- }---- ** PluginConfigInterface--- | PluginConfigInterface--- PluginConfigInterface The interface between Docker and the plugin-data PluginConfigInterface = PluginConfigInterface- { pluginConfigInterfaceProtocolScheme :: Maybe Text -- ^ "ProtocolScheme" - Protocol to use for clients connecting to the plugin.- , pluginConfigInterfaceSocket :: Text -- ^ /Required/ "Socket" - socket- , pluginConfigInterfaceTypes :: [PluginInterfaceType] -- ^ /Required/ "Types" - types- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginConfigInterface-instance A.FromJSON PluginConfigInterface where- parseJSON = A.withObject "PluginConfigInterface" $ \o ->- PluginConfigInterface- <$> (o .:? "ProtocolScheme")- <*> (o .: "Socket")- <*> (o .: "Types")---- | ToJSON PluginConfigInterface-instance A.ToJSON PluginConfigInterface where- toJSON PluginConfigInterface {..} =- _omitNulls- [ "ProtocolScheme" .= pluginConfigInterfaceProtocolScheme- , "Socket" .= pluginConfigInterfaceSocket- , "Types" .= pluginConfigInterfaceTypes- ]----- | Construct a value of type 'PluginConfigInterface' (by applying it's required fields, if any)-mkPluginConfigInterface- :: Text -- ^ 'pluginConfigInterfaceSocket': socket- -> [PluginInterfaceType] -- ^ 'pluginConfigInterfaceTypes': types- -> PluginConfigInterface-mkPluginConfigInterface pluginConfigInterfaceSocket pluginConfigInterfaceTypes =- PluginConfigInterface- { pluginConfigInterfaceProtocolScheme = Nothing- , pluginConfigInterfaceSocket- , pluginConfigInterfaceTypes- }---- ** PluginConfigLinux--- | PluginConfigLinux--- PluginConfigLinux plugin config linux-data PluginConfigLinux = PluginConfigLinux- { pluginConfigLinuxAllowAllDevices :: Bool -- ^ /Required/ "AllowAllDevices" - allow all devices- , pluginConfigLinuxCapabilities :: [Text] -- ^ /Required/ "Capabilities" - capabilities- , pluginConfigLinuxDevices :: [PluginDevice] -- ^ /Required/ "Devices" - devices- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginConfigLinux-instance A.FromJSON PluginConfigLinux where- parseJSON = A.withObject "PluginConfigLinux" $ \o ->- PluginConfigLinux- <$> (o .: "AllowAllDevices")- <*> (o .: "Capabilities")- <*> (o .: "Devices")---- | ToJSON PluginConfigLinux-instance A.ToJSON PluginConfigLinux where- toJSON PluginConfigLinux {..} =- _omitNulls- [ "AllowAllDevices" .= pluginConfigLinuxAllowAllDevices- , "Capabilities" .= pluginConfigLinuxCapabilities- , "Devices" .= pluginConfigLinuxDevices- ]----- | Construct a value of type 'PluginConfigLinux' (by applying it's required fields, if any)-mkPluginConfigLinux- :: Bool -- ^ 'pluginConfigLinuxAllowAllDevices': allow all devices- -> [Text] -- ^ 'pluginConfigLinuxCapabilities': capabilities- -> [PluginDevice] -- ^ 'pluginConfigLinuxDevices': devices- -> PluginConfigLinux-mkPluginConfigLinux pluginConfigLinuxAllowAllDevices pluginConfigLinuxCapabilities pluginConfigLinuxDevices =- PluginConfigLinux- { pluginConfigLinuxAllowAllDevices- , pluginConfigLinuxCapabilities- , pluginConfigLinuxDevices- }---- ** PluginConfigNetwork--- | PluginConfigNetwork--- PluginConfigNetwork plugin config network-data PluginConfigNetwork = PluginConfigNetwork- { pluginConfigNetworkType :: Text -- ^ /Required/ "Type" - type- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginConfigNetwork-instance A.FromJSON PluginConfigNetwork where- parseJSON = A.withObject "PluginConfigNetwork" $ \o ->- PluginConfigNetwork- <$> (o .: "Type")---- | ToJSON PluginConfigNetwork-instance A.ToJSON PluginConfigNetwork where- toJSON PluginConfigNetwork {..} =- _omitNulls- [ "Type" .= pluginConfigNetworkType- ]----- | Construct a value of type 'PluginConfigNetwork' (by applying it's required fields, if any)-mkPluginConfigNetwork- :: Text -- ^ 'pluginConfigNetworkType': type- -> PluginConfigNetwork-mkPluginConfigNetwork pluginConfigNetworkType =- PluginConfigNetwork- { pluginConfigNetworkType- }---- ** PluginConfigRootfs--- | PluginConfigRootfs--- PluginConfigRootfs plugin config rootfs-data PluginConfigRootfs = PluginConfigRootfs- { pluginConfigRootfsDiffIds :: Maybe [Text] -- ^ "diff_ids" - diff ids- , pluginConfigRootfsType :: Maybe Text -- ^ "type" - type- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginConfigRootfs-instance A.FromJSON PluginConfigRootfs where- parseJSON = A.withObject "PluginConfigRootfs" $ \o ->- PluginConfigRootfs- <$> (o .:? "diff_ids")- <*> (o .:? "type")---- | ToJSON PluginConfigRootfs-instance A.ToJSON PluginConfigRootfs where- toJSON PluginConfigRootfs {..} =- _omitNulls- [ "diff_ids" .= pluginConfigRootfsDiffIds- , "type" .= pluginConfigRootfsType- ]----- | Construct a value of type 'PluginConfigRootfs' (by applying it's required fields, if any)-mkPluginConfigRootfs- :: PluginConfigRootfs-mkPluginConfigRootfs =- PluginConfigRootfs- { pluginConfigRootfsDiffIds = Nothing- , pluginConfigRootfsType = Nothing- }---- ** PluginConfigUser--- | PluginConfigUser--- PluginConfigUser plugin config user-data PluginConfigUser = PluginConfigUser- { pluginConfigUserGid :: Maybe Int -- ^ "GID" - g ID- , pluginConfigUserUid :: Maybe Int -- ^ "UID" - UID- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginConfigUser-instance A.FromJSON PluginConfigUser where- parseJSON = A.withObject "PluginConfigUser" $ \o ->- PluginConfigUser- <$> (o .:? "GID")- <*> (o .:? "UID")---- | ToJSON PluginConfigUser-instance A.ToJSON PluginConfigUser where- toJSON PluginConfigUser {..} =- _omitNulls- [ "GID" .= pluginConfigUserGid- , "UID" .= pluginConfigUserUid- ]----- | Construct a value of type 'PluginConfigUser' (by applying it's required fields, if any)-mkPluginConfigUser- :: PluginConfigUser-mkPluginConfigUser =- PluginConfigUser- { pluginConfigUserGid = Nothing- , pluginConfigUserUid = Nothing- }---- ** PluginDevice--- | PluginDevice--- PluginDevice plugin device-data PluginDevice = PluginDevice- { pluginDeviceDescription :: Text -- ^ /Required/ "Description" - description- , pluginDeviceName :: Text -- ^ /Required/ "Name" - name- , pluginDevicePath :: Text -- ^ /Required/ "Path" - path- , pluginDeviceSettable :: [Text] -- ^ /Required/ "Settable" - settable- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginDevice-instance A.FromJSON PluginDevice where- parseJSON = A.withObject "PluginDevice" $ \o ->- PluginDevice- <$> (o .: "Description")- <*> (o .: "Name")- <*> (o .: "Path")- <*> (o .: "Settable")---- | ToJSON PluginDevice-instance A.ToJSON PluginDevice where- toJSON PluginDevice {..} =- _omitNulls- [ "Description" .= pluginDeviceDescription- , "Name" .= pluginDeviceName- , "Path" .= pluginDevicePath- , "Settable" .= pluginDeviceSettable- ]----- | Construct a value of type 'PluginDevice' (by applying it's required fields, if any)-mkPluginDevice- :: Text -- ^ 'pluginDeviceDescription': description- -> Text -- ^ 'pluginDeviceName': name- -> Text -- ^ 'pluginDevicePath': path- -> [Text] -- ^ 'pluginDeviceSettable': settable- -> PluginDevice-mkPluginDevice pluginDeviceDescription pluginDeviceName pluginDevicePath pluginDeviceSettable =- PluginDevice- { pluginDeviceDescription- , pluginDeviceName- , pluginDevicePath- , pluginDeviceSettable- }---- ** PluginEnv--- | PluginEnv--- PluginEnv plugin env-data PluginEnv = PluginEnv- { pluginEnvDescription :: Text -- ^ /Required/ "Description" - description- , pluginEnvName :: Text -- ^ /Required/ "Name" - name- , pluginEnvSettable :: [Text] -- ^ /Required/ "Settable" - settable- , pluginEnvValue :: Text -- ^ /Required/ "Value" - value- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginEnv-instance A.FromJSON PluginEnv where- parseJSON = A.withObject "PluginEnv" $ \o ->- PluginEnv- <$> (o .: "Description")- <*> (o .: "Name")- <*> (o .: "Settable")- <*> (o .: "Value")---- | ToJSON PluginEnv-instance A.ToJSON PluginEnv where- toJSON PluginEnv {..} =- _omitNulls- [ "Description" .= pluginEnvDescription- , "Name" .= pluginEnvName- , "Settable" .= pluginEnvSettable- , "Value" .= pluginEnvValue- ]----- | Construct a value of type 'PluginEnv' (by applying it's required fields, if any)-mkPluginEnv- :: Text -- ^ 'pluginEnvDescription': description- -> Text -- ^ 'pluginEnvName': name- -> [Text] -- ^ 'pluginEnvSettable': settable- -> Text -- ^ 'pluginEnvValue': value- -> PluginEnv-mkPluginEnv pluginEnvDescription pluginEnvName pluginEnvSettable pluginEnvValue =- PluginEnv- { pluginEnvDescription- , pluginEnvName- , pluginEnvSettable- , pluginEnvValue- }---- ** PluginInterfaceType--- | PluginInterfaceType--- PluginInterfaceType plugin interface type-data PluginInterfaceType = PluginInterfaceType- { pluginInterfaceTypeCapability :: Text -- ^ /Required/ "Capability" - capability- , pluginInterfaceTypePrefix :: Text -- ^ /Required/ "Prefix" - prefix- , pluginInterfaceTypeVersion :: Text -- ^ /Required/ "Version" - version- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginInterfaceType-instance A.FromJSON PluginInterfaceType where- parseJSON = A.withObject "PluginInterfaceType" $ \o ->- PluginInterfaceType- <$> (o .: "Capability")- <*> (o .: "Prefix")- <*> (o .: "Version")---- | ToJSON PluginInterfaceType-instance A.ToJSON PluginInterfaceType where- toJSON PluginInterfaceType {..} =- _omitNulls- [ "Capability" .= pluginInterfaceTypeCapability- , "Prefix" .= pluginInterfaceTypePrefix- , "Version" .= pluginInterfaceTypeVersion- ]----- | Construct a value of type 'PluginInterfaceType' (by applying it's required fields, if any)-mkPluginInterfaceType- :: Text -- ^ 'pluginInterfaceTypeCapability': capability- -> Text -- ^ 'pluginInterfaceTypePrefix': prefix- -> Text -- ^ 'pluginInterfaceTypeVersion': version- -> PluginInterfaceType-mkPluginInterfaceType pluginInterfaceTypeCapability pluginInterfaceTypePrefix pluginInterfaceTypeVersion =- PluginInterfaceType- { pluginInterfaceTypeCapability- , pluginInterfaceTypePrefix- , pluginInterfaceTypeVersion- }---- ** PluginMount--- | PluginMount--- PluginMount plugin mount-data PluginMount = PluginMount- { pluginMountDescription :: Text -- ^ /Required/ "Description" - description- , pluginMountDestination :: Text -- ^ /Required/ "Destination" - destination- , pluginMountName :: Text -- ^ /Required/ "Name" - name- , pluginMountOptions :: [Text] -- ^ /Required/ "Options" - options- , pluginMountSettable :: [Text] -- ^ /Required/ "Settable" - settable- , pluginMountSource :: Text -- ^ /Required/ "Source" - source- , pluginMountType :: Text -- ^ /Required/ "Type" - type- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginMount-instance A.FromJSON PluginMount where- parseJSON = A.withObject "PluginMount" $ \o ->- PluginMount- <$> (o .: "Description")- <*> (o .: "Destination")- <*> (o .: "Name")- <*> (o .: "Options")- <*> (o .: "Settable")- <*> (o .: "Source")- <*> (o .: "Type")---- | ToJSON PluginMount-instance A.ToJSON PluginMount where- toJSON PluginMount {..} =- _omitNulls- [ "Description" .= pluginMountDescription- , "Destination" .= pluginMountDestination- , "Name" .= pluginMountName- , "Options" .= pluginMountOptions- , "Settable" .= pluginMountSettable- , "Source" .= pluginMountSource- , "Type" .= pluginMountType- ]----- | Construct a value of type 'PluginMount' (by applying it's required fields, if any)-mkPluginMount- :: Text -- ^ 'pluginMountDescription': description- -> Text -- ^ 'pluginMountDestination': destination- -> Text -- ^ 'pluginMountName': name- -> [Text] -- ^ 'pluginMountOptions': options- -> [Text] -- ^ 'pluginMountSettable': settable- -> Text -- ^ 'pluginMountSource': source- -> Text -- ^ 'pluginMountType': type- -> PluginMount-mkPluginMount pluginMountDescription pluginMountDestination pluginMountName pluginMountOptions pluginMountSettable pluginMountSource pluginMountType =- PluginMount- { pluginMountDescription- , pluginMountDestination- , pluginMountName- , pluginMountOptions- , pluginMountSettable- , pluginMountSource- , pluginMountType- }---- ** PluginSettings--- | PluginSettings--- PluginSettings Settings that can be modified by users.--- -data PluginSettings = PluginSettings- { pluginSettingsArgs :: [Text] -- ^ /Required/ "Args" - args- , pluginSettingsDevices :: [PluginDevice] -- ^ /Required/ "Devices" - devices- , pluginSettingsEnv :: [Text] -- ^ /Required/ "Env" - env- , pluginSettingsMounts :: [PluginMount] -- ^ /Required/ "Mounts" - mounts- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PluginSettings-instance A.FromJSON PluginSettings where- parseJSON = A.withObject "PluginSettings" $ \o ->- PluginSettings- <$> (o .: "Args")- <*> (o .: "Devices")- <*> (o .: "Env")- <*> (o .: "Mounts")---- | ToJSON PluginSettings-instance A.ToJSON PluginSettings where- toJSON PluginSettings {..} =- _omitNulls- [ "Args" .= pluginSettingsArgs- , "Devices" .= pluginSettingsDevices- , "Env" .= pluginSettingsEnv- , "Mounts" .= pluginSettingsMounts- ]----- | Construct a value of type 'PluginSettings' (by applying it's required fields, if any)-mkPluginSettings- :: [Text] -- ^ 'pluginSettingsArgs': args- -> [PluginDevice] -- ^ 'pluginSettingsDevices': devices- -> [Text] -- ^ 'pluginSettingsEnv': env- -> [PluginMount] -- ^ 'pluginSettingsMounts': mounts- -> PluginSettings-mkPluginSettings pluginSettingsArgs pluginSettingsDevices pluginSettingsEnv pluginSettingsMounts =- PluginSettings- { pluginSettingsArgs- , pluginSettingsDevices- , pluginSettingsEnv- , pluginSettingsMounts- }---- ** PreviousConsentSession--- | PreviousConsentSession--- The response used to return used consent requests same as HandledLoginRequest, just with consent_request exposed as json-data PreviousConsentSession = PreviousConsentSession- { previousConsentSessionConsentRequest :: Maybe ConsentRequest -- ^ "consent_request"- , previousConsentSessionGrantAccessTokenAudience :: Maybe [Text] -- ^ "grant_access_token_audience"- , previousConsentSessionGrantScope :: Maybe [Text] -- ^ "grant_scope"- , previousConsentSessionHandledAt :: Maybe DateTime -- ^ "handled_at"- , previousConsentSessionRemember :: Maybe Bool -- ^ "remember" - Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.- , previousConsentSessionRememberFor :: Maybe Integer -- ^ "remember_for" - RememberFor sets how long the consent authorization should be remembered for in seconds. If set to `0`, the authorization will be remembered indefinitely.- , previousConsentSessionSession :: Maybe ConsentRequestSession -- ^ "session"- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON PreviousConsentSession-instance A.FromJSON PreviousConsentSession where- parseJSON = A.withObject "PreviousConsentSession" $ \o ->- PreviousConsentSession- <$> (o .:? "consent_request")- <*> (o .:? "grant_access_token_audience")- <*> (o .:? "grant_scope")- <*> (o .:? "handled_at")- <*> (o .:? "remember")- <*> (o .:? "remember_for")- <*> (o .:? "session")---- | ToJSON PreviousConsentSession-instance A.ToJSON PreviousConsentSession where- toJSON PreviousConsentSession {..} =- _omitNulls- [ "consent_request" .= previousConsentSessionConsentRequest- , "grant_access_token_audience" .= previousConsentSessionGrantAccessTokenAudience- , "grant_scope" .= previousConsentSessionGrantScope- , "handled_at" .= previousConsentSessionHandledAt- , "remember" .= previousConsentSessionRemember- , "remember_for" .= previousConsentSessionRememberFor- , "session" .= previousConsentSessionSession- ]----- | Construct a value of type 'PreviousConsentSession' (by applying it's required fields, if any)-mkPreviousConsentSession- :: PreviousConsentSession-mkPreviousConsentSession =- PreviousConsentSession- { previousConsentSessionConsentRequest = Nothing- , previousConsentSessionGrantAccessTokenAudience = Nothing- , previousConsentSessionGrantScope = Nothing- , previousConsentSessionHandledAt = Nothing- , previousConsentSessionRemember = Nothing- , previousConsentSessionRememberFor = Nothing- , previousConsentSessionSession = Nothing- }---- ** RejectRequest--- | RejectRequest--- The request payload used to accept a login or consent request.--- -data RejectRequest = RejectRequest- { rejectRequestError :: Maybe Text -- ^ "error" - The error should follow the OAuth2 error format (e.g. `invalid_request`, `login_required`). Defaults to `request_denied`.- , rejectRequestErrorDebug :: Maybe Text -- ^ "error_debug" - Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.- , rejectRequestErrorDescription :: Maybe Text -- ^ "error_description" - Description of the error in a human readable format.- , rejectRequestErrorHint :: Maybe Text -- ^ "error_hint" - Hint to help resolve the error.- , rejectRequestStatusCode :: Maybe Integer -- ^ "status_code" - Represents the HTTP status code of the error (e.g. 401 or 403) Defaults to 400- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON RejectRequest-instance A.FromJSON RejectRequest where- parseJSON = A.withObject "RejectRequest" $ \o ->- RejectRequest- <$> (o .:? "error")- <*> (o .:? "error_debug")- <*> (o .:? "error_description")- <*> (o .:? "error_hint")- <*> (o .:? "status_code")---- | ToJSON RejectRequest-instance A.ToJSON RejectRequest where- toJSON RejectRequest {..} =- _omitNulls- [ "error" .= rejectRequestError- , "error_debug" .= rejectRequestErrorDebug- , "error_description" .= rejectRequestErrorDescription- , "error_hint" .= rejectRequestErrorHint- , "status_code" .= rejectRequestStatusCode- ]---- | FromForm RejectRequest-instance WH.FromForm RejectRequest where- fromForm f =- RejectRequest- <$> (WH.parseMaybe "error" f)- <*> (WH.parseMaybe "error_debug" f)- <*> (WH.parseMaybe "error_description" f)- <*> (WH.parseMaybe "error_hint" f)- <*> (WH.parseMaybe "status_code" f)---- | ToForm RejectRequest-instance WH.ToForm RejectRequest where- toForm RejectRequest {..} =- WH.Form $ HM.fromList $ P.catMaybes $- [ _toFormItem "error" (rejectRequestError)- , _toFormItem "error_debug" (rejectRequestErrorDebug)- , _toFormItem "error_description" (rejectRequestErrorDescription)- , _toFormItem "error_hint" (rejectRequestErrorHint)- , _toFormItem "status_code" (rejectRequestStatusCode)- ]---- | Construct a value of type 'RejectRequest' (by applying it's required fields, if any)-mkRejectRequest- :: RejectRequest-mkRejectRequest =- RejectRequest- { rejectRequestError = Nothing- , rejectRequestErrorDebug = Nothing- , rejectRequestErrorDescription = Nothing- , rejectRequestErrorHint = Nothing- , rejectRequestStatusCode = Nothing- }---- ** UserinfoResponse--- | UserinfoResponse--- The userinfo response-data UserinfoResponse = UserinfoResponse- { userinfoResponseBirthdate :: Maybe Text -- ^ "birthdate" - End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format. The year MAY be 0000, indicating that it is omitted. To represent only the year, YYYY format is allowed. Note that depending on the underlying platform's date related function, providing just year can result in varying month and day, so the implementers need to take this factor into account to correctly process the dates.- , userinfoResponseEmail :: Maybe Text -- ^ "email" - End-User's preferred e-mail address. Its value MUST conform to the RFC 5322 [RFC5322] addr-spec syntax. The RP MUST NOT rely upon this value being unique, as discussed in Section 5.7.- , userinfoResponseEmailVerified :: Maybe Bool -- ^ "email_verified" - True if the End-User's e-mail address has been verified; otherwise false. When this Claim Value is true, this means that the OP took affirmative steps to ensure that this e-mail address was controlled by the End-User at the time the verification was performed. The means by which an e-mail address is verified is context-specific, and dependent upon the trust framework or contractual agreements within which the parties are operating.- , userinfoResponseFamilyName :: Maybe Text -- ^ "family_name" - Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.- , userinfoResponseGender :: Maybe Text -- ^ "gender" - End-User's gender. Values defined by this specification are female and male. Other values MAY be used when neither of the defined values are applicable.- , userinfoResponseGivenName :: Maybe Text -- ^ "given_name" - Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.- , userinfoResponseLocale :: Maybe Text -- ^ "locale" - End-User's locale, represented as a BCP47 [RFC5646] language tag. This is typically an ISO 639-1 Alpha-2 [ISO639‑1] language code in lowercase and an ISO 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase, separated by a dash. For example, en-US or fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example, en_US; Relying Parties MAY choose to accept this locale syntax as well.- , userinfoResponseMiddleName :: Maybe Text -- ^ "middle_name" - Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used.- , userinfoResponseName :: Maybe Text -- ^ "name" - End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences.- , userinfoResponseNickname :: Maybe Text -- ^ "nickname" - Casual name of the End-User that may or may not be the same as the given_name. For instance, a nickname value of Mike might be returned alongside a given_name value of Michael.- , userinfoResponsePhoneNumber :: Maybe Text -- ^ "phone_number" - End-User's preferred telephone number. E.164 [E.164] is RECOMMENDED as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2) 687 2400. If the phone number contains an extension, it is RECOMMENDED that the extension be represented using the RFC 3966 [RFC3966] extension syntax, for example, +1 (604) 555-1234;ext=5678.- , userinfoResponsePhoneNumberVerified :: Maybe Bool -- ^ "phone_number_verified" - True if the End-User's phone number has been verified; otherwise false. When this Claim Value is true, this means that the OP took affirmative steps to ensure that this phone number was controlled by the End-User at the time the verification was performed. The means by which a phone number is verified is context-specific, and dependent upon the trust framework or contractual agreements within which the parties are operating. When true, the phone_number Claim MUST be in E.164 format and any extensions MUST be represented in RFC 3966 format.- , userinfoResponsePicture :: Maybe Text -- ^ "picture" - URL of the End-User's profile picture. This URL MUST refer to an image file (for example, a PNG, JPEG, or GIF image file), rather than to a Web page containing an image. Note that this URL SHOULD specifically reference a profile photo of the End-User suitable for displaying when describing the End-User, rather than an arbitrary photo taken by the End-User.- , userinfoResponsePreferredUsername :: Maybe Text -- ^ "preferred_username" - Non-unique shorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe. This value MAY be any valid JSON string including special characters such as @, /, or whitespace.- , userinfoResponseProfile :: Maybe Text -- ^ "profile" - URL of the End-User's profile page. The contents of this Web page SHOULD be about the End-User.- , userinfoResponseSub :: Maybe Text -- ^ "sub" - Subject - Identifier for the End-User at the IssuerURL.- , userinfoResponseUpdatedAt :: Maybe Integer -- ^ "updated_at" - Time the End-User's information was last updated. Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.- , userinfoResponseWebsite :: Maybe Text -- ^ "website" - URL of the End-User's Web page or blog. This Web page SHOULD contain information published by the End-User or an organization that the End-User is affiliated with.- , userinfoResponseZoneinfo :: Maybe Text -- ^ "zoneinfo" - String from zoneinfo [zoneinfo] time zone database representing the End-User's time zone. For example, Europe/Paris or America/Los_Angeles.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON UserinfoResponse-instance A.FromJSON UserinfoResponse where- parseJSON = A.withObject "UserinfoResponse" $ \o ->- UserinfoResponse- <$> (o .:? "birthdate")- <*> (o .:? "email")- <*> (o .:? "email_verified")- <*> (o .:? "family_name")- <*> (o .:? "gender")- <*> (o .:? "given_name")- <*> (o .:? "locale")- <*> (o .:? "middle_name")- <*> (o .:? "name")- <*> (o .:? "nickname")- <*> (o .:? "phone_number")- <*> (o .:? "phone_number_verified")- <*> (o .:? "picture")- <*> (o .:? "preferred_username")- <*> (o .:? "profile")- <*> (o .:? "sub")- <*> (o .:? "updated_at")- <*> (o .:? "website")- <*> (o .:? "zoneinfo")---- | ToJSON UserinfoResponse-instance A.ToJSON UserinfoResponse where- toJSON UserinfoResponse {..} =- _omitNulls- [ "birthdate" .= userinfoResponseBirthdate- , "email" .= userinfoResponseEmail- , "email_verified" .= userinfoResponseEmailVerified- , "family_name" .= userinfoResponseFamilyName- , "gender" .= userinfoResponseGender- , "given_name" .= userinfoResponseGivenName- , "locale" .= userinfoResponseLocale- , "middle_name" .= userinfoResponseMiddleName- , "name" .= userinfoResponseName- , "nickname" .= userinfoResponseNickname- , "phone_number" .= userinfoResponsePhoneNumber- , "phone_number_verified" .= userinfoResponsePhoneNumberVerified- , "picture" .= userinfoResponsePicture- , "preferred_username" .= userinfoResponsePreferredUsername- , "profile" .= userinfoResponseProfile- , "sub" .= userinfoResponseSub- , "updated_at" .= userinfoResponseUpdatedAt- , "website" .= userinfoResponseWebsite- , "zoneinfo" .= userinfoResponseZoneinfo- ]----- | Construct a value of type 'UserinfoResponse' (by applying it's required fields, if any)-mkUserinfoResponse- :: UserinfoResponse-mkUserinfoResponse =- UserinfoResponse- { userinfoResponseBirthdate = Nothing- , userinfoResponseEmail = Nothing- , userinfoResponseEmailVerified = Nothing- , userinfoResponseFamilyName = Nothing- , userinfoResponseGender = Nothing- , userinfoResponseGivenName = Nothing- , userinfoResponseLocale = Nothing- , userinfoResponseMiddleName = Nothing- , userinfoResponseName = Nothing- , userinfoResponseNickname = Nothing- , userinfoResponsePhoneNumber = Nothing- , userinfoResponsePhoneNumberVerified = Nothing- , userinfoResponsePicture = Nothing- , userinfoResponsePreferredUsername = Nothing- , userinfoResponseProfile = Nothing- , userinfoResponseSub = Nothing- , userinfoResponseUpdatedAt = Nothing- , userinfoResponseWebsite = Nothing- , userinfoResponseZoneinfo = Nothing- }---- ** Version--- | Version-data Version = Version- { versionVersion :: Maybe Text -- ^ "version" - Version is the service's version.- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON Version-instance A.FromJSON Version where- parseJSON = A.withObject "Version" $ \o ->- Version- <$> (o .:? "version")---- | ToJSON Version-instance A.ToJSON Version where- toJSON Version {..} =- _omitNulls- [ "version" .= versionVersion- ]----- | Construct a value of type 'Version' (by applying it's required fields, if any)-mkVersion- :: Version-mkVersion =- Version- { versionVersion = Nothing- }---- ** Volume--- | Volume--- Volume volume-data Volume = Volume- { volumeCreatedAt :: Maybe Text -- ^ "CreatedAt" - Date/Time the volume was created.- , volumeDriver :: Text -- ^ /Required/ "Driver" - Name of the volume driver used by the volume.- , volumeLabels :: (Map.Map String Text) -- ^ /Required/ "Labels" - User-defined key/value metadata.- , volumeMountpoint :: Text -- ^ /Required/ "Mountpoint" - Mount path of the volume on the host.- , volumeName :: Text -- ^ /Required/ "Name" - Name of the volume.- , volumeOptions :: (Map.Map String Text) -- ^ /Required/ "Options" - The driver specific options used when creating the volume.- , volumeScope :: Text -- ^ /Required/ "Scope" - The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level.- , volumeStatus :: Maybe A.Value -- ^ "Status" - Low-level details about the volume, provided by the volume driver. Details are returned as a map with key/value pairs: `{\"key\":\"value\",\"key2\":\"value2\"}`. The `Status` field is optional, and is omitted if the volume driver does not support this feature.- , volumeUsageData :: Maybe VolumeUsageData -- ^ "UsageData"- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON Volume-instance A.FromJSON Volume where- parseJSON = A.withObject "Volume" $ \o ->- Volume- <$> (o .:? "CreatedAt")- <*> (o .: "Driver")- <*> (o .: "Labels")- <*> (o .: "Mountpoint")- <*> (o .: "Name")- <*> (o .: "Options")- <*> (o .: "Scope")- <*> (o .:? "Status")- <*> (o .:? "UsageData")---- | ToJSON Volume-instance A.ToJSON Volume where- toJSON Volume {..} =- _omitNulls- [ "CreatedAt" .= volumeCreatedAt- , "Driver" .= volumeDriver- , "Labels" .= volumeLabels- , "Mountpoint" .= volumeMountpoint- , "Name" .= volumeName- , "Options" .= volumeOptions- , "Scope" .= volumeScope- , "Status" .= volumeStatus- , "UsageData" .= volumeUsageData- ]----- | Construct a value of type 'Volume' (by applying it's required fields, if any)-mkVolume- :: Text -- ^ 'volumeDriver': Name of the volume driver used by the volume.- -> (Map.Map String Text) -- ^ 'volumeLabels': User-defined key/value metadata.- -> Text -- ^ 'volumeMountpoint': Mount path of the volume on the host.- -> Text -- ^ 'volumeName': Name of the volume.- -> (Map.Map String Text) -- ^ 'volumeOptions': The driver specific options used when creating the volume.- -> Text -- ^ 'volumeScope': The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level.- -> Volume-mkVolume volumeDriver volumeLabels volumeMountpoint volumeName volumeOptions volumeScope =- Volume- { volumeCreatedAt = Nothing- , volumeDriver- , volumeLabels- , volumeMountpoint- , volumeName- , volumeOptions- , volumeScope- , volumeStatus = Nothing- , volumeUsageData = Nothing- }---- ** VolumeUsageData--- | VolumeUsageData--- VolumeUsageData Usage details about the volume. This information is used by the `GET /system/df` endpoint, and omitted in other endpoints.-data VolumeUsageData = VolumeUsageData- { volumeUsageDataRefCount :: Integer -- ^ /Required/ "RefCount" - The number of containers referencing this volume. This field is set to `-1` if the reference-count is not available.- , volumeUsageDataSize :: Integer -- ^ /Required/ "Size" - Amount of disk space used by the volume (in bytes). This information is only available for volumes created with the `\"local\"` volume driver. For volumes created with other volume drivers, this field is set to `-1` (\"not available\")- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON VolumeUsageData-instance A.FromJSON VolumeUsageData where- parseJSON = A.withObject "VolumeUsageData" $ \o ->- VolumeUsageData- <$> (o .: "RefCount")- <*> (o .: "Size")---- | ToJSON VolumeUsageData-instance A.ToJSON VolumeUsageData where- toJSON VolumeUsageData {..} =- _omitNulls- [ "RefCount" .= volumeUsageDataRefCount- , "Size" .= volumeUsageDataSize- ]----- | Construct a value of type 'VolumeUsageData' (by applying it's required fields, if any)-mkVolumeUsageData- :: Integer -- ^ 'volumeUsageDataRefCount': The number of containers referencing this volume. This field is set to `-1` if the reference-count is not available.- -> Integer -- ^ 'volumeUsageDataSize': Amount of disk space used by the volume (in bytes). This information is only available for volumes created with the `\"local\"` volume driver. For volumes created with other volume drivers, this field is set to `-1` (\"not available\")- -> VolumeUsageData-mkVolumeUsageData volumeUsageDataRefCount volumeUsageDataSize =- VolumeUsageData- { volumeUsageDataRefCount- , volumeUsageDataSize- }---- ** WellKnown--- | WellKnown--- WellKnown represents important OpenID Connect discovery metadata--- --- It includes links to several endpoints (e.g. /oauth2/token) and exposes information on supported signature algorithms among others.-data WellKnown = WellKnown- { wellKnownAuthorizationEndpoint :: Text -- ^ /Required/ "authorization_endpoint" - URL of the OP's OAuth 2.0 Authorization Endpoint.- , wellKnownBackchannelLogoutSessionSupported :: Maybe Bool -- ^ "backchannel_logout_session_supported" - Boolean value specifying whether the OP can pass a sid (session ID) Claim in the Logout Token to identify the RP session with the OP. If supported, the sid Claim is also included in ID Tokens issued by the OP- , wellKnownBackchannelLogoutSupported :: Maybe Bool -- ^ "backchannel_logout_supported" - Boolean value specifying whether the OP supports back-channel logout, with true indicating support.- , wellKnownClaimsParameterSupported :: Maybe Bool -- ^ "claims_parameter_supported" - Boolean value specifying whether the OP supports use of the claims parameter, with true indicating support.- , wellKnownClaimsSupported :: Maybe [Text] -- ^ "claims_supported" - JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for. Note that for privacy or other reasons, this might not be an exhaustive list.- , wellKnownEndSessionEndpoint :: Maybe Text -- ^ "end_session_endpoint" - URL at the OP to which an RP can perform a redirect to request that the End-User be logged out at the OP.- , wellKnownFrontchannelLogoutSessionSupported :: Maybe Bool -- ^ "frontchannel_logout_session_supported" - Boolean value specifying whether the OP can pass iss (issuer) and sid (session ID) query parameters to identify the RP session with the OP when the frontchannel_logout_uri is used. If supported, the sid Claim is also included in ID Tokens issued by the OP.- , wellKnownFrontchannelLogoutSupported :: Maybe Bool -- ^ "frontchannel_logout_supported" - Boolean value specifying whether the OP supports HTTP-based logout, with true indicating support.- , wellKnownGrantTypesSupported :: Maybe [Text] -- ^ "grant_types_supported" - JSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports.- , wellKnownIdTokenSigningAlgValuesSupported :: [Text] -- ^ /Required/ "id_token_signing_alg_values_supported" - JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT.- , wellKnownIssuer :: Text -- ^ /Required/ "issuer" - URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL Identifier. If IssuerURL discovery is supported , this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL.- , wellKnownJwksUri :: Text -- ^ /Required/ "jwks_uri" - URL of the OP's JSON Web Key Set [JWK] document. This contains the signing key(s) the RP uses to validate signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.- , wellKnownRegistrationEndpoint :: Maybe Text -- ^ "registration_endpoint" - URL of the OP's Dynamic Client Registration Endpoint.- , wellKnownRequestObjectSigningAlgValuesSupported :: Maybe [Text] -- ^ "request_object_signing_alg_values_supported" - JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects, which are described in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. These algorithms are used both when the Request Object is passed by value (using the request parameter) and when it is passed by reference (using the request_uri parameter).- , wellKnownRequestParameterSupported :: Maybe Bool -- ^ "request_parameter_supported" - Boolean value specifying whether the OP supports use of the request parameter, with true indicating support.- , wellKnownRequestUriParameterSupported :: Maybe Bool -- ^ "request_uri_parameter_supported" - Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support.- , wellKnownRequireRequestUriRegistration :: Maybe Bool -- ^ "require_request_uri_registration" - Boolean value specifying whether the OP requires any request_uri values used to be pre-registered using the request_uris registration parameter.- , wellKnownResponseModesSupported :: Maybe [Text] -- ^ "response_modes_supported" - JSON array containing a list of the OAuth 2.0 response_mode values that this OP supports.- , wellKnownResponseTypesSupported :: [Text] -- ^ /Required/ "response_types_supported" - JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values.- , wellKnownRevocationEndpoint :: Maybe Text -- ^ "revocation_endpoint" - URL of the authorization server's OAuth 2.0 revocation endpoint.- , wellKnownScopesSupported :: Maybe [Text] -- ^ "scopes_supported" - SON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server supports. The server MUST support the openid scope value. Servers MAY choose not to advertise some supported scope values even when this parameter is used- , wellKnownSubjectTypesSupported :: [Text] -- ^ /Required/ "subject_types_supported" - JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public.- , wellKnownTokenEndpoint :: Text -- ^ /Required/ "token_endpoint" - URL of the OP's OAuth 2.0 Token Endpoint- , wellKnownTokenEndpointAuthMethodsSupported :: Maybe [Text] -- ^ "token_endpoint_auth_methods_supported" - JSON array containing a list of Client Authentication methods supported by this Token Endpoint. The options are client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, as described in Section 9 of OpenID Connect Core 1.0- , wellKnownUserinfoEndpoint :: Maybe Text -- ^ "userinfo_endpoint" - URL of the OP's UserInfo Endpoint.- , wellKnownUserinfoSigningAlgValuesSupported :: Maybe [Text] -- ^ "userinfo_signing_alg_values_supported" - JSON array containing a list of the JWS [JWS] signing algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT].- } deriving (P.Show, P.Eq, P.Typeable)---- | FromJSON WellKnown-instance A.FromJSON WellKnown where- parseJSON = A.withObject "WellKnown" $ \o ->- WellKnown- <$> (o .: "authorization_endpoint")- <*> (o .:? "backchannel_logout_session_supported")- <*> (o .:? "backchannel_logout_supported")- <*> (o .:? "claims_parameter_supported")- <*> (o .:? "claims_supported")- <*> (o .:? "end_session_endpoint")- <*> (o .:? "frontchannel_logout_session_supported")- <*> (o .:? "frontchannel_logout_supported")- <*> (o .:? "grant_types_supported")- <*> (o .: "id_token_signing_alg_values_supported")- <*> (o .: "issuer")- <*> (o .: "jwks_uri")- <*> (o .:? "registration_endpoint")- <*> (o .:? "request_object_signing_alg_values_supported")- <*> (o .:? "request_parameter_supported")- <*> (o .:? "request_uri_parameter_supported")- <*> (o .:? "require_request_uri_registration")- <*> (o .:? "response_modes_supported")- <*> (o .: "response_types_supported")- <*> (o .:? "revocation_endpoint")- <*> (o .:? "scopes_supported")- <*> (o .: "subject_types_supported")- <*> (o .: "token_endpoint")- <*> (o .:? "token_endpoint_auth_methods_supported")- <*> (o .:? "userinfo_endpoint")- <*> (o .:? "userinfo_signing_alg_values_supported")---- | ToJSON WellKnown-instance A.ToJSON WellKnown where- toJSON WellKnown {..} =- _omitNulls- [ "authorization_endpoint" .= wellKnownAuthorizationEndpoint- , "backchannel_logout_session_supported" .= wellKnownBackchannelLogoutSessionSupported- , "backchannel_logout_supported" .= wellKnownBackchannelLogoutSupported- , "claims_parameter_supported" .= wellKnownClaimsParameterSupported- , "claims_supported" .= wellKnownClaimsSupported- , "end_session_endpoint" .= wellKnownEndSessionEndpoint- , "frontchannel_logout_session_supported" .= wellKnownFrontchannelLogoutSessionSupported- , "frontchannel_logout_supported" .= wellKnownFrontchannelLogoutSupported- , "grant_types_supported" .= wellKnownGrantTypesSupported- , "id_token_signing_alg_values_supported" .= wellKnownIdTokenSigningAlgValuesSupported- , "issuer" .= wellKnownIssuer- , "jwks_uri" .= wellKnownJwksUri- , "registration_endpoint" .= wellKnownRegistrationEndpoint- , "request_object_signing_alg_values_supported" .= wellKnownRequestObjectSigningAlgValuesSupported- , "request_parameter_supported" .= wellKnownRequestParameterSupported- , "request_uri_parameter_supported" .= wellKnownRequestUriParameterSupported- , "require_request_uri_registration" .= wellKnownRequireRequestUriRegistration- , "response_modes_supported" .= wellKnownResponseModesSupported- , "response_types_supported" .= wellKnownResponseTypesSupported- , "revocation_endpoint" .= wellKnownRevocationEndpoint- , "scopes_supported" .= wellKnownScopesSupported- , "subject_types_supported" .= wellKnownSubjectTypesSupported- , "token_endpoint" .= wellKnownTokenEndpoint- , "token_endpoint_auth_methods_supported" .= wellKnownTokenEndpointAuthMethodsSupported- , "userinfo_endpoint" .= wellKnownUserinfoEndpoint- , "userinfo_signing_alg_values_supported" .= wellKnownUserinfoSigningAlgValuesSupported- ]----- | Construct a value of type 'WellKnown' (by applying it's required fields, if any)-mkWellKnown- :: Text -- ^ 'wellKnownAuthorizationEndpoint': URL of the OP's OAuth 2.0 Authorization Endpoint.- -> [Text] -- ^ 'wellKnownIdTokenSigningAlgValuesSupported': JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT.- -> Text -- ^ 'wellKnownIssuer': URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL Identifier. If IssuerURL discovery is supported , this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL.- -> Text -- ^ 'wellKnownJwksUri': URL of the OP's JSON Web Key Set [JWK] document. This contains the signing key(s) the RP uses to validate signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.- -> [Text] -- ^ 'wellKnownResponseTypesSupported': JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values.- -> [Text] -- ^ 'wellKnownSubjectTypesSupported': JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public.- -> Text -- ^ 'wellKnownTokenEndpoint': URL of the OP's OAuth 2.0 Token Endpoint- -> WellKnown-mkWellKnown wellKnownAuthorizationEndpoint wellKnownIdTokenSigningAlgValuesSupported wellKnownIssuer wellKnownJwksUri wellKnownResponseTypesSupported wellKnownSubjectTypesSupported wellKnownTokenEndpoint =- WellKnown- { wellKnownAuthorizationEndpoint- , wellKnownBackchannelLogoutSessionSupported = Nothing- , wellKnownBackchannelLogoutSupported = Nothing- , wellKnownClaimsParameterSupported = Nothing- , wellKnownClaimsSupported = Nothing- , wellKnownEndSessionEndpoint = Nothing- , wellKnownFrontchannelLogoutSessionSupported = Nothing- , wellKnownFrontchannelLogoutSupported = Nothing- , wellKnownGrantTypesSupported = Nothing- , wellKnownIdTokenSigningAlgValuesSupported- , wellKnownIssuer- , wellKnownJwksUri- , wellKnownRegistrationEndpoint = Nothing- , wellKnownRequestObjectSigningAlgValuesSupported = Nothing- , wellKnownRequestParameterSupported = Nothing- , wellKnownRequestUriParameterSupported = Nothing- , wellKnownRequireRequestUriRegistration = Nothing- , wellKnownResponseModesSupported = Nothing- , wellKnownResponseTypesSupported- , wellKnownRevocationEndpoint = Nothing- , wellKnownScopesSupported = Nothing- , wellKnownSubjectTypesSupported- , wellKnownTokenEndpoint- , wellKnownTokenEndpointAuthMethodsSupported = Nothing- , wellKnownUserinfoEndpoint = Nothing- , wellKnownUserinfoSigningAlgValuesSupported = Nothing- }------- * Auth Methods---- ** AuthBasicBasic-data AuthBasicBasic =- AuthBasicBasic B.ByteString B.ByteString -- ^ username password- deriving (P.Eq, P.Show, P.Typeable)--instance AuthMethod AuthBasicBasic where- applyAuthMethod _ a@(AuthBasicBasic user pw) req =- P.pure $- if (P.typeOf a `P.elem` rAuthTypes req)- then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)- & L.over rAuthTypesL (P.filter (/= P.typeOf a))- else req- where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])---- ** AuthOAuthOauth2-data AuthOAuthOauth2 =- AuthOAuthOauth2 Text -- ^ secret- deriving (P.Eq, P.Show, P.Typeable)--instance AuthMethod AuthOAuthOauth2 where- applyAuthMethod _ a@(AuthOAuthOauth2 secret) req =- P.pure $- if (P.typeOf a `P.elem` rAuthTypes req)- then req `setHeader` toHeader ("Authorization", "Bearer " <> secret)- & L.over rAuthTypesL (P.filter (/= P.typeOf a))- else req--
− lib/ORYHydra/ModelLens.hs
@@ -1,1434 +0,0 @@-{-- ORY Hydra-- Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.-- OpenAPI Version: 3.0.1- ORY Hydra API version: latest- Generated by OpenAPI Generator (https://openapi-generator.tech)--}--{-|-Module : ORYHydra.Lens--}--{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE NamedFieldPuns #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE RecordWildCards #-}-{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}--module ORYHydra.ModelLens where--import qualified Data.Aeson as A-import qualified Data.ByteString.Lazy as BL-import qualified Data.Data as P (Data, Typeable)-import qualified Data.Map as Map-import qualified Data.Set as Set-import qualified Data.Time as TI--import Data.Text (Text)--import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)-import qualified Prelude as P--import ORYHydra.Model-import ORYHydra.Core----- * AcceptConsentRequest---- | 'acceptConsentRequestGrantAccessTokenAudience' Lens-acceptConsentRequestGrantAccessTokenAudienceL :: Lens_' AcceptConsentRequest (Maybe [Text])-acceptConsentRequestGrantAccessTokenAudienceL f AcceptConsentRequest{..} = (\acceptConsentRequestGrantAccessTokenAudience -> AcceptConsentRequest { acceptConsentRequestGrantAccessTokenAudience, ..} ) <$> f acceptConsentRequestGrantAccessTokenAudience-{-# INLINE acceptConsentRequestGrantAccessTokenAudienceL #-}---- | 'acceptConsentRequestGrantScope' Lens-acceptConsentRequestGrantScopeL :: Lens_' AcceptConsentRequest (Maybe [Text])-acceptConsentRequestGrantScopeL f AcceptConsentRequest{..} = (\acceptConsentRequestGrantScope -> AcceptConsentRequest { acceptConsentRequestGrantScope, ..} ) <$> f acceptConsentRequestGrantScope-{-# INLINE acceptConsentRequestGrantScopeL #-}---- | 'acceptConsentRequestHandledAt' Lens-acceptConsentRequestHandledAtL :: Lens_' AcceptConsentRequest (Maybe DateTime)-acceptConsentRequestHandledAtL f AcceptConsentRequest{..} = (\acceptConsentRequestHandledAt -> AcceptConsentRequest { acceptConsentRequestHandledAt, ..} ) <$> f acceptConsentRequestHandledAt-{-# INLINE acceptConsentRequestHandledAtL #-}---- | 'acceptConsentRequestRemember' Lens-acceptConsentRequestRememberL :: Lens_' AcceptConsentRequest (Maybe Bool)-acceptConsentRequestRememberL f AcceptConsentRequest{..} = (\acceptConsentRequestRemember -> AcceptConsentRequest { acceptConsentRequestRemember, ..} ) <$> f acceptConsentRequestRemember-{-# INLINE acceptConsentRequestRememberL #-}---- | 'acceptConsentRequestRememberFor' Lens-acceptConsentRequestRememberForL :: Lens_' AcceptConsentRequest (Maybe Integer)-acceptConsentRequestRememberForL f AcceptConsentRequest{..} = (\acceptConsentRequestRememberFor -> AcceptConsentRequest { acceptConsentRequestRememberFor, ..} ) <$> f acceptConsentRequestRememberFor-{-# INLINE acceptConsentRequestRememberForL #-}---- | 'acceptConsentRequestSession' Lens-acceptConsentRequestSessionL :: Lens_' AcceptConsentRequest (Maybe ConsentRequestSession)-acceptConsentRequestSessionL f AcceptConsentRequest{..} = (\acceptConsentRequestSession -> AcceptConsentRequest { acceptConsentRequestSession, ..} ) <$> f acceptConsentRequestSession-{-# INLINE acceptConsentRequestSessionL #-}------ * AcceptLoginRequest---- | 'acceptLoginRequestAcr' Lens-acceptLoginRequestAcrL :: Lens_' AcceptLoginRequest (Maybe Text)-acceptLoginRequestAcrL f AcceptLoginRequest{..} = (\acceptLoginRequestAcr -> AcceptLoginRequest { acceptLoginRequestAcr, ..} ) <$> f acceptLoginRequestAcr-{-# INLINE acceptLoginRequestAcrL #-}---- | 'acceptLoginRequestContext' Lens-acceptLoginRequestContextL :: Lens_' AcceptLoginRequest (Maybe A.Value)-acceptLoginRequestContextL f AcceptLoginRequest{..} = (\acceptLoginRequestContext -> AcceptLoginRequest { acceptLoginRequestContext, ..} ) <$> f acceptLoginRequestContext-{-# INLINE acceptLoginRequestContextL #-}---- | 'acceptLoginRequestForceSubjectIdentifier' Lens-acceptLoginRequestForceSubjectIdentifierL :: Lens_' AcceptLoginRequest (Maybe Text)-acceptLoginRequestForceSubjectIdentifierL f AcceptLoginRequest{..} = (\acceptLoginRequestForceSubjectIdentifier -> AcceptLoginRequest { acceptLoginRequestForceSubjectIdentifier, ..} ) <$> f acceptLoginRequestForceSubjectIdentifier-{-# INLINE acceptLoginRequestForceSubjectIdentifierL #-}---- | 'acceptLoginRequestRemember' Lens-acceptLoginRequestRememberL :: Lens_' AcceptLoginRequest (Maybe Bool)-acceptLoginRequestRememberL f AcceptLoginRequest{..} = (\acceptLoginRequestRemember -> AcceptLoginRequest { acceptLoginRequestRemember, ..} ) <$> f acceptLoginRequestRemember-{-# INLINE acceptLoginRequestRememberL #-}---- | 'acceptLoginRequestRememberFor' Lens-acceptLoginRequestRememberForL :: Lens_' AcceptLoginRequest (Maybe Integer)-acceptLoginRequestRememberForL f AcceptLoginRequest{..} = (\acceptLoginRequestRememberFor -> AcceptLoginRequest { acceptLoginRequestRememberFor, ..} ) <$> f acceptLoginRequestRememberFor-{-# INLINE acceptLoginRequestRememberForL #-}---- | 'acceptLoginRequestSubject' Lens-acceptLoginRequestSubjectL :: Lens_' AcceptLoginRequest (Text)-acceptLoginRequestSubjectL f AcceptLoginRequest{..} = (\acceptLoginRequestSubject -> AcceptLoginRequest { acceptLoginRequestSubject, ..} ) <$> f acceptLoginRequestSubject-{-# INLINE acceptLoginRequestSubjectL #-}------ * CompletedRequest---- | 'completedRequestRedirectTo' Lens-completedRequestRedirectToL :: Lens_' CompletedRequest (Text)-completedRequestRedirectToL f CompletedRequest{..} = (\completedRequestRedirectTo -> CompletedRequest { completedRequestRedirectTo, ..} ) <$> f completedRequestRedirectTo-{-# INLINE completedRequestRedirectToL #-}------ * ConsentRequest---- | 'consentRequestAcr' Lens-consentRequestAcrL :: Lens_' ConsentRequest (Maybe Text)-consentRequestAcrL f ConsentRequest{..} = (\consentRequestAcr -> ConsentRequest { consentRequestAcr, ..} ) <$> f consentRequestAcr-{-# INLINE consentRequestAcrL #-}---- | 'consentRequestChallenge' Lens-consentRequestChallengeL :: Lens_' ConsentRequest (Text)-consentRequestChallengeL f ConsentRequest{..} = (\consentRequestChallenge -> ConsentRequest { consentRequestChallenge, ..} ) <$> f consentRequestChallenge-{-# INLINE consentRequestChallengeL #-}---- | 'consentRequestClient' Lens-consentRequestClientL :: Lens_' ConsentRequest (Maybe OAuth2Client)-consentRequestClientL f ConsentRequest{..} = (\consentRequestClient -> ConsentRequest { consentRequestClient, ..} ) <$> f consentRequestClient-{-# INLINE consentRequestClientL #-}---- | 'consentRequestContext' Lens-consentRequestContextL :: Lens_' ConsentRequest (Maybe A.Value)-consentRequestContextL f ConsentRequest{..} = (\consentRequestContext -> ConsentRequest { consentRequestContext, ..} ) <$> f consentRequestContext-{-# INLINE consentRequestContextL #-}---- | 'consentRequestLoginChallenge' Lens-consentRequestLoginChallengeL :: Lens_' ConsentRequest (Maybe Text)-consentRequestLoginChallengeL f ConsentRequest{..} = (\consentRequestLoginChallenge -> ConsentRequest { consentRequestLoginChallenge, ..} ) <$> f consentRequestLoginChallenge-{-# INLINE consentRequestLoginChallengeL #-}---- | 'consentRequestLoginSessionId' Lens-consentRequestLoginSessionIdL :: Lens_' ConsentRequest (Maybe Text)-consentRequestLoginSessionIdL f ConsentRequest{..} = (\consentRequestLoginSessionId -> ConsentRequest { consentRequestLoginSessionId, ..} ) <$> f consentRequestLoginSessionId-{-# INLINE consentRequestLoginSessionIdL #-}---- | 'consentRequestOidcContext' Lens-consentRequestOidcContextL :: Lens_' ConsentRequest (Maybe OpenIDConnectContext)-consentRequestOidcContextL f ConsentRequest{..} = (\consentRequestOidcContext -> ConsentRequest { consentRequestOidcContext, ..} ) <$> f consentRequestOidcContext-{-# INLINE consentRequestOidcContextL #-}---- | 'consentRequestRequestUrl' Lens-consentRequestRequestUrlL :: Lens_' ConsentRequest (Maybe Text)-consentRequestRequestUrlL f ConsentRequest{..} = (\consentRequestRequestUrl -> ConsentRequest { consentRequestRequestUrl, ..} ) <$> f consentRequestRequestUrl-{-# INLINE consentRequestRequestUrlL #-}---- | 'consentRequestRequestedAccessTokenAudience' Lens-consentRequestRequestedAccessTokenAudienceL :: Lens_' ConsentRequest (Maybe [Text])-consentRequestRequestedAccessTokenAudienceL f ConsentRequest{..} = (\consentRequestRequestedAccessTokenAudience -> ConsentRequest { consentRequestRequestedAccessTokenAudience, ..} ) <$> f consentRequestRequestedAccessTokenAudience-{-# INLINE consentRequestRequestedAccessTokenAudienceL #-}---- | 'consentRequestRequestedScope' Lens-consentRequestRequestedScopeL :: Lens_' ConsentRequest (Maybe [Text])-consentRequestRequestedScopeL f ConsentRequest{..} = (\consentRequestRequestedScope -> ConsentRequest { consentRequestRequestedScope, ..} ) <$> f consentRequestRequestedScope-{-# INLINE consentRequestRequestedScopeL #-}---- | 'consentRequestSkip' Lens-consentRequestSkipL :: Lens_' ConsentRequest (Maybe Bool)-consentRequestSkipL f ConsentRequest{..} = (\consentRequestSkip -> ConsentRequest { consentRequestSkip, ..} ) <$> f consentRequestSkip-{-# INLINE consentRequestSkipL #-}---- | 'consentRequestSubject' Lens-consentRequestSubjectL :: Lens_' ConsentRequest (Maybe Text)-consentRequestSubjectL f ConsentRequest{..} = (\consentRequestSubject -> ConsentRequest { consentRequestSubject, ..} ) <$> f consentRequestSubject-{-# INLINE consentRequestSubjectL #-}------ * ConsentRequestSession---- | 'consentRequestSessionAccessToken' Lens-consentRequestSessionAccessTokenL :: Lens_' ConsentRequestSession (Maybe A.Value)-consentRequestSessionAccessTokenL f ConsentRequestSession{..} = (\consentRequestSessionAccessToken -> ConsentRequestSession { consentRequestSessionAccessToken, ..} ) <$> f consentRequestSessionAccessToken-{-# INLINE consentRequestSessionAccessTokenL #-}---- | 'consentRequestSessionIdToken' Lens-consentRequestSessionIdTokenL :: Lens_' ConsentRequestSession (Maybe A.Value)-consentRequestSessionIdTokenL f ConsentRequestSession{..} = (\consentRequestSessionIdToken -> ConsentRequestSession { consentRequestSessionIdToken, ..} ) <$> f consentRequestSessionIdToken-{-# INLINE consentRequestSessionIdTokenL #-}------ * ContainerWaitOKBodyError---- | 'containerWaitOKBodyErrorMessage' Lens-containerWaitOKBodyErrorMessageL :: Lens_' ContainerWaitOKBodyError (Maybe Text)-containerWaitOKBodyErrorMessageL f ContainerWaitOKBodyError{..} = (\containerWaitOKBodyErrorMessage -> ContainerWaitOKBodyError { containerWaitOKBodyErrorMessage, ..} ) <$> f containerWaitOKBodyErrorMessage-{-# INLINE containerWaitOKBodyErrorMessageL #-}------ * FlushInactiveOAuth2TokensRequest---- | 'flushInactiveOAuth2TokensRequestNotAfter' Lens-flushInactiveOAuth2TokensRequestNotAfterL :: Lens_' FlushInactiveOAuth2TokensRequest (Maybe DateTime)-flushInactiveOAuth2TokensRequestNotAfterL f FlushInactiveOAuth2TokensRequest{..} = (\flushInactiveOAuth2TokensRequestNotAfter -> FlushInactiveOAuth2TokensRequest { flushInactiveOAuth2TokensRequestNotAfter, ..} ) <$> f flushInactiveOAuth2TokensRequestNotAfter-{-# INLINE flushInactiveOAuth2TokensRequestNotAfterL #-}------ * GenericError---- | 'genericErrorDebug' Lens-genericErrorDebugL :: Lens_' GenericError (Maybe Text)-genericErrorDebugL f GenericError{..} = (\genericErrorDebug -> GenericError { genericErrorDebug, ..} ) <$> f genericErrorDebug-{-# INLINE genericErrorDebugL #-}---- | 'genericErrorError' Lens-genericErrorErrorL :: Lens_' GenericError (Text)-genericErrorErrorL f GenericError{..} = (\genericErrorError -> GenericError { genericErrorError, ..} ) <$> f genericErrorError-{-# INLINE genericErrorErrorL #-}---- | 'genericErrorErrorDescription' Lens-genericErrorErrorDescriptionL :: Lens_' GenericError (Maybe Text)-genericErrorErrorDescriptionL f GenericError{..} = (\genericErrorErrorDescription -> GenericError { genericErrorErrorDescription, ..} ) <$> f genericErrorErrorDescription-{-# INLINE genericErrorErrorDescriptionL #-}---- | 'genericErrorStatusCode' Lens-genericErrorStatusCodeL :: Lens_' GenericError (Maybe Integer)-genericErrorStatusCodeL f GenericError{..} = (\genericErrorStatusCode -> GenericError { genericErrorStatusCode, ..} ) <$> f genericErrorStatusCode-{-# INLINE genericErrorStatusCodeL #-}------ * HealthNotReadyStatus---- | 'healthNotReadyStatusErrors' Lens-healthNotReadyStatusErrorsL :: Lens_' HealthNotReadyStatus (Maybe (Map.Map String Text))-healthNotReadyStatusErrorsL f HealthNotReadyStatus{..} = (\healthNotReadyStatusErrors -> HealthNotReadyStatus { healthNotReadyStatusErrors, ..} ) <$> f healthNotReadyStatusErrors-{-# INLINE healthNotReadyStatusErrorsL #-}------ * HealthStatus---- | 'healthStatusStatus' Lens-healthStatusStatusL :: Lens_' HealthStatus (Maybe Text)-healthStatusStatusL f HealthStatus{..} = (\healthStatusStatus -> HealthStatus { healthStatusStatus, ..} ) <$> f healthStatusStatus-{-# INLINE healthStatusStatusL #-}------ * JSONWebKey---- | 'jSONWebKeyAlg' Lens-jSONWebKeyAlgL :: Lens_' JSONWebKey (Text)-jSONWebKeyAlgL f JSONWebKey{..} = (\jSONWebKeyAlg -> JSONWebKey { jSONWebKeyAlg, ..} ) <$> f jSONWebKeyAlg-{-# INLINE jSONWebKeyAlgL #-}---- | 'jSONWebKeyCrv' Lens-jSONWebKeyCrvL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyCrvL f JSONWebKey{..} = (\jSONWebKeyCrv -> JSONWebKey { jSONWebKeyCrv, ..} ) <$> f jSONWebKeyCrv-{-# INLINE jSONWebKeyCrvL #-}---- | 'jSONWebKeyD' Lens-jSONWebKeyDL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyDL f JSONWebKey{..} = (\jSONWebKeyD -> JSONWebKey { jSONWebKeyD, ..} ) <$> f jSONWebKeyD-{-# INLINE jSONWebKeyDL #-}---- | 'jSONWebKeyDp' Lens-jSONWebKeyDpL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyDpL f JSONWebKey{..} = (\jSONWebKeyDp -> JSONWebKey { jSONWebKeyDp, ..} ) <$> f jSONWebKeyDp-{-# INLINE jSONWebKeyDpL #-}---- | 'jSONWebKeyDq' Lens-jSONWebKeyDqL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyDqL f JSONWebKey{..} = (\jSONWebKeyDq -> JSONWebKey { jSONWebKeyDq, ..} ) <$> f jSONWebKeyDq-{-# INLINE jSONWebKeyDqL #-}---- | 'jSONWebKeyE' Lens-jSONWebKeyEL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyEL f JSONWebKey{..} = (\jSONWebKeyE -> JSONWebKey { jSONWebKeyE, ..} ) <$> f jSONWebKeyE-{-# INLINE jSONWebKeyEL #-}---- | 'jSONWebKeyK' Lens-jSONWebKeyKL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyKL f JSONWebKey{..} = (\jSONWebKeyK -> JSONWebKey { jSONWebKeyK, ..} ) <$> f jSONWebKeyK-{-# INLINE jSONWebKeyKL #-}---- | 'jSONWebKeyKid' Lens-jSONWebKeyKidL :: Lens_' JSONWebKey (Text)-jSONWebKeyKidL f JSONWebKey{..} = (\jSONWebKeyKid -> JSONWebKey { jSONWebKeyKid, ..} ) <$> f jSONWebKeyKid-{-# INLINE jSONWebKeyKidL #-}---- | 'jSONWebKeyKty' Lens-jSONWebKeyKtyL :: Lens_' JSONWebKey (Text)-jSONWebKeyKtyL f JSONWebKey{..} = (\jSONWebKeyKty -> JSONWebKey { jSONWebKeyKty, ..} ) <$> f jSONWebKeyKty-{-# INLINE jSONWebKeyKtyL #-}---- | 'jSONWebKeyN' Lens-jSONWebKeyNL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyNL f JSONWebKey{..} = (\jSONWebKeyN -> JSONWebKey { jSONWebKeyN, ..} ) <$> f jSONWebKeyN-{-# INLINE jSONWebKeyNL #-}---- | 'jSONWebKeyP' Lens-jSONWebKeyPL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyPL f JSONWebKey{..} = (\jSONWebKeyP -> JSONWebKey { jSONWebKeyP, ..} ) <$> f jSONWebKeyP-{-# INLINE jSONWebKeyPL #-}---- | 'jSONWebKeyQ' Lens-jSONWebKeyQL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyQL f JSONWebKey{..} = (\jSONWebKeyQ -> JSONWebKey { jSONWebKeyQ, ..} ) <$> f jSONWebKeyQ-{-# INLINE jSONWebKeyQL #-}---- | 'jSONWebKeyQi' Lens-jSONWebKeyQiL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyQiL f JSONWebKey{..} = (\jSONWebKeyQi -> JSONWebKey { jSONWebKeyQi, ..} ) <$> f jSONWebKeyQi-{-# INLINE jSONWebKeyQiL #-}---- | 'jSONWebKeyUse' Lens-jSONWebKeyUseL :: Lens_' JSONWebKey (Text)-jSONWebKeyUseL f JSONWebKey{..} = (\jSONWebKeyUse -> JSONWebKey { jSONWebKeyUse, ..} ) <$> f jSONWebKeyUse-{-# INLINE jSONWebKeyUseL #-}---- | 'jSONWebKeyX' Lens-jSONWebKeyXL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyXL f JSONWebKey{..} = (\jSONWebKeyX -> JSONWebKey { jSONWebKeyX, ..} ) <$> f jSONWebKeyX-{-# INLINE jSONWebKeyXL #-}---- | 'jSONWebKeyX5c' Lens-jSONWebKeyX5cL :: Lens_' JSONWebKey (Maybe [Text])-jSONWebKeyX5cL f JSONWebKey{..} = (\jSONWebKeyX5c -> JSONWebKey { jSONWebKeyX5c, ..} ) <$> f jSONWebKeyX5c-{-# INLINE jSONWebKeyX5cL #-}---- | 'jSONWebKeyY' Lens-jSONWebKeyYL :: Lens_' JSONWebKey (Maybe Text)-jSONWebKeyYL f JSONWebKey{..} = (\jSONWebKeyY -> JSONWebKey { jSONWebKeyY, ..} ) <$> f jSONWebKeyY-{-# INLINE jSONWebKeyYL #-}------ * JSONWebKeySet---- | 'jSONWebKeySetKeys' Lens-jSONWebKeySetKeysL :: Lens_' JSONWebKeySet (Maybe [JSONWebKey])-jSONWebKeySetKeysL f JSONWebKeySet{..} = (\jSONWebKeySetKeys -> JSONWebKeySet { jSONWebKeySetKeys, ..} ) <$> f jSONWebKeySetKeys-{-# INLINE jSONWebKeySetKeysL #-}------ * JsonWebKeySetGeneratorRequest---- | 'jsonWebKeySetGeneratorRequestAlg' Lens-jsonWebKeySetGeneratorRequestAlgL :: Lens_' JsonWebKeySetGeneratorRequest (Text)-jsonWebKeySetGeneratorRequestAlgL f JsonWebKeySetGeneratorRequest{..} = (\jsonWebKeySetGeneratorRequestAlg -> JsonWebKeySetGeneratorRequest { jsonWebKeySetGeneratorRequestAlg, ..} ) <$> f jsonWebKeySetGeneratorRequestAlg-{-# INLINE jsonWebKeySetGeneratorRequestAlgL #-}---- | 'jsonWebKeySetGeneratorRequestKid' Lens-jsonWebKeySetGeneratorRequestKidL :: Lens_' JsonWebKeySetGeneratorRequest (Text)-jsonWebKeySetGeneratorRequestKidL f JsonWebKeySetGeneratorRequest{..} = (\jsonWebKeySetGeneratorRequestKid -> JsonWebKeySetGeneratorRequest { jsonWebKeySetGeneratorRequestKid, ..} ) <$> f jsonWebKeySetGeneratorRequestKid-{-# INLINE jsonWebKeySetGeneratorRequestKidL #-}---- | 'jsonWebKeySetGeneratorRequestUse' Lens-jsonWebKeySetGeneratorRequestUseL :: Lens_' JsonWebKeySetGeneratorRequest (Text)-jsonWebKeySetGeneratorRequestUseL f JsonWebKeySetGeneratorRequest{..} = (\jsonWebKeySetGeneratorRequestUse -> JsonWebKeySetGeneratorRequest { jsonWebKeySetGeneratorRequestUse, ..} ) <$> f jsonWebKeySetGeneratorRequestUse-{-# INLINE jsonWebKeySetGeneratorRequestUseL #-}------ * LoginRequest---- | 'loginRequestChallenge' Lens-loginRequestChallengeL :: Lens_' LoginRequest (Text)-loginRequestChallengeL f LoginRequest{..} = (\loginRequestChallenge -> LoginRequest { loginRequestChallenge, ..} ) <$> f loginRequestChallenge-{-# INLINE loginRequestChallengeL #-}---- | 'loginRequestClient' Lens-loginRequestClientL :: Lens_' LoginRequest (OAuth2Client)-loginRequestClientL f LoginRequest{..} = (\loginRequestClient -> LoginRequest { loginRequestClient, ..} ) <$> f loginRequestClient-{-# INLINE loginRequestClientL #-}---- | 'loginRequestOidcContext' Lens-loginRequestOidcContextL :: Lens_' LoginRequest (Maybe OpenIDConnectContext)-loginRequestOidcContextL f LoginRequest{..} = (\loginRequestOidcContext -> LoginRequest { loginRequestOidcContext, ..} ) <$> f loginRequestOidcContext-{-# INLINE loginRequestOidcContextL #-}---- | 'loginRequestRequestUrl' Lens-loginRequestRequestUrlL :: Lens_' LoginRequest (Text)-loginRequestRequestUrlL f LoginRequest{..} = (\loginRequestRequestUrl -> LoginRequest { loginRequestRequestUrl, ..} ) <$> f loginRequestRequestUrl-{-# INLINE loginRequestRequestUrlL #-}---- | 'loginRequestRequestedAccessTokenAudience' Lens-loginRequestRequestedAccessTokenAudienceL :: Lens_' LoginRequest ([Text])-loginRequestRequestedAccessTokenAudienceL f LoginRequest{..} = (\loginRequestRequestedAccessTokenAudience -> LoginRequest { loginRequestRequestedAccessTokenAudience, ..} ) <$> f loginRequestRequestedAccessTokenAudience-{-# INLINE loginRequestRequestedAccessTokenAudienceL #-}---- | 'loginRequestRequestedScope' Lens-loginRequestRequestedScopeL :: Lens_' LoginRequest ([Text])-loginRequestRequestedScopeL f LoginRequest{..} = (\loginRequestRequestedScope -> LoginRequest { loginRequestRequestedScope, ..} ) <$> f loginRequestRequestedScope-{-# INLINE loginRequestRequestedScopeL #-}---- | 'loginRequestSessionId' Lens-loginRequestSessionIdL :: Lens_' LoginRequest (Maybe Text)-loginRequestSessionIdL f LoginRequest{..} = (\loginRequestSessionId -> LoginRequest { loginRequestSessionId, ..} ) <$> f loginRequestSessionId-{-# INLINE loginRequestSessionIdL #-}---- | 'loginRequestSkip' Lens-loginRequestSkipL :: Lens_' LoginRequest (Bool)-loginRequestSkipL f LoginRequest{..} = (\loginRequestSkip -> LoginRequest { loginRequestSkip, ..} ) <$> f loginRequestSkip-{-# INLINE loginRequestSkipL #-}---- | 'loginRequestSubject' Lens-loginRequestSubjectL :: Lens_' LoginRequest (Text)-loginRequestSubjectL f LoginRequest{..} = (\loginRequestSubject -> LoginRequest { loginRequestSubject, ..} ) <$> f loginRequestSubject-{-# INLINE loginRequestSubjectL #-}------ * LogoutRequest---- | 'logoutRequestRequestUrl' Lens-logoutRequestRequestUrlL :: Lens_' LogoutRequest (Maybe Text)-logoutRequestRequestUrlL f LogoutRequest{..} = (\logoutRequestRequestUrl -> LogoutRequest { logoutRequestRequestUrl, ..} ) <$> f logoutRequestRequestUrl-{-# INLINE logoutRequestRequestUrlL #-}---- | 'logoutRequestRpInitiated' Lens-logoutRequestRpInitiatedL :: Lens_' LogoutRequest (Maybe Bool)-logoutRequestRpInitiatedL f LogoutRequest{..} = (\logoutRequestRpInitiated -> LogoutRequest { logoutRequestRpInitiated, ..} ) <$> f logoutRequestRpInitiated-{-# INLINE logoutRequestRpInitiatedL #-}---- | 'logoutRequestSid' Lens-logoutRequestSidL :: Lens_' LogoutRequest (Maybe Text)-logoutRequestSidL f LogoutRequest{..} = (\logoutRequestSid -> LogoutRequest { logoutRequestSid, ..} ) <$> f logoutRequestSid-{-# INLINE logoutRequestSidL #-}---- | 'logoutRequestSubject' Lens-logoutRequestSubjectL :: Lens_' LogoutRequest (Maybe Text)-logoutRequestSubjectL f LogoutRequest{..} = (\logoutRequestSubject -> LogoutRequest { logoutRequestSubject, ..} ) <$> f logoutRequestSubject-{-# INLINE logoutRequestSubjectL #-}------ * OAuth2Client---- | 'oAuth2ClientAllowedCorsOrigins' Lens-oAuth2ClientAllowedCorsOriginsL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientAllowedCorsOriginsL f OAuth2Client{..} = (\oAuth2ClientAllowedCorsOrigins -> OAuth2Client { oAuth2ClientAllowedCorsOrigins, ..} ) <$> f oAuth2ClientAllowedCorsOrigins-{-# INLINE oAuth2ClientAllowedCorsOriginsL #-}---- | 'oAuth2ClientAudience' Lens-oAuth2ClientAudienceL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientAudienceL f OAuth2Client{..} = (\oAuth2ClientAudience -> OAuth2Client { oAuth2ClientAudience, ..} ) <$> f oAuth2ClientAudience-{-# INLINE oAuth2ClientAudienceL #-}---- | 'oAuth2ClientBackchannelLogoutSessionRequired' Lens-oAuth2ClientBackchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)-oAuth2ClientBackchannelLogoutSessionRequiredL f OAuth2Client{..} = (\oAuth2ClientBackchannelLogoutSessionRequired -> OAuth2Client { oAuth2ClientBackchannelLogoutSessionRequired, ..} ) <$> f oAuth2ClientBackchannelLogoutSessionRequired-{-# INLINE oAuth2ClientBackchannelLogoutSessionRequiredL #-}---- | 'oAuth2ClientBackchannelLogoutUri' Lens-oAuth2ClientBackchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientBackchannelLogoutUriL f OAuth2Client{..} = (\oAuth2ClientBackchannelLogoutUri -> OAuth2Client { oAuth2ClientBackchannelLogoutUri, ..} ) <$> f oAuth2ClientBackchannelLogoutUri-{-# INLINE oAuth2ClientBackchannelLogoutUriL #-}---- | 'oAuth2ClientClientId' Lens-oAuth2ClientClientIdL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientClientIdL f OAuth2Client{..} = (\oAuth2ClientClientId -> OAuth2Client { oAuth2ClientClientId, ..} ) <$> f oAuth2ClientClientId-{-# INLINE oAuth2ClientClientIdL #-}---- | 'oAuth2ClientClientName' Lens-oAuth2ClientClientNameL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientClientNameL f OAuth2Client{..} = (\oAuth2ClientClientName -> OAuth2Client { oAuth2ClientClientName, ..} ) <$> f oAuth2ClientClientName-{-# INLINE oAuth2ClientClientNameL #-}---- | 'oAuth2ClientClientSecret' Lens-oAuth2ClientClientSecretL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientClientSecretL f OAuth2Client{..} = (\oAuth2ClientClientSecret -> OAuth2Client { oAuth2ClientClientSecret, ..} ) <$> f oAuth2ClientClientSecret-{-# INLINE oAuth2ClientClientSecretL #-}---- | 'oAuth2ClientClientSecretExpiresAt' Lens-oAuth2ClientClientSecretExpiresAtL :: Lens_' OAuth2Client (Maybe Integer)-oAuth2ClientClientSecretExpiresAtL f OAuth2Client{..} = (\oAuth2ClientClientSecretExpiresAt -> OAuth2Client { oAuth2ClientClientSecretExpiresAt, ..} ) <$> f oAuth2ClientClientSecretExpiresAt-{-# INLINE oAuth2ClientClientSecretExpiresAtL #-}---- | 'oAuth2ClientClientUri' Lens-oAuth2ClientClientUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientClientUriL f OAuth2Client{..} = (\oAuth2ClientClientUri -> OAuth2Client { oAuth2ClientClientUri, ..} ) <$> f oAuth2ClientClientUri-{-# INLINE oAuth2ClientClientUriL #-}---- | 'oAuth2ClientContacts' Lens-oAuth2ClientContactsL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientContactsL f OAuth2Client{..} = (\oAuth2ClientContacts -> OAuth2Client { oAuth2ClientContacts, ..} ) <$> f oAuth2ClientContacts-{-# INLINE oAuth2ClientContactsL #-}---- | 'oAuth2ClientCreatedAt' Lens-oAuth2ClientCreatedAtL :: Lens_' OAuth2Client (Maybe DateTime)-oAuth2ClientCreatedAtL f OAuth2Client{..} = (\oAuth2ClientCreatedAt -> OAuth2Client { oAuth2ClientCreatedAt, ..} ) <$> f oAuth2ClientCreatedAt-{-# INLINE oAuth2ClientCreatedAtL #-}---- | 'oAuth2ClientFrontchannelLogoutSessionRequired' Lens-oAuth2ClientFrontchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)-oAuth2ClientFrontchannelLogoutSessionRequiredL f OAuth2Client{..} = (\oAuth2ClientFrontchannelLogoutSessionRequired -> OAuth2Client { oAuth2ClientFrontchannelLogoutSessionRequired, ..} ) <$> f oAuth2ClientFrontchannelLogoutSessionRequired-{-# INLINE oAuth2ClientFrontchannelLogoutSessionRequiredL #-}---- | 'oAuth2ClientFrontchannelLogoutUri' Lens-oAuth2ClientFrontchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientFrontchannelLogoutUriL f OAuth2Client{..} = (\oAuth2ClientFrontchannelLogoutUri -> OAuth2Client { oAuth2ClientFrontchannelLogoutUri, ..} ) <$> f oAuth2ClientFrontchannelLogoutUri-{-# INLINE oAuth2ClientFrontchannelLogoutUriL #-}---- | 'oAuth2ClientGrantTypes' Lens-oAuth2ClientGrantTypesL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientGrantTypesL f OAuth2Client{..} = (\oAuth2ClientGrantTypes -> OAuth2Client { oAuth2ClientGrantTypes, ..} ) <$> f oAuth2ClientGrantTypes-{-# INLINE oAuth2ClientGrantTypesL #-}---- | 'oAuth2ClientJwks' Lens-oAuth2ClientJwksL :: Lens_' OAuth2Client (Maybe A.Value)-oAuth2ClientJwksL f OAuth2Client{..} = (\oAuth2ClientJwks -> OAuth2Client { oAuth2ClientJwks, ..} ) <$> f oAuth2ClientJwks-{-# INLINE oAuth2ClientJwksL #-}---- | 'oAuth2ClientJwksUri' Lens-oAuth2ClientJwksUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientJwksUriL f OAuth2Client{..} = (\oAuth2ClientJwksUri -> OAuth2Client { oAuth2ClientJwksUri, ..} ) <$> f oAuth2ClientJwksUri-{-# INLINE oAuth2ClientJwksUriL #-}---- | 'oAuth2ClientLogoUri' Lens-oAuth2ClientLogoUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientLogoUriL f OAuth2Client{..} = (\oAuth2ClientLogoUri -> OAuth2Client { oAuth2ClientLogoUri, ..} ) <$> f oAuth2ClientLogoUri-{-# INLINE oAuth2ClientLogoUriL #-}---- | 'oAuth2ClientMetadata' Lens-oAuth2ClientMetadataL :: Lens_' OAuth2Client (Maybe A.Value)-oAuth2ClientMetadataL f OAuth2Client{..} = (\oAuth2ClientMetadata -> OAuth2Client { oAuth2ClientMetadata, ..} ) <$> f oAuth2ClientMetadata-{-# INLINE oAuth2ClientMetadataL #-}---- | 'oAuth2ClientOwner' Lens-oAuth2ClientOwnerL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientOwnerL f OAuth2Client{..} = (\oAuth2ClientOwner -> OAuth2Client { oAuth2ClientOwner, ..} ) <$> f oAuth2ClientOwner-{-# INLINE oAuth2ClientOwnerL #-}---- | 'oAuth2ClientPolicyUri' Lens-oAuth2ClientPolicyUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientPolicyUriL f OAuth2Client{..} = (\oAuth2ClientPolicyUri -> OAuth2Client { oAuth2ClientPolicyUri, ..} ) <$> f oAuth2ClientPolicyUri-{-# INLINE oAuth2ClientPolicyUriL #-}---- | 'oAuth2ClientPostLogoutRedirectUris' Lens-oAuth2ClientPostLogoutRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientPostLogoutRedirectUrisL f OAuth2Client{..} = (\oAuth2ClientPostLogoutRedirectUris -> OAuth2Client { oAuth2ClientPostLogoutRedirectUris, ..} ) <$> f oAuth2ClientPostLogoutRedirectUris-{-# INLINE oAuth2ClientPostLogoutRedirectUrisL #-}---- | 'oAuth2ClientRedirectUris' Lens-oAuth2ClientRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientRedirectUrisL f OAuth2Client{..} = (\oAuth2ClientRedirectUris -> OAuth2Client { oAuth2ClientRedirectUris, ..} ) <$> f oAuth2ClientRedirectUris-{-# INLINE oAuth2ClientRedirectUrisL #-}---- | 'oAuth2ClientRequestObjectSigningAlg' Lens-oAuth2ClientRequestObjectSigningAlgL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientRequestObjectSigningAlgL f OAuth2Client{..} = (\oAuth2ClientRequestObjectSigningAlg -> OAuth2Client { oAuth2ClientRequestObjectSigningAlg, ..} ) <$> f oAuth2ClientRequestObjectSigningAlg-{-# INLINE oAuth2ClientRequestObjectSigningAlgL #-}---- | 'oAuth2ClientRequestUris' Lens-oAuth2ClientRequestUrisL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientRequestUrisL f OAuth2Client{..} = (\oAuth2ClientRequestUris -> OAuth2Client { oAuth2ClientRequestUris, ..} ) <$> f oAuth2ClientRequestUris-{-# INLINE oAuth2ClientRequestUrisL #-}---- | 'oAuth2ClientResponseTypes' Lens-oAuth2ClientResponseTypesL :: Lens_' OAuth2Client (Maybe [Text])-oAuth2ClientResponseTypesL f OAuth2Client{..} = (\oAuth2ClientResponseTypes -> OAuth2Client { oAuth2ClientResponseTypes, ..} ) <$> f oAuth2ClientResponseTypes-{-# INLINE oAuth2ClientResponseTypesL #-}---- | 'oAuth2ClientScope' Lens-oAuth2ClientScopeL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientScopeL f OAuth2Client{..} = (\oAuth2ClientScope -> OAuth2Client { oAuth2ClientScope, ..} ) <$> f oAuth2ClientScope-{-# INLINE oAuth2ClientScopeL #-}---- | 'oAuth2ClientSectorIdentifierUri' Lens-oAuth2ClientSectorIdentifierUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientSectorIdentifierUriL f OAuth2Client{..} = (\oAuth2ClientSectorIdentifierUri -> OAuth2Client { oAuth2ClientSectorIdentifierUri, ..} ) <$> f oAuth2ClientSectorIdentifierUri-{-# INLINE oAuth2ClientSectorIdentifierUriL #-}---- | 'oAuth2ClientSubjectType' Lens-oAuth2ClientSubjectTypeL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientSubjectTypeL f OAuth2Client{..} = (\oAuth2ClientSubjectType -> OAuth2Client { oAuth2ClientSubjectType, ..} ) <$> f oAuth2ClientSubjectType-{-# INLINE oAuth2ClientSubjectTypeL #-}---- | 'oAuth2ClientTokenEndpointAuthMethod' Lens-oAuth2ClientTokenEndpointAuthMethodL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientTokenEndpointAuthMethodL f OAuth2Client{..} = (\oAuth2ClientTokenEndpointAuthMethod -> OAuth2Client { oAuth2ClientTokenEndpointAuthMethod, ..} ) <$> f oAuth2ClientTokenEndpointAuthMethod-{-# INLINE oAuth2ClientTokenEndpointAuthMethodL #-}---- | 'oAuth2ClientTokenEndpointAuthSigningAlg' Lens-oAuth2ClientTokenEndpointAuthSigningAlgL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientTokenEndpointAuthSigningAlgL f OAuth2Client{..} = (\oAuth2ClientTokenEndpointAuthSigningAlg -> OAuth2Client { oAuth2ClientTokenEndpointAuthSigningAlg, ..} ) <$> f oAuth2ClientTokenEndpointAuthSigningAlg-{-# INLINE oAuth2ClientTokenEndpointAuthSigningAlgL #-}---- | 'oAuth2ClientTosUri' Lens-oAuth2ClientTosUriL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientTosUriL f OAuth2Client{..} = (\oAuth2ClientTosUri -> OAuth2Client { oAuth2ClientTosUri, ..} ) <$> f oAuth2ClientTosUri-{-# INLINE oAuth2ClientTosUriL #-}---- | 'oAuth2ClientUpdatedAt' Lens-oAuth2ClientUpdatedAtL :: Lens_' OAuth2Client (Maybe DateTime)-oAuth2ClientUpdatedAtL f OAuth2Client{..} = (\oAuth2ClientUpdatedAt -> OAuth2Client { oAuth2ClientUpdatedAt, ..} ) <$> f oAuth2ClientUpdatedAt-{-# INLINE oAuth2ClientUpdatedAtL #-}---- | 'oAuth2ClientUserinfoSignedResponseAlg' Lens-oAuth2ClientUserinfoSignedResponseAlgL :: Lens_' OAuth2Client (Maybe Text)-oAuth2ClientUserinfoSignedResponseAlgL f OAuth2Client{..} = (\oAuth2ClientUserinfoSignedResponseAlg -> OAuth2Client { oAuth2ClientUserinfoSignedResponseAlg, ..} ) <$> f oAuth2ClientUserinfoSignedResponseAlg-{-# INLINE oAuth2ClientUserinfoSignedResponseAlgL #-}------ * OAuth2TokenIntrospection---- | 'oAuth2TokenIntrospectionActive' Lens-oAuth2TokenIntrospectionActiveL :: Lens_' OAuth2TokenIntrospection (Bool)-oAuth2TokenIntrospectionActiveL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionActive -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionActive, ..} ) <$> f oAuth2TokenIntrospectionActive-{-# INLINE oAuth2TokenIntrospectionActiveL #-}---- | 'oAuth2TokenIntrospectionAud' Lens-oAuth2TokenIntrospectionAudL :: Lens_' OAuth2TokenIntrospection (Maybe [Text])-oAuth2TokenIntrospectionAudL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionAud -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionAud, ..} ) <$> f oAuth2TokenIntrospectionAud-{-# INLINE oAuth2TokenIntrospectionAudL #-}---- | 'oAuth2TokenIntrospectionClientId' Lens-oAuth2TokenIntrospectionClientIdL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionClientIdL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionClientId -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionClientId, ..} ) <$> f oAuth2TokenIntrospectionClientId-{-# INLINE oAuth2TokenIntrospectionClientIdL #-}---- | 'oAuth2TokenIntrospectionExp' Lens-oAuth2TokenIntrospectionExpL :: Lens_' OAuth2TokenIntrospection (Maybe Integer)-oAuth2TokenIntrospectionExpL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionExp -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionExp, ..} ) <$> f oAuth2TokenIntrospectionExp-{-# INLINE oAuth2TokenIntrospectionExpL #-}---- | 'oAuth2TokenIntrospectionExt' Lens-oAuth2TokenIntrospectionExtL :: Lens_' OAuth2TokenIntrospection (Maybe A.Value)-oAuth2TokenIntrospectionExtL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionExt -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionExt, ..} ) <$> f oAuth2TokenIntrospectionExt-{-# INLINE oAuth2TokenIntrospectionExtL #-}---- | 'oAuth2TokenIntrospectionIat' Lens-oAuth2TokenIntrospectionIatL :: Lens_' OAuth2TokenIntrospection (Maybe Integer)-oAuth2TokenIntrospectionIatL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionIat -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionIat, ..} ) <$> f oAuth2TokenIntrospectionIat-{-# INLINE oAuth2TokenIntrospectionIatL #-}---- | 'oAuth2TokenIntrospectionIss' Lens-oAuth2TokenIntrospectionIssL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionIssL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionIss -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionIss, ..} ) <$> f oAuth2TokenIntrospectionIss-{-# INLINE oAuth2TokenIntrospectionIssL #-}---- | 'oAuth2TokenIntrospectionNbf' Lens-oAuth2TokenIntrospectionNbfL :: Lens_' OAuth2TokenIntrospection (Maybe Integer)-oAuth2TokenIntrospectionNbfL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionNbf -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionNbf, ..} ) <$> f oAuth2TokenIntrospectionNbf-{-# INLINE oAuth2TokenIntrospectionNbfL #-}---- | 'oAuth2TokenIntrospectionObfuscatedSubject' Lens-oAuth2TokenIntrospectionObfuscatedSubjectL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionObfuscatedSubjectL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionObfuscatedSubject -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionObfuscatedSubject, ..} ) <$> f oAuth2TokenIntrospectionObfuscatedSubject-{-# INLINE oAuth2TokenIntrospectionObfuscatedSubjectL #-}---- | 'oAuth2TokenIntrospectionScope' Lens-oAuth2TokenIntrospectionScopeL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionScopeL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionScope -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionScope, ..} ) <$> f oAuth2TokenIntrospectionScope-{-# INLINE oAuth2TokenIntrospectionScopeL #-}---- | 'oAuth2TokenIntrospectionSub' Lens-oAuth2TokenIntrospectionSubL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionSubL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionSub -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionSub, ..} ) <$> f oAuth2TokenIntrospectionSub-{-# INLINE oAuth2TokenIntrospectionSubL #-}---- | 'oAuth2TokenIntrospectionTokenType' Lens-oAuth2TokenIntrospectionTokenTypeL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionTokenTypeL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionTokenType -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionTokenType, ..} ) <$> f oAuth2TokenIntrospectionTokenType-{-# INLINE oAuth2TokenIntrospectionTokenTypeL #-}---- | 'oAuth2TokenIntrospectionTokenUse' Lens-oAuth2TokenIntrospectionTokenUseL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionTokenUseL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionTokenUse -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionTokenUse, ..} ) <$> f oAuth2TokenIntrospectionTokenUse-{-# INLINE oAuth2TokenIntrospectionTokenUseL #-}---- | 'oAuth2TokenIntrospectionUsername' Lens-oAuth2TokenIntrospectionUsernameL :: Lens_' OAuth2TokenIntrospection (Maybe Text)-oAuth2TokenIntrospectionUsernameL f OAuth2TokenIntrospection{..} = (\oAuth2TokenIntrospectionUsername -> OAuth2TokenIntrospection { oAuth2TokenIntrospectionUsername, ..} ) <$> f oAuth2TokenIntrospectionUsername-{-# INLINE oAuth2TokenIntrospectionUsernameL #-}------ * Oauth2TokenResponse---- | 'oauth2TokenResponseAccessToken' Lens-oauth2TokenResponseAccessTokenL :: Lens_' Oauth2TokenResponse (Maybe Text)-oauth2TokenResponseAccessTokenL f Oauth2TokenResponse{..} = (\oauth2TokenResponseAccessToken -> Oauth2TokenResponse { oauth2TokenResponseAccessToken, ..} ) <$> f oauth2TokenResponseAccessToken-{-# INLINE oauth2TokenResponseAccessTokenL #-}---- | 'oauth2TokenResponseExpiresIn' Lens-oauth2TokenResponseExpiresInL :: Lens_' Oauth2TokenResponse (Maybe Integer)-oauth2TokenResponseExpiresInL f Oauth2TokenResponse{..} = (\oauth2TokenResponseExpiresIn -> Oauth2TokenResponse { oauth2TokenResponseExpiresIn, ..} ) <$> f oauth2TokenResponseExpiresIn-{-# INLINE oauth2TokenResponseExpiresInL #-}---- | 'oauth2TokenResponseIdToken' Lens-oauth2TokenResponseIdTokenL :: Lens_' Oauth2TokenResponse (Maybe Text)-oauth2TokenResponseIdTokenL f Oauth2TokenResponse{..} = (\oauth2TokenResponseIdToken -> Oauth2TokenResponse { oauth2TokenResponseIdToken, ..} ) <$> f oauth2TokenResponseIdToken-{-# INLINE oauth2TokenResponseIdTokenL #-}---- | 'oauth2TokenResponseRefreshToken' Lens-oauth2TokenResponseRefreshTokenL :: Lens_' Oauth2TokenResponse (Maybe Text)-oauth2TokenResponseRefreshTokenL f Oauth2TokenResponse{..} = (\oauth2TokenResponseRefreshToken -> Oauth2TokenResponse { oauth2TokenResponseRefreshToken, ..} ) <$> f oauth2TokenResponseRefreshToken-{-# INLINE oauth2TokenResponseRefreshTokenL #-}---- | 'oauth2TokenResponseScope' Lens-oauth2TokenResponseScopeL :: Lens_' Oauth2TokenResponse (Maybe Text)-oauth2TokenResponseScopeL f Oauth2TokenResponse{..} = (\oauth2TokenResponseScope -> Oauth2TokenResponse { oauth2TokenResponseScope, ..} ) <$> f oauth2TokenResponseScope-{-# INLINE oauth2TokenResponseScopeL #-}---- | 'oauth2TokenResponseTokenType' Lens-oauth2TokenResponseTokenTypeL :: Lens_' Oauth2TokenResponse (Maybe Text)-oauth2TokenResponseTokenTypeL f Oauth2TokenResponse{..} = (\oauth2TokenResponseTokenType -> Oauth2TokenResponse { oauth2TokenResponseTokenType, ..} ) <$> f oauth2TokenResponseTokenType-{-# INLINE oauth2TokenResponseTokenTypeL #-}------ * OpenIDConnectContext---- | 'openIDConnectContextAcrValues' Lens-openIDConnectContextAcrValuesL :: Lens_' OpenIDConnectContext (Maybe [Text])-openIDConnectContextAcrValuesL f OpenIDConnectContext{..} = (\openIDConnectContextAcrValues -> OpenIDConnectContext { openIDConnectContextAcrValues, ..} ) <$> f openIDConnectContextAcrValues-{-# INLINE openIDConnectContextAcrValuesL #-}---- | 'openIDConnectContextDisplay' Lens-openIDConnectContextDisplayL :: Lens_' OpenIDConnectContext (Maybe Text)-openIDConnectContextDisplayL f OpenIDConnectContext{..} = (\openIDConnectContextDisplay -> OpenIDConnectContext { openIDConnectContextDisplay, ..} ) <$> f openIDConnectContextDisplay-{-# INLINE openIDConnectContextDisplayL #-}---- | 'openIDConnectContextIdTokenHintClaims' Lens-openIDConnectContextIdTokenHintClaimsL :: Lens_' OpenIDConnectContext (Maybe A.Value)-openIDConnectContextIdTokenHintClaimsL f OpenIDConnectContext{..} = (\openIDConnectContextIdTokenHintClaims -> OpenIDConnectContext { openIDConnectContextIdTokenHintClaims, ..} ) <$> f openIDConnectContextIdTokenHintClaims-{-# INLINE openIDConnectContextIdTokenHintClaimsL #-}---- | 'openIDConnectContextLoginHint' Lens-openIDConnectContextLoginHintL :: Lens_' OpenIDConnectContext (Maybe Text)-openIDConnectContextLoginHintL f OpenIDConnectContext{..} = (\openIDConnectContextLoginHint -> OpenIDConnectContext { openIDConnectContextLoginHint, ..} ) <$> f openIDConnectContextLoginHint-{-# INLINE openIDConnectContextLoginHintL #-}---- | 'openIDConnectContextUiLocales' Lens-openIDConnectContextUiLocalesL :: Lens_' OpenIDConnectContext (Maybe [Text])-openIDConnectContextUiLocalesL f OpenIDConnectContext{..} = (\openIDConnectContextUiLocales -> OpenIDConnectContext { openIDConnectContextUiLocales, ..} ) <$> f openIDConnectContextUiLocales-{-# INLINE openIDConnectContextUiLocalesL #-}------ * PluginConfig---- | 'pluginConfigArgs' Lens-pluginConfigArgsL :: Lens_' PluginConfig (PluginConfigArgs)-pluginConfigArgsL f PluginConfig{..} = (\pluginConfigArgs -> PluginConfig { pluginConfigArgs, ..} ) <$> f pluginConfigArgs-{-# INLINE pluginConfigArgsL #-}---- | 'pluginConfigDescription' Lens-pluginConfigDescriptionL :: Lens_' PluginConfig (Text)-pluginConfigDescriptionL f PluginConfig{..} = (\pluginConfigDescription -> PluginConfig { pluginConfigDescription, ..} ) <$> f pluginConfigDescription-{-# INLINE pluginConfigDescriptionL #-}---- | 'pluginConfigDockerVersion' Lens-pluginConfigDockerVersionL :: Lens_' PluginConfig (Maybe Text)-pluginConfigDockerVersionL f PluginConfig{..} = (\pluginConfigDockerVersion -> PluginConfig { pluginConfigDockerVersion, ..} ) <$> f pluginConfigDockerVersion-{-# INLINE pluginConfigDockerVersionL #-}---- | 'pluginConfigDocumentation' Lens-pluginConfigDocumentationL :: Lens_' PluginConfig (Text)-pluginConfigDocumentationL f PluginConfig{..} = (\pluginConfigDocumentation -> PluginConfig { pluginConfigDocumentation, ..} ) <$> f pluginConfigDocumentation-{-# INLINE pluginConfigDocumentationL #-}---- | 'pluginConfigEntrypoint' Lens-pluginConfigEntrypointL :: Lens_' PluginConfig ([Text])-pluginConfigEntrypointL f PluginConfig{..} = (\pluginConfigEntrypoint -> PluginConfig { pluginConfigEntrypoint, ..} ) <$> f pluginConfigEntrypoint-{-# INLINE pluginConfigEntrypointL #-}---- | 'pluginConfigEnv' Lens-pluginConfigEnvL :: Lens_' PluginConfig ([PluginEnv])-pluginConfigEnvL f PluginConfig{..} = (\pluginConfigEnv -> PluginConfig { pluginConfigEnv, ..} ) <$> f pluginConfigEnv-{-# INLINE pluginConfigEnvL #-}---- | 'pluginConfigInterface' Lens-pluginConfigInterfaceL :: Lens_' PluginConfig (PluginConfigInterface)-pluginConfigInterfaceL f PluginConfig{..} = (\pluginConfigInterface -> PluginConfig { pluginConfigInterface, ..} ) <$> f pluginConfigInterface-{-# INLINE pluginConfigInterfaceL #-}---- | 'pluginConfigIpcHost' Lens-pluginConfigIpcHostL :: Lens_' PluginConfig (Bool)-pluginConfigIpcHostL f PluginConfig{..} = (\pluginConfigIpcHost -> PluginConfig { pluginConfigIpcHost, ..} ) <$> f pluginConfigIpcHost-{-# INLINE pluginConfigIpcHostL #-}---- | 'pluginConfigLinux' Lens-pluginConfigLinuxL :: Lens_' PluginConfig (PluginConfigLinux)-pluginConfigLinuxL f PluginConfig{..} = (\pluginConfigLinux -> PluginConfig { pluginConfigLinux, ..} ) <$> f pluginConfigLinux-{-# INLINE pluginConfigLinuxL #-}---- | 'pluginConfigMounts' Lens-pluginConfigMountsL :: Lens_' PluginConfig ([PluginMount])-pluginConfigMountsL f PluginConfig{..} = (\pluginConfigMounts -> PluginConfig { pluginConfigMounts, ..} ) <$> f pluginConfigMounts-{-# INLINE pluginConfigMountsL #-}---- | 'pluginConfigNetwork' Lens-pluginConfigNetworkL :: Lens_' PluginConfig (PluginConfigNetwork)-pluginConfigNetworkL f PluginConfig{..} = (\pluginConfigNetwork -> PluginConfig { pluginConfigNetwork, ..} ) <$> f pluginConfigNetwork-{-# INLINE pluginConfigNetworkL #-}---- | 'pluginConfigPidHost' Lens-pluginConfigPidHostL :: Lens_' PluginConfig (Bool)-pluginConfigPidHostL f PluginConfig{..} = (\pluginConfigPidHost -> PluginConfig { pluginConfigPidHost, ..} ) <$> f pluginConfigPidHost-{-# INLINE pluginConfigPidHostL #-}---- | 'pluginConfigPropagatedMount' Lens-pluginConfigPropagatedMountL :: Lens_' PluginConfig (Text)-pluginConfigPropagatedMountL f PluginConfig{..} = (\pluginConfigPropagatedMount -> PluginConfig { pluginConfigPropagatedMount, ..} ) <$> f pluginConfigPropagatedMount-{-# INLINE pluginConfigPropagatedMountL #-}---- | 'pluginConfigUser' Lens-pluginConfigUserL :: Lens_' PluginConfig (Maybe PluginConfigUser)-pluginConfigUserL f PluginConfig{..} = (\pluginConfigUser -> PluginConfig { pluginConfigUser, ..} ) <$> f pluginConfigUser-{-# INLINE pluginConfigUserL #-}---- | 'pluginConfigWorkDir' Lens-pluginConfigWorkDirL :: Lens_' PluginConfig (Text)-pluginConfigWorkDirL f PluginConfig{..} = (\pluginConfigWorkDir -> PluginConfig { pluginConfigWorkDir, ..} ) <$> f pluginConfigWorkDir-{-# INLINE pluginConfigWorkDirL #-}---- | 'pluginConfigRootfs' Lens-pluginConfigRootfsL :: Lens_' PluginConfig (Maybe PluginConfigRootfs)-pluginConfigRootfsL f PluginConfig{..} = (\pluginConfigRootfs -> PluginConfig { pluginConfigRootfs, ..} ) <$> f pluginConfigRootfs-{-# INLINE pluginConfigRootfsL #-}------ * PluginConfigArgs---- | 'pluginConfigArgsDescription' Lens-pluginConfigArgsDescriptionL :: Lens_' PluginConfigArgs (Text)-pluginConfigArgsDescriptionL f PluginConfigArgs{..} = (\pluginConfigArgsDescription -> PluginConfigArgs { pluginConfigArgsDescription, ..} ) <$> f pluginConfigArgsDescription-{-# INLINE pluginConfigArgsDescriptionL #-}---- | 'pluginConfigArgsName' Lens-pluginConfigArgsNameL :: Lens_' PluginConfigArgs (Text)-pluginConfigArgsNameL f PluginConfigArgs{..} = (\pluginConfigArgsName -> PluginConfigArgs { pluginConfigArgsName, ..} ) <$> f pluginConfigArgsName-{-# INLINE pluginConfigArgsNameL #-}---- | 'pluginConfigArgsSettable' Lens-pluginConfigArgsSettableL :: Lens_' PluginConfigArgs ([Text])-pluginConfigArgsSettableL f PluginConfigArgs{..} = (\pluginConfigArgsSettable -> PluginConfigArgs { pluginConfigArgsSettable, ..} ) <$> f pluginConfigArgsSettable-{-# INLINE pluginConfigArgsSettableL #-}---- | 'pluginConfigArgsValue' Lens-pluginConfigArgsValueL :: Lens_' PluginConfigArgs ([Text])-pluginConfigArgsValueL f PluginConfigArgs{..} = (\pluginConfigArgsValue -> PluginConfigArgs { pluginConfigArgsValue, ..} ) <$> f pluginConfigArgsValue-{-# INLINE pluginConfigArgsValueL #-}------ * PluginConfigInterface---- | 'pluginConfigInterfaceProtocolScheme' Lens-pluginConfigInterfaceProtocolSchemeL :: Lens_' PluginConfigInterface (Maybe Text)-pluginConfigInterfaceProtocolSchemeL f PluginConfigInterface{..} = (\pluginConfigInterfaceProtocolScheme -> PluginConfigInterface { pluginConfigInterfaceProtocolScheme, ..} ) <$> f pluginConfigInterfaceProtocolScheme-{-# INLINE pluginConfigInterfaceProtocolSchemeL #-}---- | 'pluginConfigInterfaceSocket' Lens-pluginConfigInterfaceSocketL :: Lens_' PluginConfigInterface (Text)-pluginConfigInterfaceSocketL f PluginConfigInterface{..} = (\pluginConfigInterfaceSocket -> PluginConfigInterface { pluginConfigInterfaceSocket, ..} ) <$> f pluginConfigInterfaceSocket-{-# INLINE pluginConfigInterfaceSocketL #-}---- | 'pluginConfigInterfaceTypes' Lens-pluginConfigInterfaceTypesL :: Lens_' PluginConfigInterface ([PluginInterfaceType])-pluginConfigInterfaceTypesL f PluginConfigInterface{..} = (\pluginConfigInterfaceTypes -> PluginConfigInterface { pluginConfigInterfaceTypes, ..} ) <$> f pluginConfigInterfaceTypes-{-# INLINE pluginConfigInterfaceTypesL #-}------ * PluginConfigLinux---- | 'pluginConfigLinuxAllowAllDevices' Lens-pluginConfigLinuxAllowAllDevicesL :: Lens_' PluginConfigLinux (Bool)-pluginConfigLinuxAllowAllDevicesL f PluginConfigLinux{..} = (\pluginConfigLinuxAllowAllDevices -> PluginConfigLinux { pluginConfigLinuxAllowAllDevices, ..} ) <$> f pluginConfigLinuxAllowAllDevices-{-# INLINE pluginConfigLinuxAllowAllDevicesL #-}---- | 'pluginConfigLinuxCapabilities' Lens-pluginConfigLinuxCapabilitiesL :: Lens_' PluginConfigLinux ([Text])-pluginConfigLinuxCapabilitiesL f PluginConfigLinux{..} = (\pluginConfigLinuxCapabilities -> PluginConfigLinux { pluginConfigLinuxCapabilities, ..} ) <$> f pluginConfigLinuxCapabilities-{-# INLINE pluginConfigLinuxCapabilitiesL #-}---- | 'pluginConfigLinuxDevices' Lens-pluginConfigLinuxDevicesL :: Lens_' PluginConfigLinux ([PluginDevice])-pluginConfigLinuxDevicesL f PluginConfigLinux{..} = (\pluginConfigLinuxDevices -> PluginConfigLinux { pluginConfigLinuxDevices, ..} ) <$> f pluginConfigLinuxDevices-{-# INLINE pluginConfigLinuxDevicesL #-}------ * PluginConfigNetwork---- | 'pluginConfigNetworkType' Lens-pluginConfigNetworkTypeL :: Lens_' PluginConfigNetwork (Text)-pluginConfigNetworkTypeL f PluginConfigNetwork{..} = (\pluginConfigNetworkType -> PluginConfigNetwork { pluginConfigNetworkType, ..} ) <$> f pluginConfigNetworkType-{-# INLINE pluginConfigNetworkTypeL #-}------ * PluginConfigRootfs---- | 'pluginConfigRootfsDiffIds' Lens-pluginConfigRootfsDiffIdsL :: Lens_' PluginConfigRootfs (Maybe [Text])-pluginConfigRootfsDiffIdsL f PluginConfigRootfs{..} = (\pluginConfigRootfsDiffIds -> PluginConfigRootfs { pluginConfigRootfsDiffIds, ..} ) <$> f pluginConfigRootfsDiffIds-{-# INLINE pluginConfigRootfsDiffIdsL #-}---- | 'pluginConfigRootfsType' Lens-pluginConfigRootfsTypeL :: Lens_' PluginConfigRootfs (Maybe Text)-pluginConfigRootfsTypeL f PluginConfigRootfs{..} = (\pluginConfigRootfsType -> PluginConfigRootfs { pluginConfigRootfsType, ..} ) <$> f pluginConfigRootfsType-{-# INLINE pluginConfigRootfsTypeL #-}------ * PluginConfigUser---- | 'pluginConfigUserGid' Lens-pluginConfigUserGidL :: Lens_' PluginConfigUser (Maybe Int)-pluginConfigUserGidL f PluginConfigUser{..} = (\pluginConfigUserGid -> PluginConfigUser { pluginConfigUserGid, ..} ) <$> f pluginConfigUserGid-{-# INLINE pluginConfigUserGidL #-}---- | 'pluginConfigUserUid' Lens-pluginConfigUserUidL :: Lens_' PluginConfigUser (Maybe Int)-pluginConfigUserUidL f PluginConfigUser{..} = (\pluginConfigUserUid -> PluginConfigUser { pluginConfigUserUid, ..} ) <$> f pluginConfigUserUid-{-# INLINE pluginConfigUserUidL #-}------ * PluginDevice---- | 'pluginDeviceDescription' Lens-pluginDeviceDescriptionL :: Lens_' PluginDevice (Text)-pluginDeviceDescriptionL f PluginDevice{..} = (\pluginDeviceDescription -> PluginDevice { pluginDeviceDescription, ..} ) <$> f pluginDeviceDescription-{-# INLINE pluginDeviceDescriptionL #-}---- | 'pluginDeviceName' Lens-pluginDeviceNameL :: Lens_' PluginDevice (Text)-pluginDeviceNameL f PluginDevice{..} = (\pluginDeviceName -> PluginDevice { pluginDeviceName, ..} ) <$> f pluginDeviceName-{-# INLINE pluginDeviceNameL #-}---- | 'pluginDevicePath' Lens-pluginDevicePathL :: Lens_' PluginDevice (Text)-pluginDevicePathL f PluginDevice{..} = (\pluginDevicePath -> PluginDevice { pluginDevicePath, ..} ) <$> f pluginDevicePath-{-# INLINE pluginDevicePathL #-}---- | 'pluginDeviceSettable' Lens-pluginDeviceSettableL :: Lens_' PluginDevice ([Text])-pluginDeviceSettableL f PluginDevice{..} = (\pluginDeviceSettable -> PluginDevice { pluginDeviceSettable, ..} ) <$> f pluginDeviceSettable-{-# INLINE pluginDeviceSettableL #-}------ * PluginEnv---- | 'pluginEnvDescription' Lens-pluginEnvDescriptionL :: Lens_' PluginEnv (Text)-pluginEnvDescriptionL f PluginEnv{..} = (\pluginEnvDescription -> PluginEnv { pluginEnvDescription, ..} ) <$> f pluginEnvDescription-{-# INLINE pluginEnvDescriptionL #-}---- | 'pluginEnvName' Lens-pluginEnvNameL :: Lens_' PluginEnv (Text)-pluginEnvNameL f PluginEnv{..} = (\pluginEnvName -> PluginEnv { pluginEnvName, ..} ) <$> f pluginEnvName-{-# INLINE pluginEnvNameL #-}---- | 'pluginEnvSettable' Lens-pluginEnvSettableL :: Lens_' PluginEnv ([Text])-pluginEnvSettableL f PluginEnv{..} = (\pluginEnvSettable -> PluginEnv { pluginEnvSettable, ..} ) <$> f pluginEnvSettable-{-# INLINE pluginEnvSettableL #-}---- | 'pluginEnvValue' Lens-pluginEnvValueL :: Lens_' PluginEnv (Text)-pluginEnvValueL f PluginEnv{..} = (\pluginEnvValue -> PluginEnv { pluginEnvValue, ..} ) <$> f pluginEnvValue-{-# INLINE pluginEnvValueL #-}------ * PluginInterfaceType---- | 'pluginInterfaceTypeCapability' Lens-pluginInterfaceTypeCapabilityL :: Lens_' PluginInterfaceType (Text)-pluginInterfaceTypeCapabilityL f PluginInterfaceType{..} = (\pluginInterfaceTypeCapability -> PluginInterfaceType { pluginInterfaceTypeCapability, ..} ) <$> f pluginInterfaceTypeCapability-{-# INLINE pluginInterfaceTypeCapabilityL #-}---- | 'pluginInterfaceTypePrefix' Lens-pluginInterfaceTypePrefixL :: Lens_' PluginInterfaceType (Text)-pluginInterfaceTypePrefixL f PluginInterfaceType{..} = (\pluginInterfaceTypePrefix -> PluginInterfaceType { pluginInterfaceTypePrefix, ..} ) <$> f pluginInterfaceTypePrefix-{-# INLINE pluginInterfaceTypePrefixL #-}---- | 'pluginInterfaceTypeVersion' Lens-pluginInterfaceTypeVersionL :: Lens_' PluginInterfaceType (Text)-pluginInterfaceTypeVersionL f PluginInterfaceType{..} = (\pluginInterfaceTypeVersion -> PluginInterfaceType { pluginInterfaceTypeVersion, ..} ) <$> f pluginInterfaceTypeVersion-{-# INLINE pluginInterfaceTypeVersionL #-}------ * PluginMount---- | 'pluginMountDescription' Lens-pluginMountDescriptionL :: Lens_' PluginMount (Text)-pluginMountDescriptionL f PluginMount{..} = (\pluginMountDescription -> PluginMount { pluginMountDescription, ..} ) <$> f pluginMountDescription-{-# INLINE pluginMountDescriptionL #-}---- | 'pluginMountDestination' Lens-pluginMountDestinationL :: Lens_' PluginMount (Text)-pluginMountDestinationL f PluginMount{..} = (\pluginMountDestination -> PluginMount { pluginMountDestination, ..} ) <$> f pluginMountDestination-{-# INLINE pluginMountDestinationL #-}---- | 'pluginMountName' Lens-pluginMountNameL :: Lens_' PluginMount (Text)-pluginMountNameL f PluginMount{..} = (\pluginMountName -> PluginMount { pluginMountName, ..} ) <$> f pluginMountName-{-# INLINE pluginMountNameL #-}---- | 'pluginMountOptions' Lens-pluginMountOptionsL :: Lens_' PluginMount ([Text])-pluginMountOptionsL f PluginMount{..} = (\pluginMountOptions -> PluginMount { pluginMountOptions, ..} ) <$> f pluginMountOptions-{-# INLINE pluginMountOptionsL #-}---- | 'pluginMountSettable' Lens-pluginMountSettableL :: Lens_' PluginMount ([Text])-pluginMountSettableL f PluginMount{..} = (\pluginMountSettable -> PluginMount { pluginMountSettable, ..} ) <$> f pluginMountSettable-{-# INLINE pluginMountSettableL #-}---- | 'pluginMountSource' Lens-pluginMountSourceL :: Lens_' PluginMount (Text)-pluginMountSourceL f PluginMount{..} = (\pluginMountSource -> PluginMount { pluginMountSource, ..} ) <$> f pluginMountSource-{-# INLINE pluginMountSourceL #-}---- | 'pluginMountType' Lens-pluginMountTypeL :: Lens_' PluginMount (Text)-pluginMountTypeL f PluginMount{..} = (\pluginMountType -> PluginMount { pluginMountType, ..} ) <$> f pluginMountType-{-# INLINE pluginMountTypeL #-}------ * PluginSettings---- | 'pluginSettingsArgs' Lens-pluginSettingsArgsL :: Lens_' PluginSettings ([Text])-pluginSettingsArgsL f PluginSettings{..} = (\pluginSettingsArgs -> PluginSettings { pluginSettingsArgs, ..} ) <$> f pluginSettingsArgs-{-# INLINE pluginSettingsArgsL #-}---- | 'pluginSettingsDevices' Lens-pluginSettingsDevicesL :: Lens_' PluginSettings ([PluginDevice])-pluginSettingsDevicesL f PluginSettings{..} = (\pluginSettingsDevices -> PluginSettings { pluginSettingsDevices, ..} ) <$> f pluginSettingsDevices-{-# INLINE pluginSettingsDevicesL #-}---- | 'pluginSettingsEnv' Lens-pluginSettingsEnvL :: Lens_' PluginSettings ([Text])-pluginSettingsEnvL f PluginSettings{..} = (\pluginSettingsEnv -> PluginSettings { pluginSettingsEnv, ..} ) <$> f pluginSettingsEnv-{-# INLINE pluginSettingsEnvL #-}---- | 'pluginSettingsMounts' Lens-pluginSettingsMountsL :: Lens_' PluginSettings ([PluginMount])-pluginSettingsMountsL f PluginSettings{..} = (\pluginSettingsMounts -> PluginSettings { pluginSettingsMounts, ..} ) <$> f pluginSettingsMounts-{-# INLINE pluginSettingsMountsL #-}------ * PreviousConsentSession---- | 'previousConsentSessionConsentRequest' Lens-previousConsentSessionConsentRequestL :: Lens_' PreviousConsentSession (Maybe ConsentRequest)-previousConsentSessionConsentRequestL f PreviousConsentSession{..} = (\previousConsentSessionConsentRequest -> PreviousConsentSession { previousConsentSessionConsentRequest, ..} ) <$> f previousConsentSessionConsentRequest-{-# INLINE previousConsentSessionConsentRequestL #-}---- | 'previousConsentSessionGrantAccessTokenAudience' Lens-previousConsentSessionGrantAccessTokenAudienceL :: Lens_' PreviousConsentSession (Maybe [Text])-previousConsentSessionGrantAccessTokenAudienceL f PreviousConsentSession{..} = (\previousConsentSessionGrantAccessTokenAudience -> PreviousConsentSession { previousConsentSessionGrantAccessTokenAudience, ..} ) <$> f previousConsentSessionGrantAccessTokenAudience-{-# INLINE previousConsentSessionGrantAccessTokenAudienceL #-}---- | 'previousConsentSessionGrantScope' Lens-previousConsentSessionGrantScopeL :: Lens_' PreviousConsentSession (Maybe [Text])-previousConsentSessionGrantScopeL f PreviousConsentSession{..} = (\previousConsentSessionGrantScope -> PreviousConsentSession { previousConsentSessionGrantScope, ..} ) <$> f previousConsentSessionGrantScope-{-# INLINE previousConsentSessionGrantScopeL #-}---- | 'previousConsentSessionHandledAt' Lens-previousConsentSessionHandledAtL :: Lens_' PreviousConsentSession (Maybe DateTime)-previousConsentSessionHandledAtL f PreviousConsentSession{..} = (\previousConsentSessionHandledAt -> PreviousConsentSession { previousConsentSessionHandledAt, ..} ) <$> f previousConsentSessionHandledAt-{-# INLINE previousConsentSessionHandledAtL #-}---- | 'previousConsentSessionRemember' Lens-previousConsentSessionRememberL :: Lens_' PreviousConsentSession (Maybe Bool)-previousConsentSessionRememberL f PreviousConsentSession{..} = (\previousConsentSessionRemember -> PreviousConsentSession { previousConsentSessionRemember, ..} ) <$> f previousConsentSessionRemember-{-# INLINE previousConsentSessionRememberL #-}---- | 'previousConsentSessionRememberFor' Lens-previousConsentSessionRememberForL :: Lens_' PreviousConsentSession (Maybe Integer)-previousConsentSessionRememberForL f PreviousConsentSession{..} = (\previousConsentSessionRememberFor -> PreviousConsentSession { previousConsentSessionRememberFor, ..} ) <$> f previousConsentSessionRememberFor-{-# INLINE previousConsentSessionRememberForL #-}---- | 'previousConsentSessionSession' Lens-previousConsentSessionSessionL :: Lens_' PreviousConsentSession (Maybe ConsentRequestSession)-previousConsentSessionSessionL f PreviousConsentSession{..} = (\previousConsentSessionSession -> PreviousConsentSession { previousConsentSessionSession, ..} ) <$> f previousConsentSessionSession-{-# INLINE previousConsentSessionSessionL #-}------ * RejectRequest---- | 'rejectRequestError' Lens-rejectRequestErrorL :: Lens_' RejectRequest (Maybe Text)-rejectRequestErrorL f RejectRequest{..} = (\rejectRequestError -> RejectRequest { rejectRequestError, ..} ) <$> f rejectRequestError-{-# INLINE rejectRequestErrorL #-}---- | 'rejectRequestErrorDebug' Lens-rejectRequestErrorDebugL :: Lens_' RejectRequest (Maybe Text)-rejectRequestErrorDebugL f RejectRequest{..} = (\rejectRequestErrorDebug -> RejectRequest { rejectRequestErrorDebug, ..} ) <$> f rejectRequestErrorDebug-{-# INLINE rejectRequestErrorDebugL #-}---- | 'rejectRequestErrorDescription' Lens-rejectRequestErrorDescriptionL :: Lens_' RejectRequest (Maybe Text)-rejectRequestErrorDescriptionL f RejectRequest{..} = (\rejectRequestErrorDescription -> RejectRequest { rejectRequestErrorDescription, ..} ) <$> f rejectRequestErrorDescription-{-# INLINE rejectRequestErrorDescriptionL #-}---- | 'rejectRequestErrorHint' Lens-rejectRequestErrorHintL :: Lens_' RejectRequest (Maybe Text)-rejectRequestErrorHintL f RejectRequest{..} = (\rejectRequestErrorHint -> RejectRequest { rejectRequestErrorHint, ..} ) <$> f rejectRequestErrorHint-{-# INLINE rejectRequestErrorHintL #-}---- | 'rejectRequestStatusCode' Lens-rejectRequestStatusCodeL :: Lens_' RejectRequest (Maybe Integer)-rejectRequestStatusCodeL f RejectRequest{..} = (\rejectRequestStatusCode -> RejectRequest { rejectRequestStatusCode, ..} ) <$> f rejectRequestStatusCode-{-# INLINE rejectRequestStatusCodeL #-}------ * UserinfoResponse---- | 'userinfoResponseBirthdate' Lens-userinfoResponseBirthdateL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseBirthdateL f UserinfoResponse{..} = (\userinfoResponseBirthdate -> UserinfoResponse { userinfoResponseBirthdate, ..} ) <$> f userinfoResponseBirthdate-{-# INLINE userinfoResponseBirthdateL #-}---- | 'userinfoResponseEmail' Lens-userinfoResponseEmailL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseEmailL f UserinfoResponse{..} = (\userinfoResponseEmail -> UserinfoResponse { userinfoResponseEmail, ..} ) <$> f userinfoResponseEmail-{-# INLINE userinfoResponseEmailL #-}---- | 'userinfoResponseEmailVerified' Lens-userinfoResponseEmailVerifiedL :: Lens_' UserinfoResponse (Maybe Bool)-userinfoResponseEmailVerifiedL f UserinfoResponse{..} = (\userinfoResponseEmailVerified -> UserinfoResponse { userinfoResponseEmailVerified, ..} ) <$> f userinfoResponseEmailVerified-{-# INLINE userinfoResponseEmailVerifiedL #-}---- | 'userinfoResponseFamilyName' Lens-userinfoResponseFamilyNameL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseFamilyNameL f UserinfoResponse{..} = (\userinfoResponseFamilyName -> UserinfoResponse { userinfoResponseFamilyName, ..} ) <$> f userinfoResponseFamilyName-{-# INLINE userinfoResponseFamilyNameL #-}---- | 'userinfoResponseGender' Lens-userinfoResponseGenderL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseGenderL f UserinfoResponse{..} = (\userinfoResponseGender -> UserinfoResponse { userinfoResponseGender, ..} ) <$> f userinfoResponseGender-{-# INLINE userinfoResponseGenderL #-}---- | 'userinfoResponseGivenName' Lens-userinfoResponseGivenNameL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseGivenNameL f UserinfoResponse{..} = (\userinfoResponseGivenName -> UserinfoResponse { userinfoResponseGivenName, ..} ) <$> f userinfoResponseGivenName-{-# INLINE userinfoResponseGivenNameL #-}---- | 'userinfoResponseLocale' Lens-userinfoResponseLocaleL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseLocaleL f UserinfoResponse{..} = (\userinfoResponseLocale -> UserinfoResponse { userinfoResponseLocale, ..} ) <$> f userinfoResponseLocale-{-# INLINE userinfoResponseLocaleL #-}---- | 'userinfoResponseMiddleName' Lens-userinfoResponseMiddleNameL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseMiddleNameL f UserinfoResponse{..} = (\userinfoResponseMiddleName -> UserinfoResponse { userinfoResponseMiddleName, ..} ) <$> f userinfoResponseMiddleName-{-# INLINE userinfoResponseMiddleNameL #-}---- | 'userinfoResponseName' Lens-userinfoResponseNameL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseNameL f UserinfoResponse{..} = (\userinfoResponseName -> UserinfoResponse { userinfoResponseName, ..} ) <$> f userinfoResponseName-{-# INLINE userinfoResponseNameL #-}---- | 'userinfoResponseNickname' Lens-userinfoResponseNicknameL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseNicknameL f UserinfoResponse{..} = (\userinfoResponseNickname -> UserinfoResponse { userinfoResponseNickname, ..} ) <$> f userinfoResponseNickname-{-# INLINE userinfoResponseNicknameL #-}---- | 'userinfoResponsePhoneNumber' Lens-userinfoResponsePhoneNumberL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponsePhoneNumberL f UserinfoResponse{..} = (\userinfoResponsePhoneNumber -> UserinfoResponse { userinfoResponsePhoneNumber, ..} ) <$> f userinfoResponsePhoneNumber-{-# INLINE userinfoResponsePhoneNumberL #-}---- | 'userinfoResponsePhoneNumberVerified' Lens-userinfoResponsePhoneNumberVerifiedL :: Lens_' UserinfoResponse (Maybe Bool)-userinfoResponsePhoneNumberVerifiedL f UserinfoResponse{..} = (\userinfoResponsePhoneNumberVerified -> UserinfoResponse { userinfoResponsePhoneNumberVerified, ..} ) <$> f userinfoResponsePhoneNumberVerified-{-# INLINE userinfoResponsePhoneNumberVerifiedL #-}---- | 'userinfoResponsePicture' Lens-userinfoResponsePictureL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponsePictureL f UserinfoResponse{..} = (\userinfoResponsePicture -> UserinfoResponse { userinfoResponsePicture, ..} ) <$> f userinfoResponsePicture-{-# INLINE userinfoResponsePictureL #-}---- | 'userinfoResponsePreferredUsername' Lens-userinfoResponsePreferredUsernameL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponsePreferredUsernameL f UserinfoResponse{..} = (\userinfoResponsePreferredUsername -> UserinfoResponse { userinfoResponsePreferredUsername, ..} ) <$> f userinfoResponsePreferredUsername-{-# INLINE userinfoResponsePreferredUsernameL #-}---- | 'userinfoResponseProfile' Lens-userinfoResponseProfileL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseProfileL f UserinfoResponse{..} = (\userinfoResponseProfile -> UserinfoResponse { userinfoResponseProfile, ..} ) <$> f userinfoResponseProfile-{-# INLINE userinfoResponseProfileL #-}---- | 'userinfoResponseSub' Lens-userinfoResponseSubL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseSubL f UserinfoResponse{..} = (\userinfoResponseSub -> UserinfoResponse { userinfoResponseSub, ..} ) <$> f userinfoResponseSub-{-# INLINE userinfoResponseSubL #-}---- | 'userinfoResponseUpdatedAt' Lens-userinfoResponseUpdatedAtL :: Lens_' UserinfoResponse (Maybe Integer)-userinfoResponseUpdatedAtL f UserinfoResponse{..} = (\userinfoResponseUpdatedAt -> UserinfoResponse { userinfoResponseUpdatedAt, ..} ) <$> f userinfoResponseUpdatedAt-{-# INLINE userinfoResponseUpdatedAtL #-}---- | 'userinfoResponseWebsite' Lens-userinfoResponseWebsiteL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseWebsiteL f UserinfoResponse{..} = (\userinfoResponseWebsite -> UserinfoResponse { userinfoResponseWebsite, ..} ) <$> f userinfoResponseWebsite-{-# INLINE userinfoResponseWebsiteL #-}---- | 'userinfoResponseZoneinfo' Lens-userinfoResponseZoneinfoL :: Lens_' UserinfoResponse (Maybe Text)-userinfoResponseZoneinfoL f UserinfoResponse{..} = (\userinfoResponseZoneinfo -> UserinfoResponse { userinfoResponseZoneinfo, ..} ) <$> f userinfoResponseZoneinfo-{-# INLINE userinfoResponseZoneinfoL #-}------ * Version---- | 'versionVersion' Lens-versionVersionL :: Lens_' Version (Maybe Text)-versionVersionL f Version{..} = (\versionVersion -> Version { versionVersion, ..} ) <$> f versionVersion-{-# INLINE versionVersionL #-}------ * Volume---- | 'volumeCreatedAt' Lens-volumeCreatedAtL :: Lens_' Volume (Maybe Text)-volumeCreatedAtL f Volume{..} = (\volumeCreatedAt -> Volume { volumeCreatedAt, ..} ) <$> f volumeCreatedAt-{-# INLINE volumeCreatedAtL #-}---- | 'volumeDriver' Lens-volumeDriverL :: Lens_' Volume (Text)-volumeDriverL f Volume{..} = (\volumeDriver -> Volume { volumeDriver, ..} ) <$> f volumeDriver-{-# INLINE volumeDriverL #-}---- | 'volumeLabels' Lens-volumeLabelsL :: Lens_' Volume ((Map.Map String Text))-volumeLabelsL f Volume{..} = (\volumeLabels -> Volume { volumeLabels, ..} ) <$> f volumeLabels-{-# INLINE volumeLabelsL #-}---- | 'volumeMountpoint' Lens-volumeMountpointL :: Lens_' Volume (Text)-volumeMountpointL f Volume{..} = (\volumeMountpoint -> Volume { volumeMountpoint, ..} ) <$> f volumeMountpoint-{-# INLINE volumeMountpointL #-}---- | 'volumeName' Lens-volumeNameL :: Lens_' Volume (Text)-volumeNameL f Volume{..} = (\volumeName -> Volume { volumeName, ..} ) <$> f volumeName-{-# INLINE volumeNameL #-}---- | 'volumeOptions' Lens-volumeOptionsL :: Lens_' Volume ((Map.Map String Text))-volumeOptionsL f Volume{..} = (\volumeOptions -> Volume { volumeOptions, ..} ) <$> f volumeOptions-{-# INLINE volumeOptionsL #-}---- | 'volumeScope' Lens-volumeScopeL :: Lens_' Volume (Text)-volumeScopeL f Volume{..} = (\volumeScope -> Volume { volumeScope, ..} ) <$> f volumeScope-{-# INLINE volumeScopeL #-}---- | 'volumeStatus' Lens-volumeStatusL :: Lens_' Volume (Maybe A.Value)-volumeStatusL f Volume{..} = (\volumeStatus -> Volume { volumeStatus, ..} ) <$> f volumeStatus-{-# INLINE volumeStatusL #-}---- | 'volumeUsageData' Lens-volumeUsageDataL :: Lens_' Volume (Maybe VolumeUsageData)-volumeUsageDataL f Volume{..} = (\volumeUsageData -> Volume { volumeUsageData, ..} ) <$> f volumeUsageData-{-# INLINE volumeUsageDataL #-}------ * VolumeUsageData---- | 'volumeUsageDataRefCount' Lens-volumeUsageDataRefCountL :: Lens_' VolumeUsageData (Integer)-volumeUsageDataRefCountL f VolumeUsageData{..} = (\volumeUsageDataRefCount -> VolumeUsageData { volumeUsageDataRefCount, ..} ) <$> f volumeUsageDataRefCount-{-# INLINE volumeUsageDataRefCountL #-}---- | 'volumeUsageDataSize' Lens-volumeUsageDataSizeL :: Lens_' VolumeUsageData (Integer)-volumeUsageDataSizeL f VolumeUsageData{..} = (\volumeUsageDataSize -> VolumeUsageData { volumeUsageDataSize, ..} ) <$> f volumeUsageDataSize-{-# INLINE volumeUsageDataSizeL #-}------ * WellKnown---- | 'wellKnownAuthorizationEndpoint' Lens-wellKnownAuthorizationEndpointL :: Lens_' WellKnown (Text)-wellKnownAuthorizationEndpointL f WellKnown{..} = (\wellKnownAuthorizationEndpoint -> WellKnown { wellKnownAuthorizationEndpoint, ..} ) <$> f wellKnownAuthorizationEndpoint-{-# INLINE wellKnownAuthorizationEndpointL #-}---- | 'wellKnownBackchannelLogoutSessionSupported' Lens-wellKnownBackchannelLogoutSessionSupportedL :: Lens_' WellKnown (Maybe Bool)-wellKnownBackchannelLogoutSessionSupportedL f WellKnown{..} = (\wellKnownBackchannelLogoutSessionSupported -> WellKnown { wellKnownBackchannelLogoutSessionSupported, ..} ) <$> f wellKnownBackchannelLogoutSessionSupported-{-# INLINE wellKnownBackchannelLogoutSessionSupportedL #-}---- | 'wellKnownBackchannelLogoutSupported' Lens-wellKnownBackchannelLogoutSupportedL :: Lens_' WellKnown (Maybe Bool)-wellKnownBackchannelLogoutSupportedL f WellKnown{..} = (\wellKnownBackchannelLogoutSupported -> WellKnown { wellKnownBackchannelLogoutSupported, ..} ) <$> f wellKnownBackchannelLogoutSupported-{-# INLINE wellKnownBackchannelLogoutSupportedL #-}---- | 'wellKnownClaimsParameterSupported' Lens-wellKnownClaimsParameterSupportedL :: Lens_' WellKnown (Maybe Bool)-wellKnownClaimsParameterSupportedL f WellKnown{..} = (\wellKnownClaimsParameterSupported -> WellKnown { wellKnownClaimsParameterSupported, ..} ) <$> f wellKnownClaimsParameterSupported-{-# INLINE wellKnownClaimsParameterSupportedL #-}---- | 'wellKnownClaimsSupported' Lens-wellKnownClaimsSupportedL :: Lens_' WellKnown (Maybe [Text])-wellKnownClaimsSupportedL f WellKnown{..} = (\wellKnownClaimsSupported -> WellKnown { wellKnownClaimsSupported, ..} ) <$> f wellKnownClaimsSupported-{-# INLINE wellKnownClaimsSupportedL #-}---- | 'wellKnownEndSessionEndpoint' Lens-wellKnownEndSessionEndpointL :: Lens_' WellKnown (Maybe Text)-wellKnownEndSessionEndpointL f WellKnown{..} = (\wellKnownEndSessionEndpoint -> WellKnown { wellKnownEndSessionEndpoint, ..} ) <$> f wellKnownEndSessionEndpoint-{-# INLINE wellKnownEndSessionEndpointL #-}---- | 'wellKnownFrontchannelLogoutSessionSupported' Lens-wellKnownFrontchannelLogoutSessionSupportedL :: Lens_' WellKnown (Maybe Bool)-wellKnownFrontchannelLogoutSessionSupportedL f WellKnown{..} = (\wellKnownFrontchannelLogoutSessionSupported -> WellKnown { wellKnownFrontchannelLogoutSessionSupported, ..} ) <$> f wellKnownFrontchannelLogoutSessionSupported-{-# INLINE wellKnownFrontchannelLogoutSessionSupportedL #-}---- | 'wellKnownFrontchannelLogoutSupported' Lens-wellKnownFrontchannelLogoutSupportedL :: Lens_' WellKnown (Maybe Bool)-wellKnownFrontchannelLogoutSupportedL f WellKnown{..} = (\wellKnownFrontchannelLogoutSupported -> WellKnown { wellKnownFrontchannelLogoutSupported, ..} ) <$> f wellKnownFrontchannelLogoutSupported-{-# INLINE wellKnownFrontchannelLogoutSupportedL #-}---- | 'wellKnownGrantTypesSupported' Lens-wellKnownGrantTypesSupportedL :: Lens_' WellKnown (Maybe [Text])-wellKnownGrantTypesSupportedL f WellKnown{..} = (\wellKnownGrantTypesSupported -> WellKnown { wellKnownGrantTypesSupported, ..} ) <$> f wellKnownGrantTypesSupported-{-# INLINE wellKnownGrantTypesSupportedL #-}---- | 'wellKnownIdTokenSigningAlgValuesSupported' Lens-wellKnownIdTokenSigningAlgValuesSupportedL :: Lens_' WellKnown ([Text])-wellKnownIdTokenSigningAlgValuesSupportedL f WellKnown{..} = (\wellKnownIdTokenSigningAlgValuesSupported -> WellKnown { wellKnownIdTokenSigningAlgValuesSupported, ..} ) <$> f wellKnownIdTokenSigningAlgValuesSupported-{-# INLINE wellKnownIdTokenSigningAlgValuesSupportedL #-}---- | 'wellKnownIssuer' Lens-wellKnownIssuerL :: Lens_' WellKnown (Text)-wellKnownIssuerL f WellKnown{..} = (\wellKnownIssuer -> WellKnown { wellKnownIssuer, ..} ) <$> f wellKnownIssuer-{-# INLINE wellKnownIssuerL #-}---- | 'wellKnownJwksUri' Lens-wellKnownJwksUriL :: Lens_' WellKnown (Text)-wellKnownJwksUriL f WellKnown{..} = (\wellKnownJwksUri -> WellKnown { wellKnownJwksUri, ..} ) <$> f wellKnownJwksUri-{-# INLINE wellKnownJwksUriL #-}---- | 'wellKnownRegistrationEndpoint' Lens-wellKnownRegistrationEndpointL :: Lens_' WellKnown (Maybe Text)-wellKnownRegistrationEndpointL f WellKnown{..} = (\wellKnownRegistrationEndpoint -> WellKnown { wellKnownRegistrationEndpoint, ..} ) <$> f wellKnownRegistrationEndpoint-{-# INLINE wellKnownRegistrationEndpointL #-}---- | 'wellKnownRequestObjectSigningAlgValuesSupported' Lens-wellKnownRequestObjectSigningAlgValuesSupportedL :: Lens_' WellKnown (Maybe [Text])-wellKnownRequestObjectSigningAlgValuesSupportedL f WellKnown{..} = (\wellKnownRequestObjectSigningAlgValuesSupported -> WellKnown { wellKnownRequestObjectSigningAlgValuesSupported, ..} ) <$> f wellKnownRequestObjectSigningAlgValuesSupported-{-# INLINE wellKnownRequestObjectSigningAlgValuesSupportedL #-}---- | 'wellKnownRequestParameterSupported' Lens-wellKnownRequestParameterSupportedL :: Lens_' WellKnown (Maybe Bool)-wellKnownRequestParameterSupportedL f WellKnown{..} = (\wellKnownRequestParameterSupported -> WellKnown { wellKnownRequestParameterSupported, ..} ) <$> f wellKnownRequestParameterSupported-{-# INLINE wellKnownRequestParameterSupportedL #-}---- | 'wellKnownRequestUriParameterSupported' Lens-wellKnownRequestUriParameterSupportedL :: Lens_' WellKnown (Maybe Bool)-wellKnownRequestUriParameterSupportedL f WellKnown{..} = (\wellKnownRequestUriParameterSupported -> WellKnown { wellKnownRequestUriParameterSupported, ..} ) <$> f wellKnownRequestUriParameterSupported-{-# INLINE wellKnownRequestUriParameterSupportedL #-}---- | 'wellKnownRequireRequestUriRegistration' Lens-wellKnownRequireRequestUriRegistrationL :: Lens_' WellKnown (Maybe Bool)-wellKnownRequireRequestUriRegistrationL f WellKnown{..} = (\wellKnownRequireRequestUriRegistration -> WellKnown { wellKnownRequireRequestUriRegistration, ..} ) <$> f wellKnownRequireRequestUriRegistration-{-# INLINE wellKnownRequireRequestUriRegistrationL #-}---- | 'wellKnownResponseModesSupported' Lens-wellKnownResponseModesSupportedL :: Lens_' WellKnown (Maybe [Text])-wellKnownResponseModesSupportedL f WellKnown{..} = (\wellKnownResponseModesSupported -> WellKnown { wellKnownResponseModesSupported, ..} ) <$> f wellKnownResponseModesSupported-{-# INLINE wellKnownResponseModesSupportedL #-}---- | 'wellKnownResponseTypesSupported' Lens-wellKnownResponseTypesSupportedL :: Lens_' WellKnown ([Text])-wellKnownResponseTypesSupportedL f WellKnown{..} = (\wellKnownResponseTypesSupported -> WellKnown { wellKnownResponseTypesSupported, ..} ) <$> f wellKnownResponseTypesSupported-{-# INLINE wellKnownResponseTypesSupportedL #-}---- | 'wellKnownRevocationEndpoint' Lens-wellKnownRevocationEndpointL :: Lens_' WellKnown (Maybe Text)-wellKnownRevocationEndpointL f WellKnown{..} = (\wellKnownRevocationEndpoint -> WellKnown { wellKnownRevocationEndpoint, ..} ) <$> f wellKnownRevocationEndpoint-{-# INLINE wellKnownRevocationEndpointL #-}---- | 'wellKnownScopesSupported' Lens-wellKnownScopesSupportedL :: Lens_' WellKnown (Maybe [Text])-wellKnownScopesSupportedL f WellKnown{..} = (\wellKnownScopesSupported -> WellKnown { wellKnownScopesSupported, ..} ) <$> f wellKnownScopesSupported-{-# INLINE wellKnownScopesSupportedL #-}---- | 'wellKnownSubjectTypesSupported' Lens-wellKnownSubjectTypesSupportedL :: Lens_' WellKnown ([Text])-wellKnownSubjectTypesSupportedL f WellKnown{..} = (\wellKnownSubjectTypesSupported -> WellKnown { wellKnownSubjectTypesSupported, ..} ) <$> f wellKnownSubjectTypesSupported-{-# INLINE wellKnownSubjectTypesSupportedL #-}---- | 'wellKnownTokenEndpoint' Lens-wellKnownTokenEndpointL :: Lens_' WellKnown (Text)-wellKnownTokenEndpointL f WellKnown{..} = (\wellKnownTokenEndpoint -> WellKnown { wellKnownTokenEndpoint, ..} ) <$> f wellKnownTokenEndpoint-{-# INLINE wellKnownTokenEndpointL #-}---- | 'wellKnownTokenEndpointAuthMethodsSupported' Lens-wellKnownTokenEndpointAuthMethodsSupportedL :: Lens_' WellKnown (Maybe [Text])-wellKnownTokenEndpointAuthMethodsSupportedL f WellKnown{..} = (\wellKnownTokenEndpointAuthMethodsSupported -> WellKnown { wellKnownTokenEndpointAuthMethodsSupported, ..} ) <$> f wellKnownTokenEndpointAuthMethodsSupported-{-# INLINE wellKnownTokenEndpointAuthMethodsSupportedL #-}---- | 'wellKnownUserinfoEndpoint' Lens-wellKnownUserinfoEndpointL :: Lens_' WellKnown (Maybe Text)-wellKnownUserinfoEndpointL f WellKnown{..} = (\wellKnownUserinfoEndpoint -> WellKnown { wellKnownUserinfoEndpoint, ..} ) <$> f wellKnownUserinfoEndpoint-{-# INLINE wellKnownUserinfoEndpointL #-}---- | 'wellKnownUserinfoSigningAlgValuesSupported' Lens-wellKnownUserinfoSigningAlgValuesSupportedL :: Lens_' WellKnown (Maybe [Text])-wellKnownUserinfoSigningAlgValuesSupportedL f WellKnown{..} = (\wellKnownUserinfoSigningAlgValuesSupported -> WellKnown { wellKnownUserinfoSigningAlgValuesSupported, ..} ) <$> f wellKnownUserinfoSigningAlgValuesSupported-{-# INLINE wellKnownUserinfoSigningAlgValuesSupportedL #-}--
+ lib/OryHydra.hs view
@@ -0,0 +1,31 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra+-}++module OryHydra+ ( module OryHydra.Client+ , module OryHydra.Core+ , module OryHydra.Logging+ , module OryHydra.MimeTypes+ , module OryHydra.Model+ , module OryHydra.ModelLens+ ) where+++import OryHydra.Client+import OryHydra.Core+import OryHydra.Logging+import OryHydra.MimeTypes+import OryHydra.Model+import OryHydra.ModelLens
+ lib/OryHydra/API/Jwk.hs view
@@ -0,0 +1,213 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.API.Jwk+-}++{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MonoLocalBinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.API.Jwk where++import OryHydra.Core+import OryHydra.MimeTypes+import OryHydra.Model as M++import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)+import qualified Data.Foldable as P+import qualified Data.Map as Map+import qualified Data.Maybe as P+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Set as Set+import qualified Data.String as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Lazy as TL+import qualified Data.Text.Lazy.Encoding as TL+import qualified Data.Time as TI+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Media as ME+import qualified Network.HTTP.Types as NH+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Data.Text (Text)+import GHC.Base ((<|>))++import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++-- * Operations+++-- ** Jwk++-- *** createJsonWebKeySet0++-- | @POST \/admin\/keys\/{set}@+-- +-- Create JSON Web Key+-- +-- This endpoint is capable of generating JSON Web Key Sets for you. There a different strategies available, such as symmetric cryptographic keys (HS256, HS512) and asymetric cryptographic keys (RS256, ECDSA). If the specified JSON Web Key Set does not exist, it will be created. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+-- +createJsonWebKeySet0+ :: (Consumes CreateJsonWebKeySet0 MimeJSON, MimeRender MimeJSON CreateJsonWebKeySet)+ => CreateJsonWebKeySet -- ^ "createJsonWebKeySet"+ -> Set -- ^ "set" - The JSON Web Key Set ID+ -> OryHydraRequest CreateJsonWebKeySet0 MimeJSON JsonWebKeySet MimeJSON+createJsonWebKeySet0 createJsonWebKeySet (Set set) =+ _mkRequest "POST" ["/admin/keys/",toPath set]+ `setBodyParam` createJsonWebKeySet++data CreateJsonWebKeySet0 +instance HasBodyParam CreateJsonWebKeySet0 CreateJsonWebKeySet ++-- | @application/json@+instance Consumes CreateJsonWebKeySet0 MimeJSON++-- | @application/json@+instance Produces CreateJsonWebKeySet0 MimeJSON+++-- *** deleteJsonWebKey++-- | @DELETE \/admin\/keys\/{set}\/{kid}@+-- +-- Delete JSON Web Key+-- +-- Use this endpoint to delete a single JSON Web Key. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+-- +deleteJsonWebKey+ :: Set -- ^ "set" - The JSON Web Key Set+ -> Kid -- ^ "kid" - The JSON Web Key ID (kid)+ -> OryHydraRequest DeleteJsonWebKey MimeNoContent NoContent MimeNoContent+deleteJsonWebKey (Set set) (Kid kid) =+ _mkRequest "DELETE" ["/admin/keys/",toPath set,"/",toPath kid]++data DeleteJsonWebKey +instance Produces DeleteJsonWebKey MimeNoContent+++-- *** deleteJsonWebKeySet++-- | @DELETE \/admin\/keys\/{set}@+-- +-- Delete JSON Web Key Set+-- +-- Use this endpoint to delete a complete JSON Web Key Set and all the keys in that set. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+-- +deleteJsonWebKeySet+ :: Set -- ^ "set" - The JSON Web Key Set+ -> OryHydraRequest DeleteJsonWebKeySet MimeNoContent NoContent MimeNoContent+deleteJsonWebKeySet (Set set) =+ _mkRequest "DELETE" ["/admin/keys/",toPath set]++data DeleteJsonWebKeySet +instance Produces DeleteJsonWebKeySet MimeNoContent+++-- *** getJsonWebKey++-- | @GET \/admin\/keys\/{set}\/{kid}@+-- +-- Get JSON Web Key+-- +-- This endpoint returns a singular JSON Web Key contained in a set. It is identified by the set and the specific key ID (kid).+-- +getJsonWebKey+ :: Set -- ^ "set" - JSON Web Key Set ID+ -> Kid -- ^ "kid" - JSON Web Key ID+ -> OryHydraRequest GetJsonWebKey MimeNoContent JsonWebKeySet MimeJSON+getJsonWebKey (Set set) (Kid kid) =+ _mkRequest "GET" ["/admin/keys/",toPath set,"/",toPath kid]++data GetJsonWebKey +-- | @application/json@+instance Produces GetJsonWebKey MimeJSON+++-- *** getJsonWebKeySet++-- | @GET \/admin\/keys\/{set}@+-- +-- Retrieve a JSON Web Key Set+-- +-- This endpoint can be used to retrieve JWK Sets stored in ORY Hydra. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+-- +getJsonWebKeySet+ :: Set -- ^ "set" - JSON Web Key Set ID+ -> OryHydraRequest GetJsonWebKeySet MimeNoContent JsonWebKeySet MimeJSON+getJsonWebKeySet (Set set) =+ _mkRequest "GET" ["/admin/keys/",toPath set]++data GetJsonWebKeySet +-- | @application/json@+instance Produces GetJsonWebKeySet MimeJSON+++-- *** setJsonWebKey++-- | @PUT \/admin\/keys\/{set}\/{kid}@+-- +-- Set JSON Web Key+-- +-- Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+-- +setJsonWebKey+ :: (Consumes SetJsonWebKey MimeJSON)+ => Set -- ^ "set" - The JSON Web Key Set ID+ -> Kid -- ^ "kid" - JSON Web Key ID+ -> OryHydraRequest SetJsonWebKey MimeJSON JsonWebKey MimeJSON+setJsonWebKey (Set set) (Kid kid) =+ _mkRequest "PUT" ["/admin/keys/",toPath set,"/",toPath kid]++data SetJsonWebKey +instance HasBodyParam SetJsonWebKey JsonWebKey ++-- | @application/json@+instance Consumes SetJsonWebKey MimeJSON++-- | @application/json@+instance Produces SetJsonWebKey MimeJSON+++-- *** setJsonWebKeySet++-- | @PUT \/admin\/keys\/{set}@+-- +-- Update a JSON Web Key Set+-- +-- Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own. A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+-- +setJsonWebKeySet+ :: (Consumes SetJsonWebKeySet MimeJSON)+ => Set -- ^ "set" - The JSON Web Key Set ID+ -> OryHydraRequest SetJsonWebKeySet MimeJSON JsonWebKeySet MimeJSON+setJsonWebKeySet (Set set) =+ _mkRequest "PUT" ["/admin/keys/",toPath set]++data SetJsonWebKeySet +instance HasBodyParam SetJsonWebKeySet JsonWebKeySet ++-- | @application/json@+instance Consumes SetJsonWebKeySet MimeJSON++-- | @application/json@+instance Produces SetJsonWebKeySet MimeJSON+
+ lib/OryHydra/API/Metadata.hs view
@@ -0,0 +1,113 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.API.Metadata+-}++{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MonoLocalBinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.API.Metadata where++import OryHydra.Core+import OryHydra.MimeTypes+import OryHydra.Model as M++import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)+import qualified Data.Foldable as P+import qualified Data.Map as Map+import qualified Data.Maybe as P+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Set as Set+import qualified Data.String as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Lazy as TL+import qualified Data.Text.Lazy.Encoding as TL+import qualified Data.Time as TI+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Media as ME+import qualified Network.HTTP.Types as NH+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Data.Text (Text)+import GHC.Base ((<|>))++import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++-- * Operations+++-- ** Metadata++-- *** getVersion++-- | @GET \/version@+-- +-- Return Running Software Version.+-- +-- This endpoint returns the version of Ory Hydra. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the version will never refer to the cluster state, only to a single instance.+-- +getVersion+ :: OryHydraRequest GetVersion MimeNoContent GetVersion200Response MimeJSON+getVersion =+ _mkRequest "GET" ["/version"]++data GetVersion +-- | @application/json@+instance Produces GetVersion MimeJSON+++-- *** isAlive++-- | @GET \/health\/alive@+-- +-- Check HTTP Server Status+-- +-- This endpoint returns a HTTP 200 status code when Ory Hydra is accepting incoming HTTP requests. This status does currently not include checks whether the database connection is working. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance.+-- +isAlive+ :: OryHydraRequest IsAlive MimeNoContent HealthStatus MimeJSON+isAlive =+ _mkRequest "GET" ["/health/alive"]++data IsAlive +-- | @application/json@+instance Produces IsAlive MimeJSON+++-- *** isReady++-- | @GET \/health\/ready@+-- +-- Check HTTP Server and Database Status+-- +-- This endpoint returns a HTTP 200 status code when Ory Hydra is up running and the environment dependencies (e.g. the database) are responsive as well. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of Ory Hydra, the health status will never refer to the cluster state, only to a single instance.+-- +isReady+ :: OryHydraRequest IsReady MimeNoContent IsReady200Response MimeJSON+isReady =+ _mkRequest "GET" ["/health/ready"]++data IsReady +-- | @application/json@+instance Produces IsReady MimeJSON+
+ lib/OryHydra/API/OAuth2.hs view
@@ -0,0 +1,763 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.API.OAuth2+-}++{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MonoLocalBinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.API.OAuth2 where++import OryHydra.Core+import OryHydra.MimeTypes+import OryHydra.Model as M++import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)+import qualified Data.Foldable as P+import qualified Data.Map as Map+import qualified Data.Maybe as P+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Set as Set+import qualified Data.String as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Lazy as TL+import qualified Data.Text.Lazy.Encoding as TL+import qualified Data.Time as TI+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Media as ME+import qualified Network.HTTP.Types as NH+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Data.Text (Text)+import GHC.Base ((<|>))++import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++-- * Operations+++-- ** OAuth2++-- *** acceptOAuth2ConsentRequest0++-- | @PUT \/admin\/oauth2\/auth\/requests\/consent\/accept@+-- +-- Accept OAuth 2.0 Consent Request+-- +-- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider to authenticate the subject and then tell Ory now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells Ory if the subject accepted or rejected the request. This endpoint tells Ory that the subject has authorized the OAuth 2.0 client to access resources on his/her behalf. The consent provider includes additional information, such as session data for access and ID tokens, and if the consent request should be used as basis for future requests. The response contains a redirect URL which the consent provider should redirect the user-agent to. The default consent provider is available via the Ory Managed Account Experience. To customize the consent provider, please head over to the OAuth 2.0 documentation.+-- +acceptOAuth2ConsentRequest0+ :: (Consumes AcceptOAuth2ConsentRequest0 MimeJSON)+ => ConsentChallenge -- ^ "consentChallenge" - OAuth 2.0 Consent Request Challenge+ -> OryHydraRequest AcceptOAuth2ConsentRequest0 MimeJSON OAuth2RedirectTo MimeJSON+acceptOAuth2ConsentRequest0 (ConsentChallenge consentChallenge) =+ _mkRequest "PUT" ["/admin/oauth2/auth/requests/consent/accept"]+ `addQuery` toQuery ("consent_challenge", Just consentChallenge)++data AcceptOAuth2ConsentRequest0 +instance HasBodyParam AcceptOAuth2ConsentRequest0 AcceptOAuth2ConsentRequest ++-- | @application/json@+instance Consumes AcceptOAuth2ConsentRequest0 MimeJSON++-- | @application/json@+instance Produces AcceptOAuth2ConsentRequest0 MimeJSON+++-- *** acceptOAuth2LoginRequest0++-- | @PUT \/admin\/oauth2\/auth\/requests\/login\/accept@+-- +-- Accept OAuth 2.0 Login Request+-- +-- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider to authenticate the subject and then tell the Ory OAuth2 Service about it. The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process. This endpoint tells Ory that the subject has successfully authenticated and includes additional information such as the subject's ID and if Ory should remember the subject's subject agent for future authentication attempts by setting a cookie. The response contains a redirect URL which the login provider should redirect the user-agent to.+-- +acceptOAuth2LoginRequest0+ :: (Consumes AcceptOAuth2LoginRequest0 MimeJSON)+ => LoginChallenge -- ^ "loginChallenge" - OAuth 2.0 Login Request Challenge+ -> OryHydraRequest AcceptOAuth2LoginRequest0 MimeJSON OAuth2RedirectTo MimeJSON+acceptOAuth2LoginRequest0 (LoginChallenge loginChallenge) =+ _mkRequest "PUT" ["/admin/oauth2/auth/requests/login/accept"]+ `addQuery` toQuery ("login_challenge", Just loginChallenge)++data AcceptOAuth2LoginRequest0 +instance HasBodyParam AcceptOAuth2LoginRequest0 AcceptOAuth2LoginRequest ++-- | @application/json@+instance Consumes AcceptOAuth2LoginRequest0 MimeJSON++-- | @application/json@+instance Produces AcceptOAuth2LoginRequest0 MimeJSON+++-- *** acceptOAuth2LogoutRequest++-- | @PUT \/admin\/oauth2\/auth\/requests\/logout\/accept@+-- +-- Accept OAuth 2.0 Session Logout Request+-- +-- When a user or an application requests Ory OAuth 2.0 to remove the session state of a subject, this endpoint is used to confirm that logout request. The response contains a redirect URL which the consent provider should redirect the user-agent to.+-- +acceptOAuth2LogoutRequest+ :: LogoutChallenge -- ^ "logoutChallenge" - OAuth 2.0 Logout Request Challenge+ -> OryHydraRequest AcceptOAuth2LogoutRequest MimeNoContent OAuth2RedirectTo MimeJSON+acceptOAuth2LogoutRequest (LogoutChallenge logoutChallenge) =+ _mkRequest "PUT" ["/admin/oauth2/auth/requests/logout/accept"]+ `addQuery` toQuery ("logout_challenge", Just logoutChallenge)++data AcceptOAuth2LogoutRequest +-- | @application/json@+instance Produces AcceptOAuth2LogoutRequest MimeJSON+++-- *** createOAuth2Client++-- | @POST \/admin\/clients@+-- +-- Create OAuth 2.0 Client+-- +-- Create a new OAuth 2.0 client. If you pass `client_secret` the secret is used, otherwise a random secret is generated. The secret is echoed in the response. It is not possible to retrieve it later on.+-- +createOAuth2Client+ :: (Consumes CreateOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client)+ => OAuth2Client -- ^ "oAuth2Client" - OAuth 2.0 Client Request Body+ -> OryHydraRequest CreateOAuth2Client MimeJSON OAuth2Client MimeJSON+createOAuth2Client oAuth2Client =+ _mkRequest "POST" ["/admin/clients"]+ `setBodyParam` oAuth2Client++data CreateOAuth2Client ++-- | /Body Param/ "OAuth2Client" - OAuth 2.0 Client Request Body+instance HasBodyParam CreateOAuth2Client OAuth2Client ++-- | @application/json@+instance Consumes CreateOAuth2Client MimeJSON++-- | @application/json@+instance Produces CreateOAuth2Client MimeJSON+++-- *** deleteOAuth2Client++-- | @DELETE \/admin\/clients\/{id}@+-- +-- Delete OAuth 2.0 Client+-- +-- Delete an existing OAuth 2.0 Client by its ID. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. Make sure that this endpoint is well protected and only callable by first-party components.+-- +deleteOAuth2Client+ :: Id -- ^ "id" - The id of the OAuth 2.0 Client.+ -> OryHydraRequest DeleteOAuth2Client MimeNoContent NoContent MimeNoContent+deleteOAuth2Client (Id id) =+ _mkRequest "DELETE" ["/admin/clients/",toPath id]++data DeleteOAuth2Client +instance Produces DeleteOAuth2Client MimeNoContent+++-- *** deleteOAuth2Token++-- | @DELETE \/admin\/oauth2\/tokens@+-- +-- Delete OAuth 2.0 Access Tokens from specific OAuth 2.0 Client+-- +-- This endpoint deletes OAuth2 access tokens issued to an OAuth 2.0 Client from the database.+-- +deleteOAuth2Token+ :: ClientId -- ^ "clientId" - OAuth 2.0 Client ID+ -> OryHydraRequest DeleteOAuth2Token MimeNoContent NoContent MimeNoContent+deleteOAuth2Token (ClientId clientId) =+ _mkRequest "DELETE" ["/admin/oauth2/tokens"]+ `addQuery` toQuery ("client_id", Just clientId)++data DeleteOAuth2Token +instance Produces DeleteOAuth2Token MimeNoContent+++-- *** deleteTrustedOAuth2JwtGrantIssuer++-- | @DELETE \/admin\/trust\/grants\/jwt-bearer\/issuers\/{id}@+-- +-- Delete Trusted OAuth2 JWT Bearer Grant Type Issuer+-- +-- Use this endpoint to delete trusted JWT Bearer Grant Type Issuer. The ID is the one returned when you created the trust relationship. Once deleted, the associated issuer will no longer be able to perform the JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grant.+-- +deleteTrustedOAuth2JwtGrantIssuer+ :: Id -- ^ "id" - The id of the desired grant+ -> OryHydraRequest DeleteTrustedOAuth2JwtGrantIssuer MimeNoContent NoContent MimeNoContent+deleteTrustedOAuth2JwtGrantIssuer (Id id) =+ _mkRequest "DELETE" ["/admin/trust/grants/jwt-bearer/issuers/",toPath id]++data DeleteTrustedOAuth2JwtGrantIssuer +instance Produces DeleteTrustedOAuth2JwtGrantIssuer MimeNoContent+++-- *** getOAuth2Client++-- | @GET \/admin\/clients\/{id}@+-- +-- Get an OAuth 2.0 Client+-- +-- Get an OAuth 2.0 client by its ID. This endpoint never returns the client secret. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+-- +getOAuth2Client+ :: Id -- ^ "id" - The id of the OAuth 2.0 Client.+ -> OryHydraRequest GetOAuth2Client MimeNoContent OAuth2Client MimeJSON+getOAuth2Client (Id id) =+ _mkRequest "GET" ["/admin/clients/",toPath id]++data GetOAuth2Client +-- | @application/json@+instance Produces GetOAuth2Client MimeJSON+++-- *** getOAuth2ConsentRequest++-- | @GET \/admin\/oauth2\/auth\/requests\/consent@+-- +-- Get OAuth 2.0 Consent Request+-- +-- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider to authenticate the subject and then tell Ory now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells Ory if the subject accepted or rejected the request. The default consent provider is available via the Ory Managed Account Experience. To customize the consent provider, please head over to the OAuth 2.0 documentation.+-- +getOAuth2ConsentRequest+ :: ConsentChallenge -- ^ "consentChallenge" - OAuth 2.0 Consent Request Challenge+ -> OryHydraRequest GetOAuth2ConsentRequest MimeNoContent OAuth2ConsentRequest MimeJSON+getOAuth2ConsentRequest (ConsentChallenge consentChallenge) =+ _mkRequest "GET" ["/admin/oauth2/auth/requests/consent"]+ `addQuery` toQuery ("consent_challenge", Just consentChallenge)++data GetOAuth2ConsentRequest +-- | @application/json@+instance Produces GetOAuth2ConsentRequest MimeJSON+++-- *** getOAuth2LoginRequest++-- | @GET \/admin\/oauth2\/auth\/requests\/login@+-- +-- Get OAuth 2.0 Login Request+-- +-- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider to authenticate the subject and then tell the Ory OAuth2 Service about it. Per default, the login provider is Ory itself. You may use a different login provider which needs to be a web-app you write and host, and it must be able to authenticate (\"show the subject a login screen\") a subject (in OAuth2 the proper name for subject is \"resource owner\"). The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process.+-- +getOAuth2LoginRequest+ :: LoginChallenge -- ^ "loginChallenge" - OAuth 2.0 Login Request Challenge+ -> OryHydraRequest GetOAuth2LoginRequest MimeNoContent OAuth2LoginRequest MimeJSON+getOAuth2LoginRequest (LoginChallenge loginChallenge) =+ _mkRequest "GET" ["/admin/oauth2/auth/requests/login"]+ `addQuery` toQuery ("login_challenge", Just loginChallenge)++data GetOAuth2LoginRequest +-- | @application/json@+instance Produces GetOAuth2LoginRequest MimeJSON+++-- *** getOAuth2LogoutRequest++-- | @GET \/admin\/oauth2\/auth\/requests\/logout@+-- +-- Get OAuth 2.0 Session Logout Request+-- +-- Use this endpoint to fetch an Ory OAuth 2.0 logout request.+-- +getOAuth2LogoutRequest+ :: LogoutChallenge -- ^ "logoutChallenge"+ -> OryHydraRequest GetOAuth2LogoutRequest MimeNoContent OAuth2LogoutRequest MimeJSON+getOAuth2LogoutRequest (LogoutChallenge logoutChallenge) =+ _mkRequest "GET" ["/admin/oauth2/auth/requests/logout"]+ `addQuery` toQuery ("logout_challenge", Just logoutChallenge)++data GetOAuth2LogoutRequest +-- | @application/json@+instance Produces GetOAuth2LogoutRequest MimeJSON+++-- *** getTrustedOAuth2JwtGrantIssuer++-- | @GET \/admin\/trust\/grants\/jwt-bearer\/issuers\/{id}@+-- +-- Get Trusted OAuth2 JWT Bearer Grant Type Issuer+-- +-- Use this endpoint to get a trusted JWT Bearer Grant Type Issuer. The ID is the one returned when you created the trust relationship.+-- +getTrustedOAuth2JwtGrantIssuer+ :: Id -- ^ "id" - The id of the desired grant+ -> OryHydraRequest GetTrustedOAuth2JwtGrantIssuer MimeNoContent TrustedOAuth2JwtGrantIssuer MimeJSON+getTrustedOAuth2JwtGrantIssuer (Id id) =+ _mkRequest "GET" ["/admin/trust/grants/jwt-bearer/issuers/",toPath id]++data GetTrustedOAuth2JwtGrantIssuer +-- | @application/json@+instance Produces GetTrustedOAuth2JwtGrantIssuer MimeJSON+++-- *** introspectOAuth2Token++-- | @POST \/admin\/oauth2\/introspect@+-- +-- Introspect OAuth2 Access and Refresh Tokens+-- +-- The introspection endpoint allows to check if a token (both refresh and access) is active or not. An active token is neither expired nor revoked. If a token is active, additional information on the token will be included. You can set additional data for a token by setting `session.access_token` during the consent flow.+-- +introspectOAuth2Token+ :: (Consumes IntrospectOAuth2Token MimeFormUrlEncoded)+ => Token -- ^ "token" - The string value of the token. For access tokens, this is the \\\"access_token\\\" value returned from the token endpoint defined in OAuth 2.0. For refresh tokens, this is the \\\"refresh_token\\\" value returned.+ -> OryHydraRequest IntrospectOAuth2Token MimeFormUrlEncoded IntrospectedOAuth2Token MimeJSON+introspectOAuth2Token (Token token) =+ _mkRequest "POST" ["/admin/oauth2/introspect"]+ `addForm` toForm ("token", token)++data IntrospectOAuth2Token ++-- | /Optional Param/ "scope" - An optional, space separated list of required scopes. If the access token was not granted one of the scopes, the result of active will be false.+instance HasOptionalParam IntrospectOAuth2Token Scope where+ applyOptionalParam req (Scope xs) =+ req `addForm` toForm ("scope", xs)++-- | @application/x-www-form-urlencoded@+instance Consumes IntrospectOAuth2Token MimeFormUrlEncoded++-- | @application/json@+instance Produces IntrospectOAuth2Token MimeJSON+++-- *** listOAuth2Clients++-- | @GET \/admin\/clients@+-- +-- List OAuth 2.0 Clients+-- +-- This endpoint lists all clients in the database, and never returns client secrets. As a default it lists the first 100 clients.+-- +listOAuth2Clients+ :: OryHydraRequest ListOAuth2Clients MimeNoContent [OAuth2Client] MimeJSON+listOAuth2Clients =+ _mkRequest "GET" ["/admin/clients"]++data ListOAuth2Clients ++-- | /Optional Param/ "page_size" - Items per Page This is the number of items per page to return. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+instance HasOptionalParam ListOAuth2Clients PageSize where+ applyOptionalParam req (PageSize xs) =+ req `addQuery` toQuery ("page_size", Just xs)++-- | /Optional Param/ "page_token" - Next Page Token The next page token. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+instance HasOptionalParam ListOAuth2Clients PageToken where+ applyOptionalParam req (PageToken xs) =+ req `addQuery` toQuery ("page_token", Just xs)++-- | /Optional Param/ "client_name" - The name of the clients to filter by.+instance HasOptionalParam ListOAuth2Clients ClientName where+ applyOptionalParam req (ClientName xs) =+ req `addQuery` toQuery ("client_name", Just xs)++-- | /Optional Param/ "owner" - The owner of the clients to filter by.+instance HasOptionalParam ListOAuth2Clients Owner where+ applyOptionalParam req (Owner xs) =+ req `addQuery` toQuery ("owner", Just xs)+-- | @application/json@+instance Produces ListOAuth2Clients MimeJSON+++-- *** listOAuth2ConsentSessions++-- | @GET \/admin\/oauth2\/auth\/sessions\/consent@+-- +-- List OAuth 2.0 Consent Sessions of a Subject+-- +-- This endpoint lists all subject's granted consent sessions, including client and granted scope. If the subject is unknown or has not granted any consent sessions yet, the endpoint returns an empty JSON array with status code 200 OK.+-- +listOAuth2ConsentSessions+ :: Subject -- ^ "subject" - The subject to list the consent sessions for.+ -> OryHydraRequest ListOAuth2ConsentSessions MimeNoContent [OAuth2ConsentSession] MimeJSON+listOAuth2ConsentSessions (Subject subject) =+ _mkRequest "GET" ["/admin/oauth2/auth/sessions/consent"]+ `addQuery` toQuery ("subject", Just subject)++data ListOAuth2ConsentSessions ++-- | /Optional Param/ "page_size" - Items per Page This is the number of items per page to return. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+instance HasOptionalParam ListOAuth2ConsentSessions PageSize where+ applyOptionalParam req (PageSize xs) =+ req `addQuery` toQuery ("page_size", Just xs)++-- | /Optional Param/ "page_token" - Next Page Token The next page token. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+instance HasOptionalParam ListOAuth2ConsentSessions PageToken where+ applyOptionalParam req (PageToken xs) =+ req `addQuery` toQuery ("page_token", Just xs)++-- | /Optional Param/ "login_session_id" - The login session id to list the consent sessions for.+instance HasOptionalParam ListOAuth2ConsentSessions LoginSessionId where+ applyOptionalParam req (LoginSessionId xs) =+ req `addQuery` toQuery ("login_session_id", Just xs)+-- | @application/json@+instance Produces ListOAuth2ConsentSessions MimeJSON+++-- *** listTrustedOAuth2JwtGrantIssuers++-- | @GET \/admin\/trust\/grants\/jwt-bearer\/issuers@+-- +-- List Trusted OAuth2 JWT Bearer Grant Type Issuers+-- +-- Use this endpoint to list all trusted JWT Bearer Grant Type Issuers.+-- +listTrustedOAuth2JwtGrantIssuers+ :: OryHydraRequest ListTrustedOAuth2JwtGrantIssuers MimeNoContent [TrustedOAuth2JwtGrantIssuer] MimeJSON+listTrustedOAuth2JwtGrantIssuers =+ _mkRequest "GET" ["/admin/trust/grants/jwt-bearer/issuers"]++data ListTrustedOAuth2JwtGrantIssuers +instance HasOptionalParam ListTrustedOAuth2JwtGrantIssuers MaxItems where+ applyOptionalParam req (MaxItems xs) =+ req `addQuery` toQuery ("MaxItems", Just xs)+instance HasOptionalParam ListTrustedOAuth2JwtGrantIssuers DefaultItems where+ applyOptionalParam req (DefaultItems xs) =+ req `addQuery` toQuery ("DefaultItems", Just xs)++-- | /Optional Param/ "issuer" - If optional \"issuer\" is supplied, only jwt-bearer grants with this issuer will be returned.+instance HasOptionalParam ListTrustedOAuth2JwtGrantIssuers Issuer where+ applyOptionalParam req (Issuer xs) =+ req `addQuery` toQuery ("issuer", Just xs)+-- | @application/json@+instance Produces ListTrustedOAuth2JwtGrantIssuers MimeJSON+++-- *** oAuth2Authorize++-- | @GET \/oauth2\/auth@+-- +-- OAuth 2.0 Authorize Endpoint+-- +-- Use open source libraries to perform OAuth 2.0 and OpenID Connect available for any programming language. You can find a list of libraries at https://oauth.net/code/ The Ory SDK is not yet able to this endpoint properly.+-- +oAuth2Authorize+ :: OryHydraRequest OAuth2Authorize MimeNoContent ErrorOAuth2 MimeJSON+oAuth2Authorize =+ _mkRequest "GET" ["/oauth2/auth"]++data OAuth2Authorize +-- | @application/json@+instance Produces OAuth2Authorize MimeJSON+++-- *** oauth2TokenExchange++-- | @POST \/oauth2\/token@+-- +-- The OAuth 2.0 Token Endpoint+-- +-- Use open source libraries to perform OAuth 2.0 and OpenID Connect available for any programming language. You can find a list of libraries here https://oauth.net/code/ The Ory SDK is not yet able to this endpoint properly.+-- +-- AuthMethod: 'AuthBasicBasic', 'AuthOAuthOauth2'+-- +oauth2TokenExchange+ :: (Consumes Oauth2TokenExchange MimeFormUrlEncoded)+ => GrantType -- ^ "grantType"+ -> OryHydraRequest Oauth2TokenExchange MimeFormUrlEncoded OAuth2TokenExchange MimeJSON+oauth2TokenExchange (GrantType grantType) =+ _mkRequest "POST" ["/oauth2/token"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasic)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthOauth2)+ `addForm` toForm ("grant_type", grantType)++data Oauth2TokenExchange +instance HasOptionalParam Oauth2TokenExchange ClientId where+ applyOptionalParam req (ClientId xs) =+ req `addForm` toForm ("client_id", xs)+instance HasOptionalParam Oauth2TokenExchange Code where+ applyOptionalParam req (Code xs) =+ req `addForm` toForm ("code", xs)+instance HasOptionalParam Oauth2TokenExchange RedirectUri where+ applyOptionalParam req (RedirectUri xs) =+ req `addForm` toForm ("redirect_uri", xs)+instance HasOptionalParam Oauth2TokenExchange RefreshToken where+ applyOptionalParam req (RefreshToken xs) =+ req `addForm` toForm ("refresh_token", xs)++-- | @application/x-www-form-urlencoded@+instance Consumes Oauth2TokenExchange MimeFormUrlEncoded++-- | @application/json@+instance Produces Oauth2TokenExchange MimeJSON+++-- *** patchOAuth2Client++-- | @PATCH \/admin\/clients\/{id}@+-- +-- Patch OAuth 2.0 Client+-- +-- Patch an existing OAuth 2.0 Client using JSON Patch. If you pass `client_secret` the secret will be updated and returned via the API. This is the only time you will be able to retrieve the client secret, so write it down and keep it safe. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+-- +patchOAuth2Client+ :: (Consumes PatchOAuth2Client MimeJSON, MimeRender MimeJSON JsonPatch2)+ => JsonPatch2 -- ^ "jsonPatch" - OAuth 2.0 Client JSON Patch Body+ -> Id -- ^ "id" - The id of the OAuth 2.0 Client.+ -> OryHydraRequest PatchOAuth2Client MimeJSON OAuth2Client MimeJSON+patchOAuth2Client jsonPatch (Id id) =+ _mkRequest "PATCH" ["/admin/clients/",toPath id]+ `setBodyParam` jsonPatch++data PatchOAuth2Client ++-- | /Body Param/ "JsonPatch" - OAuth 2.0 Client JSON Patch Body+instance HasBodyParam PatchOAuth2Client JsonPatch2 ++-- | @application/json@+instance Consumes PatchOAuth2Client MimeJSON++-- | @application/json@+instance Produces PatchOAuth2Client MimeJSON+++-- *** rejectOAuth2ConsentRequest++-- | @PUT \/admin\/oauth2\/auth\/requests\/consent\/reject@+-- +-- Reject OAuth 2.0 Consent Request+-- +-- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider to authenticate the subject and then tell Ory now about it. If the subject authenticated, he/she must now be asked if the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf. The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent provider uses that challenge to fetch information on the OAuth2 request and then tells Ory if the subject accepted or rejected the request. This endpoint tells Ory that the subject has not authorized the OAuth 2.0 client to access resources on his/her behalf. The consent provider must include a reason why the consent was not granted. The response contains a redirect URL which the consent provider should redirect the user-agent to. The default consent provider is available via the Ory Managed Account Experience. To customize the consent provider, please head over to the OAuth 2.0 documentation.+-- +rejectOAuth2ConsentRequest+ :: (Consumes RejectOAuth2ConsentRequest MimeJSON)+ => ConsentChallenge -- ^ "consentChallenge" - OAuth 2.0 Consent Request Challenge+ -> OryHydraRequest RejectOAuth2ConsentRequest MimeJSON OAuth2RedirectTo MimeJSON+rejectOAuth2ConsentRequest (ConsentChallenge consentChallenge) =+ _mkRequest "PUT" ["/admin/oauth2/auth/requests/consent/reject"]+ `addQuery` toQuery ("consent_challenge", Just consentChallenge)++data RejectOAuth2ConsentRequest +instance HasBodyParam RejectOAuth2ConsentRequest RejectOAuth2Request ++-- | @application/json@+instance Consumes RejectOAuth2ConsentRequest MimeJSON++-- | @application/json@+instance Produces RejectOAuth2ConsentRequest MimeJSON+++-- *** rejectOAuth2LoginRequest++-- | @PUT \/admin\/oauth2\/auth\/requests\/login\/reject@+-- +-- Reject OAuth 2.0 Login Request+-- +-- When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider to authenticate the subject and then tell the Ory OAuth2 Service about it. The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process. This endpoint tells Ory that the subject has not authenticated and includes a reason why the authentication was denied. The response contains a redirect URL which the login provider should redirect the user-agent to.+-- +rejectOAuth2LoginRequest+ :: (Consumes RejectOAuth2LoginRequest MimeJSON)+ => LoginChallenge -- ^ "loginChallenge" - OAuth 2.0 Login Request Challenge+ -> OryHydraRequest RejectOAuth2LoginRequest MimeJSON OAuth2RedirectTo MimeJSON+rejectOAuth2LoginRequest (LoginChallenge loginChallenge) =+ _mkRequest "PUT" ["/admin/oauth2/auth/requests/login/reject"]+ `addQuery` toQuery ("login_challenge", Just loginChallenge)++data RejectOAuth2LoginRequest +instance HasBodyParam RejectOAuth2LoginRequest RejectOAuth2Request ++-- | @application/json@+instance Consumes RejectOAuth2LoginRequest MimeJSON++-- | @application/json@+instance Produces RejectOAuth2LoginRequest MimeJSON+++-- *** rejectOAuth2LogoutRequest++-- | @PUT \/admin\/oauth2\/auth\/requests\/logout\/reject@+-- +-- Reject OAuth 2.0 Session Logout Request+-- +-- When a user or an application requests Ory OAuth 2.0 to remove the session state of a subject, this endpoint is used to deny that logout request. No HTTP request body is required. The response is empty as the logout provider has to chose what action to perform next.+-- +rejectOAuth2LogoutRequest+ :: LogoutChallenge -- ^ "logoutChallenge"+ -> OryHydraRequest RejectOAuth2LogoutRequest MimeNoContent NoContent MimeNoContent+rejectOAuth2LogoutRequest (LogoutChallenge logoutChallenge) =+ _mkRequest "PUT" ["/admin/oauth2/auth/requests/logout/reject"]+ `addQuery` toQuery ("logout_challenge", Just logoutChallenge)++data RejectOAuth2LogoutRequest +instance Produces RejectOAuth2LogoutRequest MimeNoContent+++-- *** revokeOAuth2ConsentSessions++-- | @DELETE \/admin\/oauth2\/auth\/sessions\/consent@+-- +-- Revoke OAuth 2.0 Consent Sessions of a Subject+-- +-- This endpoint revokes a subject's granted consent sessions and invalidates all associated OAuth 2.0 Access Tokens. You may also only revoke sessions for a specific OAuth 2.0 Client ID.+-- +revokeOAuth2ConsentSessions+ :: Subject -- ^ "subject" - OAuth 2.0 Consent Subject The subject whose consent sessions should be deleted.+ -> OryHydraRequest RevokeOAuth2ConsentSessions MimeNoContent NoContent MimeNoContent+revokeOAuth2ConsentSessions (Subject subject) =+ _mkRequest "DELETE" ["/admin/oauth2/auth/sessions/consent"]+ `addQuery` toQuery ("subject", Just subject)++data RevokeOAuth2ConsentSessions ++-- | /Optional Param/ "client" - OAuth 2.0 Client ID If set, deletes only those consent sessions that have been granted to the specified OAuth 2.0 Client ID.+instance HasOptionalParam RevokeOAuth2ConsentSessions Client where+ applyOptionalParam req (Client xs) =+ req `addQuery` toQuery ("client", Just xs)++-- | /Optional Param/ "all" - Revoke All Consent Sessions If set to `true` deletes all consent sessions by the Subject that have been granted.+instance HasOptionalParam RevokeOAuth2ConsentSessions All where+ applyOptionalParam req (All xs) =+ req `addQuery` toQuery ("all", Just xs)+instance Produces RevokeOAuth2ConsentSessions MimeNoContent+++-- *** revokeOAuth2LoginSessions++-- | @DELETE \/admin\/oauth2\/auth\/sessions\/login@+-- +-- Revokes All OAuth 2.0 Login Sessions of a Subject+-- +-- This endpoint invalidates a subject's authentication session. After revoking the authentication session, the subject has to re-authenticate at the Ory OAuth2 Provider. This endpoint does not invalidate any tokens and does not work with OpenID Connect Front- or Back-channel logout.+-- +revokeOAuth2LoginSessions+ :: Subject -- ^ "subject" - OAuth 2.0 Subject The subject to revoke authentication sessions for.+ -> OryHydraRequest RevokeOAuth2LoginSessions MimeNoContent NoContent MimeNoContent+revokeOAuth2LoginSessions (Subject subject) =+ _mkRequest "DELETE" ["/admin/oauth2/auth/sessions/login"]+ `addQuery` toQuery ("subject", Just subject)++data RevokeOAuth2LoginSessions +instance Produces RevokeOAuth2LoginSessions MimeNoContent+++-- *** revokeOAuth2Token++-- | @POST \/oauth2\/revoke@+-- +-- Revoke OAuth 2.0 Access or Refresh Token+-- +-- Revoking a token (both access and refresh) means that the tokens will be invalid. A revoked access token can no longer be used to make access requests, and a revoked refresh token can no longer be used to refresh an access token. Revoking a refresh token also invalidates the access token that was created with it. A token may only be revoked by the client the token was generated for.+-- +-- AuthMethod: 'AuthBasicBasic', 'AuthOAuthOauth2'+-- +revokeOAuth2Token+ :: (Consumes RevokeOAuth2Token MimeFormUrlEncoded)+ => Token -- ^ "token"+ -> OryHydraRequest RevokeOAuth2Token MimeFormUrlEncoded NoContent MimeNoContent+revokeOAuth2Token (Token token) =+ _mkRequest "POST" ["/oauth2/revoke"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasic)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthOauth2)+ `addForm` toForm ("token", token)++data RevokeOAuth2Token +instance HasOptionalParam RevokeOAuth2Token ClientId where+ applyOptionalParam req (ClientId xs) =+ req `addForm` toForm ("client_id", xs)+instance HasOptionalParam RevokeOAuth2Token ClientSecret where+ applyOptionalParam req (ClientSecret xs) =+ req `addForm` toForm ("client_secret", xs)++-- | @application/x-www-form-urlencoded@+instance Consumes RevokeOAuth2Token MimeFormUrlEncoded++instance Produces RevokeOAuth2Token MimeNoContent+++-- *** setOAuth2Client++-- | @PUT \/admin\/clients\/{id}@+-- +-- Set OAuth 2.0 Client+-- +-- Replaces an existing OAuth 2.0 Client with the payload you send. If you pass `client_secret` the secret is used, otherwise the existing secret is used. If set, the secret is echoed in the response. It is not possible to retrieve it later on. OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+-- +setOAuth2Client+ :: (Consumes SetOAuth2Client MimeJSON, MimeRender MimeJSON OAuth2Client)+ => OAuth2Client -- ^ "oAuth2Client" - OAuth 2.0 Client Request Body+ -> Id -- ^ "id" - OAuth 2.0 Client ID+ -> OryHydraRequest SetOAuth2Client MimeJSON OAuth2Client MimeJSON+setOAuth2Client oAuth2Client (Id id) =+ _mkRequest "PUT" ["/admin/clients/",toPath id]+ `setBodyParam` oAuth2Client++data SetOAuth2Client ++-- | /Body Param/ "OAuth2Client" - OAuth 2.0 Client Request Body+instance HasBodyParam SetOAuth2Client OAuth2Client ++-- | @application/json@+instance Consumes SetOAuth2Client MimeJSON++-- | @application/json@+instance Produces SetOAuth2Client MimeJSON+++-- *** setOAuth2ClientLifespans++-- | @PUT \/admin\/clients\/{id}\/lifespans@+-- +-- Set OAuth2 Client Token Lifespans+-- +-- Set lifespans of different token types issued for this OAuth 2.0 client. Does not modify other fields.+-- +setOAuth2ClientLifespans+ :: (Consumes SetOAuth2ClientLifespans MimeJSON)+ => Id -- ^ "id" - OAuth 2.0 Client ID+ -> OryHydraRequest SetOAuth2ClientLifespans MimeJSON OAuth2Client MimeJSON+setOAuth2ClientLifespans (Id id) =+ _mkRequest "PUT" ["/admin/clients/",toPath id,"/lifespans"]++data SetOAuth2ClientLifespans +instance HasBodyParam SetOAuth2ClientLifespans OAuth2ClientTokenLifespans ++-- | @application/json@+instance Consumes SetOAuth2ClientLifespans MimeJSON++-- | @application/json@+instance Produces SetOAuth2ClientLifespans MimeJSON+++-- *** trustOAuth2JwtGrantIssuer0++-- | @POST \/admin\/trust\/grants\/jwt-bearer\/issuers@+-- +-- Trust OAuth2 JWT Bearer Grant Type Issuer+-- +-- Use this endpoint to establish a trust relationship for a JWT issuer to perform JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [RFC7523](https://datatracker.ietf.org/doc/html/rfc7523).+-- +trustOAuth2JwtGrantIssuer0+ :: (Consumes TrustOAuth2JwtGrantIssuer0 MimeJSON)+ => OryHydraRequest TrustOAuth2JwtGrantIssuer0 MimeJSON TrustedOAuth2JwtGrantIssuer MimeJSON+trustOAuth2JwtGrantIssuer0 =+ _mkRequest "POST" ["/admin/trust/grants/jwt-bearer/issuers"]++data TrustOAuth2JwtGrantIssuer0 +instance HasBodyParam TrustOAuth2JwtGrantIssuer0 TrustOAuth2JwtGrantIssuer ++-- | @application/json@+instance Consumes TrustOAuth2JwtGrantIssuer0 MimeJSON++-- | @application/json@+instance Produces TrustOAuth2JwtGrantIssuer0 MimeJSON+
+ lib/OryHydra/API/Oidc.hs view
@@ -0,0 +1,218 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.API.Oidc+-}++{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MonoLocalBinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.API.Oidc where++import OryHydra.Core+import OryHydra.MimeTypes+import OryHydra.Model as M++import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)+import qualified Data.Foldable as P+import qualified Data.Map as Map+import qualified Data.Maybe as P+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Set as Set+import qualified Data.String as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Lazy as TL+import qualified Data.Text.Lazy.Encoding as TL+import qualified Data.Time as TI+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Media as ME+import qualified Network.HTTP.Types as NH+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Data.Text (Text)+import GHC.Base ((<|>))++import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++-- * Operations+++-- ** Oidc++-- *** createOidcDynamicClient++-- | @POST \/oauth2\/register@+-- +-- Register OAuth2 Client using OpenID Dynamic Client Registration+-- +-- This endpoint behaves like the administrative counterpart (`createOAuth2Client`) but is capable of facing the public internet directly and can be used in self-service. It implements the OpenID Connect Dynamic Client Registration Protocol. This feature needs to be enabled in the configuration. This endpoint is disabled by default. It can be enabled by an administrator. Please note that using this endpoint you are not able to choose the `client_secret` nor the `client_id` as those values will be server generated when specifying `token_endpoint_auth_method` as `client_secret_basic` or `client_secret_post`. The `client_secret` will be returned in the response and you will not be able to retrieve it later on. Write the secret down and keep it somewhere safe.+-- +createOidcDynamicClient+ :: (Consumes CreateOidcDynamicClient MimeJSON, MimeRender MimeJSON OAuth2Client)+ => OAuth2Client -- ^ "oAuth2Client" - Dynamic Client Registration Request Body+ -> OryHydraRequest CreateOidcDynamicClient MimeJSON OAuth2Client MimeJSON+createOidcDynamicClient oAuth2Client =+ _mkRequest "POST" ["/oauth2/register"]+ `setBodyParam` oAuth2Client++data CreateOidcDynamicClient ++-- | /Body Param/ "OAuth2Client" - Dynamic Client Registration Request Body+instance HasBodyParam CreateOidcDynamicClient OAuth2Client ++-- | @application/json@+instance Consumes CreateOidcDynamicClient MimeJSON++-- | @application/json@+instance Produces CreateOidcDynamicClient MimeJSON+++-- *** deleteOidcDynamicClient++-- | @DELETE \/oauth2\/register\/{id}@+-- +-- Delete OAuth 2.0 Client using the OpenID Dynamic Client Registration Management Protocol+-- +-- This endpoint behaves like the administrative counterpart (`deleteOAuth2Client`) but is capable of facing the public internet directly and can be used in self-service. It implements the OpenID Connect Dynamic Client Registration Protocol. This feature needs to be enabled in the configuration. This endpoint is disabled by default. It can be enabled by an administrator. To use this endpoint, you will need to present the client's authentication credentials. If the OAuth2 Client uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query. If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+-- +-- AuthMethod: 'AuthBasicBearer'+-- +deleteOidcDynamicClient+ :: Id -- ^ "id" - The id of the OAuth 2.0 Client.+ -> OryHydraRequest DeleteOidcDynamicClient MimeNoContent NoContent MimeNoContent+deleteOidcDynamicClient (Id id) =+ _mkRequest "DELETE" ["/oauth2/register/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBearer)++data DeleteOidcDynamicClient +instance Produces DeleteOidcDynamicClient MimeNoContent+++-- *** discoverOidcConfiguration++-- | @GET \/.well-known\/openid-configuration@+-- +-- OpenID Connect Discovery+-- +-- A mechanism for an OpenID Connect Relying Party to discover the End-User's OpenID Provider and obtain information needed to interact with it, including its OAuth 2.0 endpoint locations. Popular libraries for OpenID Connect clients include oidc-client-js (JavaScript), go-oidc (Golang), and others. For a full list of clients go here: https://openid.net/developers/certified/+-- +discoverOidcConfiguration+ :: OryHydraRequest DiscoverOidcConfiguration MimeNoContent OidcConfiguration MimeJSON+discoverOidcConfiguration =+ _mkRequest "GET" ["/.well-known/openid-configuration"]++data DiscoverOidcConfiguration +-- | @application/json@+instance Produces DiscoverOidcConfiguration MimeJSON+++-- *** getOidcDynamicClient++-- | @GET \/oauth2\/register\/{id}@+-- +-- Get OAuth2 Client using OpenID Dynamic Client Registration+-- +-- This endpoint behaves like the administrative counterpart (`getOAuth2Client`) but is capable of facing the public internet directly and can be used in self-service. It implements the OpenID Connect Dynamic Client Registration Protocol. To use this endpoint, you will need to present the client's authentication credentials. If the OAuth2 Client uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query. If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header.+-- +-- AuthMethod: 'AuthBasicBearer'+-- +getOidcDynamicClient+ :: Id -- ^ "id" - The id of the OAuth 2.0 Client.+ -> OryHydraRequest GetOidcDynamicClient MimeNoContent OAuth2Client MimeJSON+getOidcDynamicClient (Id id) =+ _mkRequest "GET" ["/oauth2/register/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBearer)++data GetOidcDynamicClient +-- | @application/json@+instance Produces GetOidcDynamicClient MimeJSON+++-- *** getOidcUserInfo++-- | @GET \/userinfo@+-- +-- OpenID Connect Userinfo+-- +-- This endpoint returns the payload of the ID Token, including `session.id_token` values, of the provided OAuth 2.0 Access Token's consent request. In the case of authentication error, a WWW-Authenticate header might be set in the response with more information about the error. See [the spec](https://datatracker.ietf.org/doc/html/rfc6750#section-3) for more details about header format.+-- +-- AuthMethod: 'AuthOAuthOauth2'+-- +getOidcUserInfo+ :: OryHydraRequest GetOidcUserInfo MimeNoContent OidcUserInfo MimeJSON+getOidcUserInfo =+ _mkRequest "GET" ["/userinfo"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthOauth2)++data GetOidcUserInfo +-- | @application/json@+instance Produces GetOidcUserInfo MimeJSON+++-- *** revokeOidcSession++-- | @GET \/oauth2\/sessions\/logout@+-- +-- OpenID Connect Front- and Back-channel Enabled Logout+-- +-- This endpoint initiates and completes user logout at the Ory OAuth2 & OpenID provider and initiates OpenID Connect Front- / Back-channel logout: https://openid.net/specs/openid-connect-frontchannel-1_0.html https://openid.net/specs/openid-connect-backchannel-1_0.html Back-channel logout is performed asynchronously and does not affect logout flow.+-- +revokeOidcSession+ :: OryHydraRequest RevokeOidcSession MimeNoContent NoContent MimeNoContent+revokeOidcSession =+ _mkRequest "GET" ["/oauth2/sessions/logout"]++data RevokeOidcSession +instance Produces RevokeOidcSession MimeNoContent+++-- *** setOidcDynamicClient++-- | @PUT \/oauth2\/register\/{id}@+-- +-- Set OAuth2 Client using OpenID Dynamic Client Registration+-- +-- This endpoint behaves like the administrative counterpart (`setOAuth2Client`) but is capable of facing the public internet directly to be used by third parties. It implements the OpenID Connect Dynamic Client Registration Protocol. This feature is disabled per default. It can be enabled by a system administrator. If you pass `client_secret` the secret is used, otherwise the existing secret is used. If set, the secret is echoed in the response. It is not possible to retrieve it later on. To use this endpoint, you will need to present the client's authentication credentials. If the OAuth2 Client uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query. If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header. OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+-- +-- AuthMethod: 'AuthBasicBearer'+-- +setOidcDynamicClient+ :: (Consumes SetOidcDynamicClient MimeJSON, MimeRender MimeJSON OAuth2Client)+ => OAuth2Client -- ^ "oAuth2Client" - OAuth 2.0 Client Request Body+ -> Id -- ^ "id" - OAuth 2.0 Client ID+ -> OryHydraRequest SetOidcDynamicClient MimeJSON OAuth2Client MimeJSON+setOidcDynamicClient oAuth2Client (Id id) =+ _mkRequest "PUT" ["/oauth2/register/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBearer)+ `setBodyParam` oAuth2Client++data SetOidcDynamicClient ++-- | /Body Param/ "OAuth2Client" - OAuth 2.0 Client Request Body+instance HasBodyParam SetOidcDynamicClient OAuth2Client ++-- | @application/json@+instance Consumes SetOidcDynamicClient MimeJSON++-- | @application/json@+instance Produces SetOidcDynamicClient MimeJSON+
+ lib/OryHydra/API/Wellknown.hs view
@@ -0,0 +1,77 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.API.Wellknown+-}++{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MonoLocalBinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.API.Wellknown where++import OryHydra.Core+import OryHydra.MimeTypes+import OryHydra.Model as M++import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)+import qualified Data.Foldable as P+import qualified Data.Map as Map+import qualified Data.Maybe as P+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Set as Set+import qualified Data.String as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Lazy as TL+import qualified Data.Text.Lazy.Encoding as TL+import qualified Data.Time as TI+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Media as ME+import qualified Network.HTTP.Types as NH+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Data.Text (Text)+import GHC.Base ((<|>))++import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++-- * Operations+++-- ** Wellknown++-- *** discoverJsonWebKeys++-- | @GET \/.well-known\/jwks.json@+-- +-- Discover Well-Known JSON Web Keys+-- +-- This endpoint returns JSON Web Keys required to verifying OpenID Connect ID Tokens and, if enabled, OAuth 2.0 JWT Access Tokens. This endpoint can be used with client libraries like [node-jwks-rsa](https://github.com/auth0/node-jwks-rsa) among others.+-- +discoverJsonWebKeys+ :: OryHydraRequest DiscoverJsonWebKeys MimeNoContent JsonWebKeySet MimeJSON+discoverJsonWebKeys =+ _mkRequest "GET" ["/.well-known/jwks.json"]++data DiscoverJsonWebKeys +-- | @application/json@+instance Produces DiscoverJsonWebKeys MimeJSON+
+ lib/OryHydra/Client.hs view
@@ -0,0 +1,224 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.Client+-}++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveTraversable #-}+{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.Client where++import OryHydra.Core+import OryHydra.Logging+import OryHydra.MimeTypes++import qualified Control.Exception.Safe as E+import qualified Control.Monad.IO.Class as P+import qualified Control.Monad as P+import qualified Data.Aeson.Types as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Char8 as BC+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Lazy.Char8 as BCL+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Network.HTTP.Client as NH+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Types as NH+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Data.Function ((&))+import Data.Monoid ((<>))+import Data.Text (Text)+import GHC.Exts (IsString(..))++-- * Dispatch++-- ** Lbs++-- | send a request returning the raw http response+dispatchLbs+ :: (Produces req accept, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> OryHydraConfig -- ^ config+ -> OryHydraRequest req contentType res accept -- ^ request+ -> IO (NH.Response BCL.ByteString) -- ^ response+dispatchLbs manager config request = do+ initReq <- _toInitRequest config request+ dispatchInitUnsafe manager config initReq++-- ** Mime++-- | pair of decoded http body and http response+data MimeResult res =+ MimeResult { mimeResult :: Either MimeError res -- ^ decoded http body+ , mimeResultResponse :: NH.Response BCL.ByteString -- ^ http response+ }+ deriving (Show, Functor, Foldable, Traversable)++-- | pair of unrender/parser error and http response+data MimeError =+ MimeError {+ mimeError :: String -- ^ unrender/parser error+ , mimeErrorResponse :: NH.Response BCL.ByteString -- ^ http response+ } deriving (Show)++-- | send a request returning the 'MimeResult'+dispatchMime+ :: forall req contentType res accept. (Produces req accept, MimeUnrender accept res, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> OryHydraConfig -- ^ config+ -> OryHydraRequest req contentType res accept -- ^ request+ -> IO (MimeResult res) -- ^ response+dispatchMime manager config request = do+ httpResponse <- dispatchLbs manager config request+ let statusCode = NH.statusCode . NH.responseStatus $ httpResponse+ parsedResult <-+ runConfigLogWithExceptions "Client" config $+ do if (statusCode >= 400 && statusCode < 600)+ then do+ let s = "error statusCode: " ++ show statusCode+ _log "Client" levelError (T.pack s)+ pure (Left (MimeError s httpResponse))+ else case mimeUnrender (P.Proxy :: P.Proxy accept) (NH.responseBody httpResponse) of+ Left s -> do+ _log "Client" levelError (T.pack s)+ pure (Left (MimeError s httpResponse))+ Right r -> pure (Right r)+ return (MimeResult parsedResult httpResponse)++-- | like 'dispatchMime', but only returns the decoded http body+dispatchMime'+ :: (Produces req accept, MimeUnrender accept res, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> OryHydraConfig -- ^ config+ -> OryHydraRequest req contentType res accept -- ^ request+ -> IO (Either MimeError res) -- ^ response+dispatchMime' manager config request = do+ MimeResult parsedResult _ <- dispatchMime manager config request+ return parsedResult++-- ** Unsafe++-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the "accept" 'MimeType'. (Useful if the server's response is undocumented)+dispatchLbsUnsafe+ :: (MimeType accept, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> OryHydraConfig -- ^ config+ -> OryHydraRequest req contentType res accept -- ^ request+ -> IO (NH.Response BCL.ByteString) -- ^ response+dispatchLbsUnsafe manager config request = do+ initReq <- _toInitRequest config request+ dispatchInitUnsafe manager config initReq++-- | dispatch an InitRequest+dispatchInitUnsafe+ :: NH.Manager -- ^ http-client Connection manager+ -> OryHydraConfig -- ^ config+ -> InitRequest req contentType res accept -- ^ init request+ -> IO (NH.Response BCL.ByteString) -- ^ response+dispatchInitUnsafe manager config (InitRequest req) = do+ runConfigLogWithExceptions src config $+ do _log src levelInfo requestLogMsg+ _log src levelDebug requestDbgLogMsg+ res <- P.liftIO $ NH.httpLbs req manager+ _log src levelInfo (responseLogMsg res)+ _log src levelDebug ((T.pack . show) res)+ return res+ where+ src = "Client"+ endpoint =+ T.pack $+ BC.unpack $+ NH.method req <> " " <> NH.host req <> NH.path req <> NH.queryString req+ requestLogMsg = "REQ:" <> endpoint+ requestDbgLogMsg =+ "Headers=" <> (T.pack . show) (NH.requestHeaders req) <> " Body=" <>+ (case NH.requestBody req of+ NH.RequestBodyLBS xs -> T.decodeUtf8 (BL.toStrict xs)+ _ -> "<RequestBody>")+ responseStatusCode = (T.pack . show) . NH.statusCode . NH.responseStatus+ responseLogMsg res =+ "RES:statusCode=" <> responseStatusCode res <> " (" <> endpoint <> ")"++-- * InitRequest++-- | wraps an http-client 'Request' with request/response type parameters+newtype InitRequest req contentType res accept = InitRequest+ { unInitRequest :: NH.Request+ } deriving (Show)++-- | Build an http-client 'Request' record from the supplied config and request+_toInitRequest+ :: (MimeType accept, MimeType contentType)+ => OryHydraConfig -- ^ config+ -> OryHydraRequest req contentType res accept -- ^ request+ -> IO (InitRequest req contentType res accept) -- ^ initialized request+_toInitRequest config req0 =+ runConfigLogWithExceptions "Client" config $ do+ parsedReq <- P.liftIO $ NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0))+ req1 <- P.liftIO $ _applyAuthMethods req0 config+ P.when+ (configValidateAuthMethods config && (not . null . rAuthTypes) req1)+ (E.throw $ AuthMethodException $ "AuthMethod not configured: " <> (show . head . rAuthTypes) req1)+ let req2 = req1 & _setContentTypeHeader & _setAcceptHeader+ params = rParams req2+ reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders params+ reqQuery = let query = paramsQuery params+ queryExtraUnreserved = configQueryExtraUnreserved config+ in if B.null queryExtraUnreserved+ then NH.renderQuery True query+ else NH.renderQueryPartialEscape True (toPartialEscapeQuery queryExtraUnreserved query)+ pReq = parsedReq { NH.method = rMethod req2+ , NH.requestHeaders = reqHeaders+ , NH.queryString = reqQuery+ }+ outReq <- case paramsBody params of+ ParamBodyNone -> pure (pReq { NH.requestBody = mempty })+ ParamBodyB bs -> pure (pReq { NH.requestBody = NH.RequestBodyBS bs })+ ParamBodyBL bl -> pure (pReq { NH.requestBody = NH.RequestBodyLBS bl })+ ParamBodyFormUrlEncoded form -> pure (pReq { NH.requestBody = NH.RequestBodyLBS (WH.urlEncodeForm form) })+ ParamBodyMultipartFormData parts -> NH.formDataBody parts pReq++ pure (InitRequest outReq)++-- | modify the underlying Request+modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept+modifyInitRequest (InitRequest req) f = InitRequest (f req)++-- | modify the underlying Request (monadic)+modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (NH.Request -> m NH.Request) -> m (InitRequest req contentType res accept)+modifyInitRequestM (InitRequest req) f = fmap InitRequest (f req)++-- ** Logging++-- | Run a block using the configured logger instance+runConfigLog+ :: P.MonadIO m+ => OryHydraConfig -> LogExec m a+runConfigLog config = configLogExecWithContext config (configLogContext config)++-- | Run a block using the configured logger instance (logs exceptions)+runConfigLogWithExceptions+ :: (E.MonadCatch m, P.MonadIO m)+ => T.Text -> OryHydraConfig -> LogExec m a+runConfigLogWithExceptions src config = runConfigLog config . logExceptions src
+ lib/OryHydra/Core.hs view
@@ -0,0 +1,582 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.Core+-}++{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TupleSections #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE CPP #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.Core where++import OryHydra.MimeTypes+import OryHydra.Logging++import qualified Control.Arrow as P (left)+import qualified Control.DeepSeq as NF+import qualified Control.Exception.Safe as E+import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Base64.Lazy as BL64+import qualified Data.ByteString.Builder as BB+import qualified Data.ByteString.Char8 as BC+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Lazy.Char8 as BCL+import qualified Data.CaseInsensitive as CI+import qualified Data.Data as P (Data, Typeable, TypeRep, typeRep)+import qualified Data.Foldable as P+import qualified Data.Ix as P+import qualified Data.Kind as K (Type)+import qualified Data.Maybe as P+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Time as TI+import qualified Data.Time.ISO8601 as TI+import qualified GHC.Base as P (Alternative)+import qualified Lens.Micro as L+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Types as NH+import qualified Prelude as P+import qualified Text.Printf as T+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Control.Applicative ((<|>))+import Control.Applicative (Alternative)+import Control.Monad.Fail (MonadFail)+import Data.Function ((&))+import Data.Foldable(foldlM)+import Data.Monoid ((<>))+import Data.Text (Text)+import Prelude (($), (.), (&&), (<$>), (<*>), Maybe(..), Bool(..), Char, String, fmap, mempty, pure, return, show, IO, Monad, Functor, maybe)++-- * OryHydraConfig++-- |+data OryHydraConfig = OryHydraConfig+ { configHost :: BCL.ByteString -- ^ host supplied in the Request+ , configUserAgent :: Text -- ^ user-agent supplied in the Request+ , configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance+ , configLogContext :: LogContext -- ^ Configures the logger+ , configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods+ , configValidateAuthMethods :: Bool -- ^ throw exceptions if auth methods are not configured+ , configQueryExtraUnreserved :: B.ByteString -- ^ Configures additional querystring characters which must not be URI encoded, e.g. '+' or ':'+ }++-- | display the config+instance P.Show OryHydraConfig where+ show c =+ T.printf+ "{ configHost = %v, configUserAgent = %v, ..}"+ (show (configHost c))+ (show (configUserAgent c))++-- | constructs a default OryHydraConfig+--+-- configHost:+--+-- @http://localhost@+--+-- configUserAgent:+--+-- @"ory-hydra-client/0.1.0.0"@+--+newConfig :: IO OryHydraConfig+newConfig = do+ logCxt <- initLogContext+ return $ OryHydraConfig+ { configHost = "http://localhost"+ , configUserAgent = "ory-hydra-client/0.1.0.0"+ , configLogExecWithContext = runDefaultLogExecWithContext+ , configLogContext = logCxt+ , configAuthMethods = []+ , configValidateAuthMethods = True+ , configQueryExtraUnreserved = ""+ }++-- | updates config use AuthMethod on matching requests+addAuthMethod :: AuthMethod auth => OryHydraConfig -> auth -> OryHydraConfig+addAuthMethod config@OryHydraConfig {configAuthMethods = as} a =+ config { configAuthMethods = AnyAuthMethod a : as}++-- | updates the config to use stdout logging+withStdoutLogging :: OryHydraConfig -> IO OryHydraConfig+withStdoutLogging p = do+ logCxt <- stdoutLoggingContext (configLogContext p)+ return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }++-- | updates the config to use stderr logging+withStderrLogging :: OryHydraConfig -> IO OryHydraConfig+withStderrLogging p = do+ logCxt <- stderrLoggingContext (configLogContext p)+ return $ p { configLogExecWithContext = stderrLoggingExec, configLogContext = logCxt }++-- | updates the config to disable logging+withNoLogging :: OryHydraConfig -> OryHydraConfig+withNoLogging p = p { configLogExecWithContext = runNullLogExec}++-- * OryHydraRequest++-- | Represents a request.+--+-- Type Variables:+--+-- * req - request operation+-- * contentType - 'MimeType' associated with request body+-- * res - response model+-- * accept - 'MimeType' associated with response body+data OryHydraRequest req contentType res accept = OryHydraRequest+ { rMethod :: NH.Method -- ^ Method of OryHydraRequest+ , rUrlPath :: [BCL.ByteString] -- ^ Endpoint of OryHydraRequest+ , rParams :: Params -- ^ params of OryHydraRequest+ , rAuthTypes :: [P.TypeRep] -- ^ types of auth methods+ }+ deriving (P.Show)++-- | 'rMethod' Lens+rMethodL :: Lens_' (OryHydraRequest req contentType res accept) NH.Method+rMethodL f OryHydraRequest{..} = (\rMethod -> OryHydraRequest { rMethod, ..} ) <$> f rMethod+{-# INLINE rMethodL #-}++-- | 'rUrlPath' Lens+rUrlPathL :: Lens_' (OryHydraRequest req contentType res accept) [BCL.ByteString]+rUrlPathL f OryHydraRequest{..} = (\rUrlPath -> OryHydraRequest { rUrlPath, ..} ) <$> f rUrlPath+{-# INLINE rUrlPathL #-}++-- | 'rParams' Lens+rParamsL :: Lens_' (OryHydraRequest req contentType res accept) Params+rParamsL f OryHydraRequest{..} = (\rParams -> OryHydraRequest { rParams, ..} ) <$> f rParams+{-# INLINE rParamsL #-}++-- | 'rParams' Lens+rAuthTypesL :: Lens_' (OryHydraRequest req contentType res accept) [P.TypeRep]+rAuthTypesL f OryHydraRequest{..} = (\rAuthTypes -> OryHydraRequest { rAuthTypes, ..} ) <$> f rAuthTypes+{-# INLINE rAuthTypesL #-}++-- * HasBodyParam++-- | Designates the body parameter of a request+class HasBodyParam req param where+ setBodyParam :: forall contentType res accept. (Consumes req contentType, MimeRender contentType param) => OryHydraRequest req contentType res accept -> param -> OryHydraRequest req contentType res accept+ setBodyParam req xs =+ req `_setBodyLBS` mimeRender (P.Proxy :: P.Proxy contentType) xs & _setContentTypeHeader++-- * HasOptionalParam++-- | Designates the optional parameters of a request+class HasOptionalParam req param where+ {-# MINIMAL applyOptionalParam | (-&-) #-}++ -- | Apply an optional parameter to a request+ applyOptionalParam :: OryHydraRequest req contentType res accept -> param -> OryHydraRequest req contentType res accept+ applyOptionalParam = (-&-)+ {-# INLINE applyOptionalParam #-}++ -- | infix operator \/ alias for 'addOptionalParam'+ (-&-) :: OryHydraRequest req contentType res accept -> param -> OryHydraRequest req contentType res accept+ (-&-) = applyOptionalParam+ {-# INLINE (-&-) #-}++infixl 2 -&-++-- | Request Params+data Params = Params+ { paramsQuery :: NH.Query+ , paramsHeaders :: NH.RequestHeaders+ , paramsBody :: ParamBody+ }+ deriving (P.Show)++-- | 'paramsQuery' Lens+paramsQueryL :: Lens_' Params NH.Query+paramsQueryL f Params{..} = (\paramsQuery -> Params { paramsQuery, ..} ) <$> f paramsQuery+{-# INLINE paramsQueryL #-}++-- | 'paramsHeaders' Lens+paramsHeadersL :: Lens_' Params NH.RequestHeaders+paramsHeadersL f Params{..} = (\paramsHeaders -> Params { paramsHeaders, ..} ) <$> f paramsHeaders+{-# INLINE paramsHeadersL #-}++-- | 'paramsBody' Lens+paramsBodyL :: Lens_' Params ParamBody+paramsBodyL f Params{..} = (\paramsBody -> Params { paramsBody, ..} ) <$> f paramsBody+{-# INLINE paramsBodyL #-}++-- | Request Body+data ParamBody+ = ParamBodyNone+ | ParamBodyB B.ByteString+ | ParamBodyBL BL.ByteString+ | ParamBodyFormUrlEncoded WH.Form+ | ParamBodyMultipartFormData [NH.Part]+ deriving (P.Show)++-- ** OryHydraRequest Utils++_mkRequest :: NH.Method -- ^ Method+ -> [BCL.ByteString] -- ^ Endpoint+ -> OryHydraRequest req contentType res accept -- ^ req: Request Type, res: Response Type+_mkRequest m u = OryHydraRequest m u _mkParams []++_mkParams :: Params+_mkParams = Params [] [] ParamBodyNone++setHeader ::+ OryHydraRequest req contentType res accept+ -> [NH.Header]+ -> OryHydraRequest req contentType res accept+setHeader req header =+ req `removeHeader` P.fmap P.fst header+ & (`addHeader` header)++addHeader ::+ OryHydraRequest req contentType res accept+ -> [NH.Header]+ -> OryHydraRequest req contentType res accept+addHeader req header = L.over (rParamsL . paramsHeadersL) (header P.++) req++removeHeader :: OryHydraRequest req contentType res accept -> [NH.HeaderName] -> OryHydraRequest req contentType res accept+removeHeader req header =+ req &+ L.over+ (rParamsL . paramsHeadersL)+ (P.filter (\h -> cifst h `P.notElem` P.fmap CI.mk header))+ where+ cifst = CI.mk . P.fst+++_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => OryHydraRequest req contentType res accept -> OryHydraRequest req contentType res accept+_setContentTypeHeader req =+ case mimeType (P.Proxy :: P.Proxy contentType) of+ Just m -> req `setHeader` [("content-type", BC.pack $ P.show m)]+ Nothing -> req `removeHeader` ["content-type"]++_setAcceptHeader :: forall req contentType res accept. MimeType accept => OryHydraRequest req contentType res accept -> OryHydraRequest req contentType res accept+_setAcceptHeader req =+ case mimeType (P.Proxy :: P.Proxy accept) of+ Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]+ Nothing -> req `removeHeader` ["accept"]++setQuery ::+ OryHydraRequest req contentType res accept+ -> [NH.QueryItem]+ -> OryHydraRequest req contentType res accept+setQuery req query =+ req &+ L.over+ (rParamsL . paramsQueryL)+ (P.filter (\q -> cifst q `P.notElem` P.fmap cifst query)) &+ (`addQuery` query)+ where+ cifst = CI.mk . P.fst++addQuery ::+ OryHydraRequest req contentType res accept+ -> [NH.QueryItem]+ -> OryHydraRequest req contentType res accept+addQuery req query = req & L.over (rParamsL . paramsQueryL) (query P.++)++addForm :: OryHydraRequest req contentType res accept -> WH.Form -> OryHydraRequest req contentType res accept+addForm req newform =+ let form = case paramsBody (rParams req) of+ ParamBodyFormUrlEncoded _form -> _form+ _ -> mempty+ in req & L.set (rParamsL . paramsBodyL) (ParamBodyFormUrlEncoded (newform <> form))++_addMultiFormPart :: OryHydraRequest req contentType res accept -> NH.Part -> OryHydraRequest req contentType res accept+_addMultiFormPart req newpart =+ let parts = case paramsBody (rParams req) of+ ParamBodyMultipartFormData _parts -> _parts+ _ -> []+ in req & L.set (rParamsL . paramsBodyL) (ParamBodyMultipartFormData (newpart : parts))++_setBodyBS :: OryHydraRequest req contentType res accept -> B.ByteString -> OryHydraRequest req contentType res accept+_setBodyBS req body =+ req & L.set (rParamsL . paramsBodyL) (ParamBodyB body)++_setBodyLBS :: OryHydraRequest req contentType res accept -> BL.ByteString -> OryHydraRequest req contentType res accept+_setBodyLBS req body =+ req & L.set (rParamsL . paramsBodyL) (ParamBodyBL body)++_hasAuthType :: AuthMethod authMethod => OryHydraRequest req contentType res accept -> P.Proxy authMethod -> OryHydraRequest req contentType res accept+_hasAuthType req proxy =+ req & L.over rAuthTypesL (P.typeRep proxy :)++-- ** Params Utils++toPath+ :: WH.ToHttpApiData a+ => a -> BCL.ByteString+toPath = BB.toLazyByteString . WH.toEncodedUrlPiece++toHeader :: WH.ToHttpApiData a => (NH.HeaderName, a) -> [NH.Header]+toHeader x = [fmap WH.toHeader x]++toForm :: WH.ToHttpApiData v => (BC.ByteString, v) -> WH.Form+toForm (k,v) = WH.toForm [(BC.unpack k,v)]++toQuery :: WH.ToHttpApiData a => (BC.ByteString, Maybe a) -> [NH.QueryItem]+toQuery x = [(fmap . fmap) toQueryParam x]+ where toQueryParam = T.encodeUtf8 . WH.toQueryParam++toPartialEscapeQuery :: B.ByteString -> NH.Query -> NH.PartialEscapeQuery+toPartialEscapeQuery extraUnreserved query = fmap (\(k, v) -> (k, maybe [] go v)) query+ where go :: B.ByteString -> [NH.EscapeItem]+ go v = v & B.groupBy (\a b -> a `B.notElem` extraUnreserved && b `B.notElem` extraUnreserved)+ & fmap (\xs -> if B.null xs then NH.QN xs+ else if B.head xs `B.elem` extraUnreserved+ then NH.QN xs -- Not Encoded+ else NH.QE xs -- Encoded+ )++-- *** OpenAPI `CollectionFormat` Utils++-- | Determines the format of the array if type array is used.+data CollectionFormat+ = CommaSeparated -- ^ CSV format for multiple parameters.+ | SpaceSeparated -- ^ Also called "SSV"+ | TabSeparated -- ^ Also called "TSV"+ | PipeSeparated -- ^ `value1|value2|value2`+ | MultiParamArray -- ^ Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" ('NH.Query') or "formData" ('WH.Form')++toHeaderColl :: WH.ToHttpApiData a => CollectionFormat -> (NH.HeaderName, [a]) -> [NH.Header]+toHeaderColl c xs = _toColl c toHeader xs++toFormColl :: WH.ToHttpApiData v => CollectionFormat -> (BC.ByteString, [v]) -> WH.Form+toFormColl c xs = WH.toForm $ fmap unpack $ _toColl c toHeader $ pack xs+ where+ pack (k,v) = (CI.mk k, v)+ unpack (k,v) = (BC.unpack (CI.original k), BC.unpack v)++toQueryColl :: WH.ToHttpApiData a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query+toQueryColl c xs = _toCollA c toQuery xs++_toColl :: P.Traversable f => CollectionFormat -> (f a -> [(b, BC.ByteString)]) -> f [a] -> [(b, BC.ByteString)]+_toColl c encode xs = fmap (fmap P.fromJust) (_toCollA' c fencode BC.singleton (fmap Just xs))+ where fencode = fmap (fmap Just) . encode . fmap P.fromJust+ {-# INLINE fencode #-}++_toCollA :: (P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t BC.ByteString)]) -> f (t [a]) -> [(b, t BC.ByteString)]+_toCollA c encode xs = _toCollA' c encode BC.singleton xs++_toCollA' :: (P.Monoid c, P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)]+_toCollA' c encode one xs = case c of+ CommaSeparated -> go (one ',')+ SpaceSeparated -> go (one ' ')+ TabSeparated -> go (one '\t')+ PipeSeparated -> go (one '|')+ MultiParamArray -> expandList+ where+ go sep =+ [P.foldl1 (\(sk, sv) (_, v) -> (sk, (combine sep <$> sv <*> v) <|> sv <|> v)) expandList]+ combine sep x y = x <> sep <> y+ expandList = (P.concatMap encode . (P.traverse . P.traverse) P.toList) xs+ {-# INLINE go #-}+ {-# INLINE expandList #-}+ {-# INLINE combine #-}++-- * AuthMethods++-- | Provides a method to apply auth methods to requests+class P.Typeable a =>+ AuthMethod a where+ applyAuthMethod+ :: OryHydraConfig+ -> a+ -> OryHydraRequest req contentType res accept+ -> IO (OryHydraRequest req contentType res accept)++-- | An existential wrapper for any AuthMethod+data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable)++instance AuthMethod AnyAuthMethod where applyAuthMethod config (AnyAuthMethod a) req = applyAuthMethod config a req++-- | indicates exceptions related to AuthMethods+data AuthMethodException = AuthMethodException String deriving (P.Show, P.Typeable)++instance E.Exception AuthMethodException++-- | apply all matching AuthMethods in config to request+_applyAuthMethods+ :: OryHydraRequest req contentType res accept+ -> OryHydraConfig+ -> IO (OryHydraRequest req contentType res accept)+_applyAuthMethods req config@(OryHydraConfig {configAuthMethods = as}) =+ foldlM go req as+ where+ go r (AnyAuthMethod a) = applyAuthMethod config a r++-- * Utils++-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)+#if MIN_VERSION_aeson(2,0,0)+_omitNulls :: [(A.Key, A.Value)] -> A.Value+#else+_omitNulls :: [(Text, A.Value)] -> A.Value+#endif+_omitNulls = A.object . P.filter notNull+ where+ notNull (_, A.Null) = False+ notNull _ = True++-- | Encodes fields using WH.toQueryParam+_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])+_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x++-- | Collapse (Just "") to Nothing+_emptyToNothing :: Maybe String -> Maybe String+_emptyToNothing (Just "") = Nothing+_emptyToNothing x = x+{-# INLINE _emptyToNothing #-}++-- | Collapse (Just mempty) to Nothing+_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a+_memptyToNothing (Just x) | x P.== P.mempty = Nothing+_memptyToNothing x = x+{-# INLINE _memptyToNothing #-}++-- * DateTime Formatting++newtype DateTime = DateTime { unDateTime :: TI.UTCTime }+ deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)+instance A.FromJSON DateTime where+ parseJSON = A.withText "DateTime" (_readDateTime . T.unpack)+instance A.ToJSON DateTime where+ toJSON (DateTime t) = A.toJSON (_showDateTime t)+instance WH.FromHttpApiData DateTime where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @DateTime") P.Right . _readDateTime . T.unpack+instance WH.ToHttpApiData DateTime where+ toUrlPiece (DateTime t) = T.pack (_showDateTime t)+instance P.Show DateTime where+ show (DateTime t) = _showDateTime t+instance MimeRender MimeMultipartFormData DateTime where+ mimeRender _ = mimeRenderDefaultMultipartFormData++-- | @_parseISO8601@+_readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime+_readDateTime s =+ DateTime <$> _parseISO8601 s+{-# INLINE _readDateTime #-}++-- | @TI.formatISO8601Millis@+_showDateTime :: (t ~ TI.UTCTime, TI.FormatTime t) => t -> String+_showDateTime =+ TI.formatISO8601Millis+{-# INLINE _showDateTime #-}++-- | parse an ISO8601 date-time string+_parseISO8601 :: (TI.ParseTime t, MonadFail m, Alternative m) => String -> m t+_parseISO8601 t =+ P.asum $+ P.flip (TI.parseTimeM True TI.defaultTimeLocale) t <$>+ ["%FT%T%QZ", "%FT%T%Q%z", "%FT%T%Q%Z"]+{-# INLINE _parseISO8601 #-}++-- * Date Formatting++newtype Date = Date { unDate :: TI.Day }+ deriving (P.Enum,P.Eq,P.Data,P.Ord,P.Ix,NF.NFData)+instance A.FromJSON Date where+ parseJSON = A.withText "Date" (_readDate . T.unpack)+instance A.ToJSON Date where+ toJSON (Date t) = A.toJSON (_showDate t)+instance WH.FromHttpApiData Date where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @Date") P.Right . _readDate . T.unpack+instance WH.ToHttpApiData Date where+ toUrlPiece (Date t) = T.pack (_showDate t)+instance P.Show Date where+ show (Date t) = _showDate t+instance MimeRender MimeMultipartFormData Date where+ mimeRender _ = mimeRenderDefaultMultipartFormData++-- | @TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"@+_readDate :: MonadFail m => String -> m Date+_readDate s = Date <$> TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d" s+{-# INLINE _readDate #-}++-- | @TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"@+_showDate :: TI.FormatTime t => t -> String+_showDate =+ TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"+{-# INLINE _showDate #-}++-- * Byte/Binary Formatting+++-- | base64 encoded characters+newtype ByteArray = ByteArray { unByteArray :: BL.ByteString }+ deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)++instance A.FromJSON ByteArray where+ parseJSON = A.withText "ByteArray" _readByteArray+instance A.ToJSON ByteArray where+ toJSON = A.toJSON . _showByteArray+instance WH.FromHttpApiData ByteArray where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @ByteArray") P.Right . _readByteArray+instance WH.ToHttpApiData ByteArray where+ toUrlPiece = _showByteArray+instance P.Show ByteArray where+ show = T.unpack . _showByteArray+instance MimeRender MimeMultipartFormData ByteArray where+ mimeRender _ = mimeRenderDefaultMultipartFormData++-- | read base64 encoded characters+_readByteArray :: MonadFail m => Text -> m ByteArray+_readByteArray = P.either P.fail (pure . ByteArray) . BL64.decode . BL.fromStrict . T.encodeUtf8+{-# INLINE _readByteArray #-}++-- | show base64 encoded characters+_showByteArray :: ByteArray -> Text+_showByteArray = T.decodeUtf8 . BL.toStrict . BL64.encode . unByteArray+{-# INLINE _showByteArray #-}++-- | any sequence of octets+newtype Binary = Binary { unBinary :: BL.ByteString }+ deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)++instance A.FromJSON Binary where+ parseJSON = A.withText "Binary" _readBinaryBase64+instance A.ToJSON Binary where+ toJSON = A.toJSON . _showBinaryBase64+instance WH.FromHttpApiData Binary where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @Binary") P.Right . _readBinaryBase64+instance WH.ToHttpApiData Binary where+ toUrlPiece = _showBinaryBase64+instance P.Show Binary where+ show = T.unpack . _showBinaryBase64+instance MimeRender MimeMultipartFormData Binary where+ mimeRender _ = unBinary++_readBinaryBase64 :: MonadFail m => Text -> m Binary+_readBinaryBase64 = P.either P.fail (pure . Binary) . BL64.decode . BL.fromStrict . T.encodeUtf8+{-# INLINE _readBinaryBase64 #-}++_showBinaryBase64 :: Binary -> Text+_showBinaryBase64 = T.decodeUtf8 . BL.toStrict . BL64.encode . unBinary+{-# INLINE _showBinaryBase64 #-}++-- * Lens Type Aliases++type Lens_' s a = Lens_ s s a a+type Lens_ s t a b = forall (f :: K.Type -> K.Type). Functor f => (a -> f b) -> s -> f t
+ lib/OryHydra/Logging.hs view
@@ -0,0 +1,34 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.Logging+Logging functions+-}+{-# LANGUAGE CPP #-}++#ifdef USE_KATIP++module OryHydra.Logging+ ( module OryHydra.LoggingKatip+ ) where++import OryHydra.LoggingKatip++#else++module OryHydra.Logging+ ( module OryHydra.LoggingMonadLogger+ ) where++import OryHydra.LoggingMonadLogger++#endif
+ lib/OryHydra/LoggingKatip.hs view
@@ -0,0 +1,118 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.LoggingKatip+Katip Logging functions+-}++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}++module OryHydra.LoggingKatip where++import qualified Control.Exception.Safe as E+import qualified Control.Monad.IO.Class as P+import qualified Control.Monad.Trans.Reader as P+import qualified Data.Text as T+import qualified Lens.Micro as L+import qualified System.IO as IO++import Data.Text (Text)+import GHC.Exts (IsString(..))++import qualified Katip as LG++-- * Type Aliases (for compatibility)++-- | Runs a Katip logging block with the Log environment+type LogExecWithContext = forall m a. P.MonadIO m =>+ LogContext -> LogExec m a++-- | A Katip logging block+type LogExec m a = LG.KatipT m a -> m a++-- | A Katip Log environment+type LogContext = LG.LogEnv++-- | A Katip Log severity+type LogLevel = LG.Severity++-- * default logger++-- | the default log environment+initLogContext :: IO LogContext+initLogContext = LG.initLogEnv "OryHydra" "dev"++-- | Runs a Katip logging block with the Log environment+runDefaultLogExecWithContext :: LogExecWithContext+runDefaultLogExecWithContext = LG.runKatipT++-- * stdout logger++-- | Runs a Katip logging block with the Log environment+stdoutLoggingExec :: LogExecWithContext+stdoutLoggingExec = runDefaultLogExecWithContext++-- | A Katip Log environment which targets stdout+stdoutLoggingContext :: LogContext -> IO LogContext+stdoutLoggingContext cxt = do+ handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stdout (LG.permitItem LG.InfoS) LG.V2+ LG.registerScribe "stdout" handleScribe LG.defaultScribeSettings cxt++-- * stderr logger++-- | Runs a Katip logging block with the Log environment+stderrLoggingExec :: LogExecWithContext+stderrLoggingExec = runDefaultLogExecWithContext++-- | A Katip Log environment which targets stderr+stderrLoggingContext :: LogContext -> IO LogContext+stderrLoggingContext cxt = do+ handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stderr (LG.permitItem LG.InfoS) LG.V2+ LG.registerScribe "stderr" handleScribe LG.defaultScribeSettings cxt++-- * Null logger++-- | Disables Katip logging+runNullLogExec :: LogExecWithContext+runNullLogExec le (LG.KatipT f) = P.runReaderT f (L.set LG.logEnvScribes mempty le)++-- * Log Msg++-- | Log a katip message+_log :: (Applicative m, LG.Katip m) => Text -> LogLevel -> Text -> m ()+_log src level msg = do+ LG.logMsg (fromString $ T.unpack src) level (LG.logStr msg)++-- * Log Exceptions++-- | re-throws exceptions after logging them+logExceptions+ :: (LG.Katip m, E.MonadCatch m, Applicative m)+ => Text -> m a -> m a+logExceptions src =+ E.handle+ (\(e :: E.SomeException) -> do+ _log src LG.ErrorS ((T.pack . show) e)+ E.throw e)++-- * Log Level++levelInfo :: LogLevel+levelInfo = LG.InfoS++levelError :: LogLevel+levelError = LG.ErrorS++levelDebug :: LogLevel+levelDebug = LG.DebugS
+ lib/OryHydra/LoggingMonadLogger.hs view
@@ -0,0 +1,127 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.LoggingMonadLogger+monad-logger Logging functions+-}++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}++module OryHydra.LoggingMonadLogger where++import qualified Control.Exception.Safe as E+import qualified Control.Monad.IO.Class as P+import qualified Data.Text as T+import qualified Data.Time as TI++import Data.Text (Text)++import qualified Control.Monad.Logger as LG++-- * Type Aliases (for compatibility)++-- | Runs a monad-logger block with the filter predicate+type LogExecWithContext = forall m a. P.MonadIO m =>+ LogContext -> LogExec m a++-- | A monad-logger block+type LogExec m a = LG.LoggingT m a -> m a++-- | A monad-logger filter predicate+type LogContext = LG.LogSource -> LG.LogLevel -> Bool++-- | A monad-logger log level+type LogLevel = LG.LogLevel++-- * default logger++-- | the default log environment+initLogContext :: IO LogContext+initLogContext = pure infoLevelFilter++-- | Runs a monad-logger block with the filter predicate+runDefaultLogExecWithContext :: LogExecWithContext+runDefaultLogExecWithContext = runNullLogExec++-- * stdout logger++-- | Runs a monad-logger block targeting stdout, with the filter predicate+stdoutLoggingExec :: LogExecWithContext+stdoutLoggingExec cxt = LG.runStdoutLoggingT . LG.filterLogger cxt++-- | @pure@+stdoutLoggingContext :: LogContext -> IO LogContext+stdoutLoggingContext = pure++-- * stderr logger++-- | Runs a monad-logger block targeting stderr, with the filter predicate+stderrLoggingExec :: LogExecWithContext+stderrLoggingExec cxt = LG.runStderrLoggingT . LG.filterLogger cxt++-- | @pure@+stderrLoggingContext :: LogContext -> IO LogContext+stderrLoggingContext = pure++-- * Null logger++-- | Disables monad-logger logging+runNullLogExec :: LogExecWithContext+runNullLogExec = const (`LG.runLoggingT` nullLogger)++-- | monad-logger which does nothing+nullLogger :: LG.Loc -> LG.LogSource -> LG.LogLevel -> LG.LogStr -> IO ()+nullLogger _ _ _ _ = return ()++-- * Log Msg++-- | Log a message using the current time+_log :: (P.MonadIO m, LG.MonadLogger m) => Text -> LG.LogLevel -> Text -> m ()+_log src level msg = do+ now <- P.liftIO (formatTimeLog <$> TI.getCurrentTime)+ LG.logOtherNS ("OryHydra." <> src) level ("[" <> now <> "] " <> msg)+ where+ formatTimeLog =+ T.pack . TI.formatTime TI.defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Z"++-- * Log Exceptions++-- | re-throws exceptions after logging them+logExceptions+ :: (LG.MonadLogger m, E.MonadCatch m, P.MonadIO m)+ => Text -> m a -> m a+logExceptions src =+ E.handle+ (\(e :: E.SomeException) -> do+ _log src LG.LevelError ((T.pack . show) e)+ E.throw e)++-- * Log Level++levelInfo :: LogLevel+levelInfo = LG.LevelInfo++levelError :: LogLevel+levelError = LG.LevelError++levelDebug :: LogLevel+levelDebug = LG.LevelDebug++-- * Level Filter++minLevelFilter :: LG.LogLevel -> LG.LogSource -> LG.LogLevel -> Bool+minLevelFilter l _ l' = l' >= l++infoLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool+infoLevelFilter = minLevelFilter LG.LevelInfo
+ lib/OryHydra/MimeTypes.hs view
@@ -0,0 +1,204 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.MimeTypes+-}++{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.MimeTypes where++import qualified Control.Arrow as P (left)+import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Builder as BB+import qualified Data.ByteString.Char8 as BC+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Lazy.Char8 as BCL+import qualified Data.Data as P (Typeable)+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.String as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Network.HTTP.Media as ME+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Prelude (($), (.),(<$>),(<*>),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty)+import qualified Prelude as P++-- * ContentType MimeType++data ContentType a = MimeType a => ContentType { unContentType :: a }++-- * Accept MimeType++data Accept a = MimeType a => Accept { unAccept :: a }++-- * Consumes Class++class MimeType mtype => Consumes req mtype where++-- * Produces Class++class MimeType mtype => Produces req mtype where++-- * Default Mime Types++data MimeJSON = MimeJSON deriving (P.Typeable)+data MimeXML = MimeXML deriving (P.Typeable)+data MimePlainText = MimePlainText deriving (P.Typeable)+data MimeFormUrlEncoded = MimeFormUrlEncoded deriving (P.Typeable)+data MimeMultipartFormData = MimeMultipartFormData deriving (P.Typeable)+data MimeOctetStream = MimeOctetStream deriving (P.Typeable)+data MimeNoContent = MimeNoContent deriving (P.Typeable)+data MimeAny = MimeAny deriving (P.Typeable)++-- | A type for responses without content-body.+data NoContent = NoContent+ deriving (P.Show, P.Eq, P.Typeable)+++-- * MimeType Class++class P.Typeable mtype => MimeType mtype where+ {-# MINIMAL mimeType | mimeTypes #-}++ mimeTypes :: P.Proxy mtype -> [ME.MediaType]+ mimeTypes p =+ case mimeType p of+ Just x -> [x]+ Nothing -> []++ mimeType :: P.Proxy mtype -> Maybe ME.MediaType+ mimeType p =+ case mimeTypes p of+ [] -> Nothing+ (x:_) -> Just x++ mimeType' :: mtype -> Maybe ME.MediaType+ mimeType' _ = mimeType (P.Proxy :: P.Proxy mtype)+ mimeTypes' :: mtype -> [ME.MediaType]+ mimeTypes' _ = mimeTypes (P.Proxy :: P.Proxy mtype)++-- Default MimeType Instances++-- | @application/json; charset=utf-8@+instance MimeType MimeJSON where+ mimeType _ = Just $ P.fromString "application/json"+-- | @application/xml; charset=utf-8@+instance MimeType MimeXML where+ mimeType _ = Just $ P.fromString "application/xml"+-- | @application/x-www-form-urlencoded@+instance MimeType MimeFormUrlEncoded where+ mimeType _ = Just $ P.fromString "application/x-www-form-urlencoded"+-- | @multipart/form-data@+instance MimeType MimeMultipartFormData where+ mimeType _ = Just $ P.fromString "multipart/form-data"+-- | @text/plain; charset=utf-8@+instance MimeType MimePlainText where+ mimeType _ = Just $ P.fromString "text/plain"+-- | @application/octet-stream@+instance MimeType MimeOctetStream where+ mimeType _ = Just $ P.fromString "application/octet-stream"+-- | @"*/*"@+instance MimeType MimeAny where+ mimeType _ = Just $ P.fromString "*/*"+instance MimeType MimeNoContent where+ mimeType _ = Nothing++-- * MimeRender Class++class MimeType mtype => MimeRender mtype x where+ mimeRender :: P.Proxy mtype -> x -> BL.ByteString+ mimeRender' :: mtype -> x -> BL.ByteString+ mimeRender' _ x = mimeRender (P.Proxy :: P.Proxy mtype) x+++mimeRenderDefaultMultipartFormData :: WH.ToHttpApiData a => a -> BL.ByteString+mimeRenderDefaultMultipartFormData = BL.fromStrict . T.encodeUtf8 . WH.toQueryParam++-- Default MimeRender Instances++-- | `A.encode`+instance A.ToJSON a => MimeRender MimeJSON a where mimeRender _ = A.encode+-- | @WH.urlEncodeAsForm@+instance WH.ToForm a => MimeRender MimeFormUrlEncoded a where mimeRender _ = WH.urlEncodeAsForm++-- | @P.id@+instance MimeRender MimePlainText BL.ByteString where mimeRender _ = P.id+-- | @BL.fromStrict . T.encodeUtf8@+instance MimeRender MimePlainText T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8+-- | @BCL.pack@+instance MimeRender MimePlainText String where mimeRender _ = BCL.pack++-- | @P.id@+instance MimeRender MimeOctetStream BL.ByteString where mimeRender _ = P.id+-- | @BL.fromStrict . T.encodeUtf8@+instance MimeRender MimeOctetStream T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8+-- | @BCL.pack@+instance MimeRender MimeOctetStream String where mimeRender _ = BCL.pack++instance MimeRender MimeMultipartFormData BL.ByteString where mimeRender _ = P.id++instance MimeRender MimeMultipartFormData Bool where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Char where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Double where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Float where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Int where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Integer where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData String where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData T.Text where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | @P.Right . P.const NoContent@+instance MimeRender MimeNoContent NoContent where mimeRender _ = P.const BCL.empty+++-- * MimeUnrender Class++class MimeType mtype => MimeUnrender mtype o where+ mimeUnrender :: P.Proxy mtype -> BL.ByteString -> P.Either String o+ mimeUnrender' :: mtype -> BL.ByteString -> P.Either String o+ mimeUnrender' _ x = mimeUnrender (P.Proxy :: P.Proxy mtype) x++-- Default MimeUnrender Instances++-- | @A.eitherDecode@+instance A.FromJSON a => MimeUnrender MimeJSON a where mimeUnrender _ = A.eitherDecode+-- | @P.left T.unpack . WH.urlDecodeAsForm@+instance WH.FromForm a => MimeUnrender MimeFormUrlEncoded a where mimeUnrender _ = P.left T.unpack . WH.urlDecodeAsForm+-- | @P.Right . P.id@++instance MimeUnrender MimePlainText BL.ByteString where mimeUnrender _ = P.Right . P.id+-- | @P.left P.show . TL.decodeUtf8'@+instance MimeUnrender MimePlainText T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict+-- | @P.Right . BCL.unpack@+instance MimeUnrender MimePlainText String where mimeUnrender _ = P.Right . BCL.unpack++-- | @P.Right . P.id@+instance MimeUnrender MimeOctetStream BL.ByteString where mimeUnrender _ = P.Right . P.id+-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@+instance MimeUnrender MimeOctetStream T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict+-- | @P.Right . BCL.unpack@+instance MimeUnrender MimeOctetStream String where mimeUnrender _ = P.Right . BCL.unpack++-- | @P.Right . P.const NoContent@+instance MimeUnrender MimeNoContent NoContent where mimeUnrender _ = P.Right . P.const NoContent++
+ lib/OryHydra/Model.hs view
@@ -0,0 +1,2238 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.Model+-}++{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}+{-# LANGUAGE TypeFamilies #-}+{-# OPTIONS_GHC -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.Model where++import OryHydra.Core+import OryHydra.MimeTypes++import Data.Aeson ((.:),(.:!),(.:?),(.=))++import qualified Control.Arrow as P (left)+import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Base64 as B64+import qualified Data.ByteString.Char8 as BC+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)+import qualified Data.Foldable as P+import qualified Data.HashMap.Lazy as HM+import qualified Data.Map as Map+import qualified Data.Maybe as P+import qualified Data.Set as Set+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Time as TI+import qualified Lens.Micro as L+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Control.Applicative ((<|>))+import Control.Applicative (Alternative)+import Data.Function ((&))+import Data.Monoid ((<>))+import Data.Text (Text)+import Prelude (($),(/=),(.),(<$>),(<*>),(>>=),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)++import qualified Prelude as P++++-- * Parameter newtypes+++-- ** All+newtype All = All { unAll :: Bool } deriving (P.Eq, P.Show)++-- ** Client+newtype Client = Client { unClient :: Text } deriving (P.Eq, P.Show)++-- ** ClientId+newtype ClientId = ClientId { unClientId :: Text } deriving (P.Eq, P.Show)++-- ** ClientName+newtype ClientName = ClientName { unClientName :: Text } deriving (P.Eq, P.Show)++-- ** ClientSecret+newtype ClientSecret = ClientSecret { unClientSecret :: Text } deriving (P.Eq, P.Show)++-- ** Code+newtype Code = Code { unCode :: Text } deriving (P.Eq, P.Show)++-- ** ConsentChallenge+newtype ConsentChallenge = ConsentChallenge { unConsentChallenge :: Text } deriving (P.Eq, P.Show)++-- ** DefaultItems+newtype DefaultItems = DefaultItems { unDefaultItems :: Integer } deriving (P.Eq, P.Show)++-- ** GrantType+newtype GrantType = GrantType { unGrantType :: Text } deriving (P.Eq, P.Show)++-- ** Id+newtype Id = Id { unId :: Text } deriving (P.Eq, P.Show)++-- ** Issuer+newtype Issuer = Issuer { unIssuer :: Text } deriving (P.Eq, P.Show)++-- ** JsonPatch2+newtype JsonPatch2 = JsonPatch2 { unJsonPatch2 :: [JsonPatch] } deriving (P.Eq, P.Show, A.ToJSON)++-- ** Kid+newtype Kid = Kid { unKid :: Text } deriving (P.Eq, P.Show)++-- ** LoginChallenge+newtype LoginChallenge = LoginChallenge { unLoginChallenge :: Text } deriving (P.Eq, P.Show)++-- ** LoginSessionId+newtype LoginSessionId = LoginSessionId { unLoginSessionId :: Text } deriving (P.Eq, P.Show)++-- ** LogoutChallenge+newtype LogoutChallenge = LogoutChallenge { unLogoutChallenge :: Text } deriving (P.Eq, P.Show)++-- ** MaxItems+newtype MaxItems = MaxItems { unMaxItems :: Integer } deriving (P.Eq, P.Show)++-- ** Owner+newtype Owner = Owner { unOwner :: Text } deriving (P.Eq, P.Show)++-- ** PageSize+newtype PageSize = PageSize { unPageSize :: Integer } deriving (P.Eq, P.Show)++-- ** PageToken+newtype PageToken = PageToken { unPageToken :: Text } deriving (P.Eq, P.Show)++-- ** RedirectUri+newtype RedirectUri = RedirectUri { unRedirectUri :: Text } deriving (P.Eq, P.Show)++-- ** RefreshToken+newtype RefreshToken = RefreshToken { unRefreshToken :: Text } deriving (P.Eq, P.Show)++-- ** Scope+newtype Scope = Scope { unScope :: Text } deriving (P.Eq, P.Show)++-- ** Set+newtype Set = Set { unSet :: Text } deriving (P.Eq, P.Show)++-- ** Subject+newtype Subject = Subject { unSubject :: Text } deriving (P.Eq, P.Show)++-- ** Token+newtype Token = Token { unToken :: Text } deriving (P.Eq, P.Show)++-- * Models+++-- ** AcceptOAuth2ConsentRequest+-- | AcceptOAuth2ConsentRequest+-- The request payload used to accept a consent request.+-- +data AcceptOAuth2ConsentRequest = AcceptOAuth2ConsentRequest+ { acceptOAuth2ConsentRequestGrantAccessTokenAudience :: Maybe [Text] -- ^ "grant_access_token_audience"+ , acceptOAuth2ConsentRequestGrantScope :: Maybe [Text] -- ^ "grant_scope"+ , acceptOAuth2ConsentRequestHandledAt :: Maybe DateTime -- ^ "handled_at"+ , acceptOAuth2ConsentRequestRemember :: Maybe Bool -- ^ "remember" - Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.+ , acceptOAuth2ConsentRequestRememberFor :: Maybe Integer -- ^ "remember_for" - RememberFor sets how long the consent authorization should be remembered for in seconds. If set to `0`, the authorization will be remembered indefinitely.+ , acceptOAuth2ConsentRequestSession :: Maybe AcceptOAuth2ConsentRequestSession -- ^ "session"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AcceptOAuth2ConsentRequest+instance A.FromJSON AcceptOAuth2ConsentRequest where+ parseJSON = A.withObject "AcceptOAuth2ConsentRequest" $ \o ->+ AcceptOAuth2ConsentRequest+ <$> (o .:? "grant_access_token_audience")+ <*> (o .:? "grant_scope")+ <*> (o .:? "handled_at")+ <*> (o .:? "remember")+ <*> (o .:? "remember_for")+ <*> (o .:? "session")++-- | ToJSON AcceptOAuth2ConsentRequest+instance A.ToJSON AcceptOAuth2ConsentRequest where+ toJSON AcceptOAuth2ConsentRequest {..} =+ _omitNulls+ [ "grant_access_token_audience" .= acceptOAuth2ConsentRequestGrantAccessTokenAudience+ , "grant_scope" .= acceptOAuth2ConsentRequestGrantScope+ , "handled_at" .= acceptOAuth2ConsentRequestHandledAt+ , "remember" .= acceptOAuth2ConsentRequestRemember+ , "remember_for" .= acceptOAuth2ConsentRequestRememberFor+ , "session" .= acceptOAuth2ConsentRequestSession+ ]+++-- | Construct a value of type 'AcceptOAuth2ConsentRequest' (by applying it's required fields, if any)+mkAcceptOAuth2ConsentRequest+ :: AcceptOAuth2ConsentRequest+mkAcceptOAuth2ConsentRequest =+ AcceptOAuth2ConsentRequest+ { acceptOAuth2ConsentRequestGrantAccessTokenAudience = Nothing+ , acceptOAuth2ConsentRequestGrantScope = Nothing+ , acceptOAuth2ConsentRequestHandledAt = Nothing+ , acceptOAuth2ConsentRequestRemember = Nothing+ , acceptOAuth2ConsentRequestRememberFor = Nothing+ , acceptOAuth2ConsentRequestSession = Nothing+ }++-- ** AcceptOAuth2ConsentRequestSession+-- | AcceptOAuth2ConsentRequestSession+-- Pass session data to a consent request.+-- +data AcceptOAuth2ConsentRequestSession = AcceptOAuth2ConsentRequestSession+ { acceptOAuth2ConsentRequestSessionAccessToken :: Maybe A.Value -- ^ "access_token" - AccessToken sets session data for the access and refresh token, as well as any future tokens issued by the refresh grant. Keep in mind that this data will be available to anyone performing OAuth 2.0 Challenge Introspection. If only your services can perform OAuth 2.0 Challenge Introspection, this is usually fine. But if third parties can access that endpoint as well, sensitive data from the session might be exposed to them. Use with care!+ , acceptOAuth2ConsentRequestSessionIdToken :: Maybe A.Value -- ^ "id_token" - IDToken sets session data for the OpenID Connect ID token. Keep in mind that the session'id payloads are readable by anyone that has access to the ID Challenge. Use with care!+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AcceptOAuth2ConsentRequestSession+instance A.FromJSON AcceptOAuth2ConsentRequestSession where+ parseJSON = A.withObject "AcceptOAuth2ConsentRequestSession" $ \o ->+ AcceptOAuth2ConsentRequestSession+ <$> (o .:? "access_token")+ <*> (o .:? "id_token")++-- | ToJSON AcceptOAuth2ConsentRequestSession+instance A.ToJSON AcceptOAuth2ConsentRequestSession where+ toJSON AcceptOAuth2ConsentRequestSession {..} =+ _omitNulls+ [ "access_token" .= acceptOAuth2ConsentRequestSessionAccessToken+ , "id_token" .= acceptOAuth2ConsentRequestSessionIdToken+ ]+++-- | Construct a value of type 'AcceptOAuth2ConsentRequestSession' (by applying it's required fields, if any)+mkAcceptOAuth2ConsentRequestSession+ :: AcceptOAuth2ConsentRequestSession+mkAcceptOAuth2ConsentRequestSession =+ AcceptOAuth2ConsentRequestSession+ { acceptOAuth2ConsentRequestSessionAccessToken = Nothing+ , acceptOAuth2ConsentRequestSessionIdToken = Nothing+ }++-- ** AcceptOAuth2LoginRequest+-- | AcceptOAuth2LoginRequest+-- HandledLoginRequest is the request payload used to accept a login request.+-- +data AcceptOAuth2LoginRequest = AcceptOAuth2LoginRequest+ { acceptOAuth2LoginRequestAcr :: Maybe Text -- ^ "acr" - ACR sets the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.+ , acceptOAuth2LoginRequestAmr :: Maybe [Text] -- ^ "amr"+ , acceptOAuth2LoginRequestContext :: Maybe A.Value -- ^ "context"+ , acceptOAuth2LoginRequestForceSubjectIdentifier :: Maybe Text -- ^ "force_subject_identifier" - ForceSubjectIdentifier forces the \"pairwise\" user ID of the end-user that authenticated. The \"pairwise\" user ID refers to the (Pairwise Identifier Algorithm)[http://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg] of the OpenID Connect specification. It allows you to set an obfuscated subject (\"user\") identifier that is unique to the client. Please note that this changes the user ID on endpoint /userinfo and sub claim of the ID Token. It does not change the sub claim in the OAuth 2.0 Introspection. Per default, ORY Hydra handles this value with its own algorithm. In case you want to set this yourself you can use this field. Please note that setting this field has no effect if `pairwise` is not configured in ORY Hydra or the OAuth 2.0 Client does not expect a pairwise identifier (set via `subject_type` key in the client's configuration). Please also be aware that ORY Hydra is unable to properly compute this value during authentication. This implies that you have to compute this value on every authentication process (probably depending on the client ID or some other unique value). If you fail to compute the proper value, then authentication processes which have id_token_hint set might fail.+ , acceptOAuth2LoginRequestRemember :: Maybe Bool -- ^ "remember" - Remember, if set to true, tells ORY Hydra to remember this user by telling the user agent (browser) to store a cookie with authentication data. If the same user performs another OAuth 2.0 Authorization Request, he/she will not be asked to log in again.+ , acceptOAuth2LoginRequestRememberFor :: Maybe Integer -- ^ "remember_for" - RememberFor sets how long the authentication should be remembered for in seconds. If set to `0`, the authorization will be remembered for the duration of the browser session (using a session cookie).+ , acceptOAuth2LoginRequestSubject :: Text -- ^ /Required/ "subject" - Subject is the user ID of the end-user that authenticated.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AcceptOAuth2LoginRequest+instance A.FromJSON AcceptOAuth2LoginRequest where+ parseJSON = A.withObject "AcceptOAuth2LoginRequest" $ \o ->+ AcceptOAuth2LoginRequest+ <$> (o .:? "acr")+ <*> (o .:? "amr")+ <*> (o .:? "context")+ <*> (o .:? "force_subject_identifier")+ <*> (o .:? "remember")+ <*> (o .:? "remember_for")+ <*> (o .: "subject")++-- | ToJSON AcceptOAuth2LoginRequest+instance A.ToJSON AcceptOAuth2LoginRequest where+ toJSON AcceptOAuth2LoginRequest {..} =+ _omitNulls+ [ "acr" .= acceptOAuth2LoginRequestAcr+ , "amr" .= acceptOAuth2LoginRequestAmr+ , "context" .= acceptOAuth2LoginRequestContext+ , "force_subject_identifier" .= acceptOAuth2LoginRequestForceSubjectIdentifier+ , "remember" .= acceptOAuth2LoginRequestRemember+ , "remember_for" .= acceptOAuth2LoginRequestRememberFor+ , "subject" .= acceptOAuth2LoginRequestSubject+ ]+++-- | Construct a value of type 'AcceptOAuth2LoginRequest' (by applying it's required fields, if any)+mkAcceptOAuth2LoginRequest+ :: Text -- ^ 'acceptOAuth2LoginRequestSubject': Subject is the user ID of the end-user that authenticated.+ -> AcceptOAuth2LoginRequest+mkAcceptOAuth2LoginRequest acceptOAuth2LoginRequestSubject =+ AcceptOAuth2LoginRequest+ { acceptOAuth2LoginRequestAcr = Nothing+ , acceptOAuth2LoginRequestAmr = Nothing+ , acceptOAuth2LoginRequestContext = Nothing+ , acceptOAuth2LoginRequestForceSubjectIdentifier = Nothing+ , acceptOAuth2LoginRequestRemember = Nothing+ , acceptOAuth2LoginRequestRememberFor = Nothing+ , acceptOAuth2LoginRequestSubject+ }++-- ** CreateJsonWebKeySet+-- | CreateJsonWebKeySet+-- Create JSON Web Key Set Request Body+data CreateJsonWebKeySet = CreateJsonWebKeySet+ { createJsonWebKeySetAlg :: Text -- ^ /Required/ "alg" - JSON Web Key Algorithm The algorithm to be used for creating the key. Supports `RS256`, `ES256`, `ES512`, `HS512`, and `HS256`.+ , createJsonWebKeySetKid :: Text -- ^ /Required/ "kid" - JSON Web Key ID The Key ID of the key to be created.+ , createJsonWebKeySetUse :: Text -- ^ /Required/ "use" - JSON Web Key Use 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. Valid values are \"enc\" and \"sig\".+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateJsonWebKeySet+instance A.FromJSON CreateJsonWebKeySet where+ parseJSON = A.withObject "CreateJsonWebKeySet" $ \o ->+ CreateJsonWebKeySet+ <$> (o .: "alg")+ <*> (o .: "kid")+ <*> (o .: "use")++-- | ToJSON CreateJsonWebKeySet+instance A.ToJSON CreateJsonWebKeySet where+ toJSON CreateJsonWebKeySet {..} =+ _omitNulls+ [ "alg" .= createJsonWebKeySetAlg+ , "kid" .= createJsonWebKeySetKid+ , "use" .= createJsonWebKeySetUse+ ]+++-- | Construct a value of type 'CreateJsonWebKeySet' (by applying it's required fields, if any)+mkCreateJsonWebKeySet+ :: Text -- ^ 'createJsonWebKeySetAlg': JSON Web Key Algorithm The algorithm to be used for creating the key. Supports `RS256`, `ES256`, `ES512`, `HS512`, and `HS256`.+ -> Text -- ^ 'createJsonWebKeySetKid': JSON Web Key ID The Key ID of the key to be created.+ -> Text -- ^ 'createJsonWebKeySetUse': JSON Web Key Use 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. Valid values are \"enc\" and \"sig\".+ -> CreateJsonWebKeySet+mkCreateJsonWebKeySet createJsonWebKeySetAlg createJsonWebKeySetKid createJsonWebKeySetUse =+ CreateJsonWebKeySet+ { createJsonWebKeySetAlg+ , createJsonWebKeySetKid+ , createJsonWebKeySetUse+ }++-- ** ErrorOAuth2+-- | ErrorOAuth2+-- Error+data ErrorOAuth2 = ErrorOAuth2+ { errorOAuth2Error :: Maybe Text -- ^ "error" - Error+ , errorOAuth2ErrorDebug :: Maybe Text -- ^ "error_debug" - Error Debug Information Only available in dev mode.+ , errorOAuth2ErrorDescription :: Maybe Text -- ^ "error_description" - Error Description+ , errorOAuth2ErrorHint :: Maybe Text -- ^ "error_hint" - Error Hint Helps the user identify the error cause.+ , errorOAuth2StatusCode :: Maybe Integer -- ^ "status_code" - HTTP Status Code+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON ErrorOAuth2+instance A.FromJSON ErrorOAuth2 where+ parseJSON = A.withObject "ErrorOAuth2" $ \o ->+ ErrorOAuth2+ <$> (o .:? "error")+ <*> (o .:? "error_debug")+ <*> (o .:? "error_description")+ <*> (o .:? "error_hint")+ <*> (o .:? "status_code")++-- | ToJSON ErrorOAuth2+instance A.ToJSON ErrorOAuth2 where+ toJSON ErrorOAuth2 {..} =+ _omitNulls+ [ "error" .= errorOAuth2Error+ , "error_debug" .= errorOAuth2ErrorDebug+ , "error_description" .= errorOAuth2ErrorDescription+ , "error_hint" .= errorOAuth2ErrorHint+ , "status_code" .= errorOAuth2StatusCode+ ]+++-- | Construct a value of type 'ErrorOAuth2' (by applying it's required fields, if any)+mkErrorOAuth2+ :: ErrorOAuth2+mkErrorOAuth2 =+ ErrorOAuth2+ { errorOAuth2Error = Nothing+ , errorOAuth2ErrorDebug = Nothing+ , errorOAuth2ErrorDescription = Nothing+ , errorOAuth2ErrorHint = Nothing+ , errorOAuth2StatusCode = Nothing+ }++-- ** GenericError+-- | GenericError+data GenericError = GenericError+ { genericErrorCode :: Maybe Integer -- ^ "code" - The status code+ , genericErrorDebug :: Maybe Text -- ^ "debug" - Debug information This field is often not exposed to protect against leaking sensitive information.+ , genericErrorDetails :: Maybe A.Value -- ^ "details" - Further error details+ , genericErrorId :: Maybe Text -- ^ "id" - The error ID Useful when trying to identify various errors in application logic.+ , genericErrorMessage :: Text -- ^ /Required/ "message" - Error message The error's message.+ , genericErrorReason :: Maybe Text -- ^ "reason" - A human-readable reason for the error+ , genericErrorRequest :: Maybe Text -- ^ "request" - The request ID The request ID is often exposed internally in order to trace errors across service architectures. This is often a UUID.+ , genericErrorStatus :: Maybe Text -- ^ "status" - The status description+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GenericError+instance A.FromJSON GenericError where+ parseJSON = A.withObject "GenericError" $ \o ->+ GenericError+ <$> (o .:? "code")+ <*> (o .:? "debug")+ <*> (o .:? "details")+ <*> (o .:? "id")+ <*> (o .: "message")+ <*> (o .:? "reason")+ <*> (o .:? "request")+ <*> (o .:? "status")++-- | ToJSON GenericError+instance A.ToJSON GenericError where+ toJSON GenericError {..} =+ _omitNulls+ [ "code" .= genericErrorCode+ , "debug" .= genericErrorDebug+ , "details" .= genericErrorDetails+ , "id" .= genericErrorId+ , "message" .= genericErrorMessage+ , "reason" .= genericErrorReason+ , "request" .= genericErrorRequest+ , "status" .= genericErrorStatus+ ]+++-- | Construct a value of type 'GenericError' (by applying it's required fields, if any)+mkGenericError+ :: Text -- ^ 'genericErrorMessage': Error message The error's message.+ -> GenericError+mkGenericError genericErrorMessage =+ GenericError+ { genericErrorCode = Nothing+ , genericErrorDebug = Nothing+ , genericErrorDetails = Nothing+ , genericErrorId = Nothing+ , genericErrorMessage+ , genericErrorReason = Nothing+ , genericErrorRequest = Nothing+ , genericErrorStatus = Nothing+ }++-- ** GetVersion200Response+-- | GetVersion200Response+data GetVersion200Response = GetVersion200Response+ { getVersion200ResponseVersion :: Maybe Text -- ^ "version" - The version of Ory Hydra.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GetVersion200Response+instance A.FromJSON GetVersion200Response where+ parseJSON = A.withObject "GetVersion200Response" $ \o ->+ GetVersion200Response+ <$> (o .:? "version")++-- | ToJSON GetVersion200Response+instance A.ToJSON GetVersion200Response where+ toJSON GetVersion200Response {..} =+ _omitNulls+ [ "version" .= getVersion200ResponseVersion+ ]+++-- | Construct a value of type 'GetVersion200Response' (by applying it's required fields, if any)+mkGetVersion200Response+ :: GetVersion200Response+mkGetVersion200Response =+ GetVersion200Response+ { getVersion200ResponseVersion = Nothing+ }++-- ** HealthNotReadyStatus+-- | HealthNotReadyStatus+data HealthNotReadyStatus = HealthNotReadyStatus+ { healthNotReadyStatusErrors :: Maybe (Map.Map String Text) -- ^ "errors" - Errors contains a list of errors that caused the not ready status.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON HealthNotReadyStatus+instance A.FromJSON HealthNotReadyStatus where+ parseJSON = A.withObject "HealthNotReadyStatus" $ \o ->+ HealthNotReadyStatus+ <$> (o .:? "errors")++-- | ToJSON HealthNotReadyStatus+instance A.ToJSON HealthNotReadyStatus where+ toJSON HealthNotReadyStatus {..} =+ _omitNulls+ [ "errors" .= healthNotReadyStatusErrors+ ]+++-- | Construct a value of type 'HealthNotReadyStatus' (by applying it's required fields, if any)+mkHealthNotReadyStatus+ :: HealthNotReadyStatus+mkHealthNotReadyStatus =+ HealthNotReadyStatus+ { healthNotReadyStatusErrors = Nothing+ }++-- ** HealthStatus+-- | HealthStatus+data HealthStatus = HealthStatus+ { healthStatusStatus :: Maybe Text -- ^ "status" - Status always contains \"ok\".+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON HealthStatus+instance A.FromJSON HealthStatus where+ parseJSON = A.withObject "HealthStatus" $ \o ->+ HealthStatus+ <$> (o .:? "status")++-- | ToJSON HealthStatus+instance A.ToJSON HealthStatus where+ toJSON HealthStatus {..} =+ _omitNulls+ [ "status" .= healthStatusStatus+ ]+++-- | Construct a value of type 'HealthStatus' (by applying it's required fields, if any)+mkHealthStatus+ :: HealthStatus+mkHealthStatus =+ HealthStatus+ { healthStatusStatus = Nothing+ }++-- ** IntrospectedOAuth2Token+-- | IntrospectedOAuth2Token+-- Introspection contains an access token's session data as specified by [IETF RFC 7662](https://tools.ietf.org/html/rfc7662)+data IntrospectedOAuth2Token = IntrospectedOAuth2Token+ { introspectedOAuth2TokenActive :: Bool -- ^ /Required/ "active" - Active is a boolean indicator of whether or not the presented token is currently active. The specifics of a token's \"active\" state will vary depending on the implementation of the authorization server and the information it keeps about its tokens, but a \"true\" value return for the \"active\" property will generally indicate that a given token has been issued by this authorization server, has not been revoked by the resource owner, and is within its given time window of validity (e.g., after its issuance time and before its expiration time).+ , introspectedOAuth2TokenAud :: Maybe [Text] -- ^ "aud" - Audience contains a list of the token's intended audiences.+ , introspectedOAuth2TokenClientId :: Maybe Text -- ^ "client_id" - ID is aclient identifier for the OAuth 2.0 client that requested this token.+ , introspectedOAuth2TokenExp :: Maybe Integer -- ^ "exp" - Expires at is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token will expire.+ , introspectedOAuth2TokenExt :: Maybe (Map.Map String A.Value) -- ^ "ext" - Extra is arbitrary data set by the session.+ , introspectedOAuth2TokenIat :: Maybe Integer -- ^ "iat" - Issued at is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token was originally issued.+ , introspectedOAuth2TokenIss :: Maybe Text -- ^ "iss" - IssuerURL is a string representing the issuer of this token+ , introspectedOAuth2TokenNbf :: Maybe Integer -- ^ "nbf" - NotBefore is an integer timestamp, measured in the number of seconds since January 1 1970 UTC, indicating when this token is not to be used before.+ , introspectedOAuth2TokenObfuscatedSubject :: Maybe Text -- ^ "obfuscated_subject" - ObfuscatedSubject is set when the subject identifier algorithm was set to \"pairwise\" during authorization. It is the `sub` value of the ID Token that was issued.+ , introspectedOAuth2TokenScope :: Maybe Text -- ^ "scope" - Scope is a JSON string containing a space-separated list of scopes associated with this token.+ , introspectedOAuth2TokenSub :: Maybe Text -- ^ "sub" - Subject of the token, as defined in JWT [RFC7519]. Usually a machine-readable identifier of the resource owner who authorized this token.+ , introspectedOAuth2TokenTokenType :: Maybe Text -- ^ "token_type" - TokenType is the introspected token's type, typically `Bearer`.+ , introspectedOAuth2TokenTokenUse :: Maybe Text -- ^ "token_use" - TokenUse is the introspected token's use, for example `access_token` or `refresh_token`.+ , introspectedOAuth2TokenUsername :: Maybe Text -- ^ "username" - Username is a human-readable identifier for the resource owner who authorized this token.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON IntrospectedOAuth2Token+instance A.FromJSON IntrospectedOAuth2Token where+ parseJSON = A.withObject "IntrospectedOAuth2Token" $ \o ->+ IntrospectedOAuth2Token+ <$> (o .: "active")+ <*> (o .:? "aud")+ <*> (o .:? "client_id")+ <*> (o .:? "exp")+ <*> (o .:? "ext")+ <*> (o .:? "iat")+ <*> (o .:? "iss")+ <*> (o .:? "nbf")+ <*> (o .:? "obfuscated_subject")+ <*> (o .:? "scope")+ <*> (o .:? "sub")+ <*> (o .:? "token_type")+ <*> (o .:? "token_use")+ <*> (o .:? "username")++-- | ToJSON IntrospectedOAuth2Token+instance A.ToJSON IntrospectedOAuth2Token where+ toJSON IntrospectedOAuth2Token {..} =+ _omitNulls+ [ "active" .= introspectedOAuth2TokenActive+ , "aud" .= introspectedOAuth2TokenAud+ , "client_id" .= introspectedOAuth2TokenClientId+ , "exp" .= introspectedOAuth2TokenExp+ , "ext" .= introspectedOAuth2TokenExt+ , "iat" .= introspectedOAuth2TokenIat+ , "iss" .= introspectedOAuth2TokenIss+ , "nbf" .= introspectedOAuth2TokenNbf+ , "obfuscated_subject" .= introspectedOAuth2TokenObfuscatedSubject+ , "scope" .= introspectedOAuth2TokenScope+ , "sub" .= introspectedOAuth2TokenSub+ , "token_type" .= introspectedOAuth2TokenTokenType+ , "token_use" .= introspectedOAuth2TokenTokenUse+ , "username" .= introspectedOAuth2TokenUsername+ ]+++-- | Construct a value of type 'IntrospectedOAuth2Token' (by applying it's required fields, if any)+mkIntrospectedOAuth2Token+ :: Bool -- ^ 'introspectedOAuth2TokenActive': Active is a boolean indicator of whether or not the presented token is currently active. The specifics of a token's \"active\" state will vary depending on the implementation of the authorization server and the information it keeps about its tokens, but a \"true\" value return for the \"active\" property will generally indicate that a given token has been issued by this authorization server, has not been revoked by the resource owner, and is within its given time window of validity (e.g., after its issuance time and before its expiration time).+ -> IntrospectedOAuth2Token+mkIntrospectedOAuth2Token introspectedOAuth2TokenActive =+ IntrospectedOAuth2Token+ { introspectedOAuth2TokenActive+ , introspectedOAuth2TokenAud = Nothing+ , introspectedOAuth2TokenClientId = Nothing+ , introspectedOAuth2TokenExp = Nothing+ , introspectedOAuth2TokenExt = Nothing+ , introspectedOAuth2TokenIat = Nothing+ , introspectedOAuth2TokenIss = Nothing+ , introspectedOAuth2TokenNbf = Nothing+ , introspectedOAuth2TokenObfuscatedSubject = Nothing+ , introspectedOAuth2TokenScope = Nothing+ , introspectedOAuth2TokenSub = Nothing+ , introspectedOAuth2TokenTokenType = Nothing+ , introspectedOAuth2TokenTokenUse = Nothing+ , introspectedOAuth2TokenUsername = Nothing+ }++-- ** IsReady200Response+-- | IsReady200Response+data IsReady200Response = IsReady200Response+ { isReady200ResponseStatus :: Maybe Text -- ^ "status" - Always \"ok\".+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON IsReady200Response+instance A.FromJSON IsReady200Response where+ parseJSON = A.withObject "IsReady200Response" $ \o ->+ IsReady200Response+ <$> (o .:? "status")++-- | ToJSON IsReady200Response+instance A.ToJSON IsReady200Response where+ toJSON IsReady200Response {..} =+ _omitNulls+ [ "status" .= isReady200ResponseStatus+ ]+++-- | Construct a value of type 'IsReady200Response' (by applying it's required fields, if any)+mkIsReady200Response+ :: IsReady200Response+mkIsReady200Response =+ IsReady200Response+ { isReady200ResponseStatus = Nothing+ }++-- ** IsReady503Response+-- | IsReady503Response+data IsReady503Response = IsReady503Response+ { isReady503ResponseErrors :: Maybe (Map.Map String Text) -- ^ "errors" - Errors contains a list of errors that caused the not ready status.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON IsReady503Response+instance A.FromJSON IsReady503Response where+ parseJSON = A.withObject "IsReady503Response" $ \o ->+ IsReady503Response+ <$> (o .:? "errors")++-- | ToJSON IsReady503Response+instance A.ToJSON IsReady503Response where+ toJSON IsReady503Response {..} =+ _omitNulls+ [ "errors" .= isReady503ResponseErrors+ ]+++-- | Construct a value of type 'IsReady503Response' (by applying it's required fields, if any)+mkIsReady503Response+ :: IsReady503Response+mkIsReady503Response =+ IsReady503Response+ { isReady503ResponseErrors = Nothing+ }++-- ** JsonPatch+-- | JsonPatch+-- A JSONPatch document as defined by RFC 6902+data JsonPatch = JsonPatch+ { jsonPatchFrom :: Maybe Text -- ^ "from" - This field is used together with operation \"move\" and uses JSON Pointer notation. Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5).+ , jsonPatchOp :: Text -- ^ /Required/ "op" - The operation to be performed. One of \"add\", \"remove\", \"replace\", \"move\", \"copy\", or \"test\".+ , jsonPatchPath :: Text -- ^ /Required/ "path" - The path to the target path. Uses JSON pointer notation. Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5).+ , jsonPatchValue :: Maybe A.Value -- ^ "value" - The value to be used within the operations. Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5).+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON JsonPatch+instance A.FromJSON JsonPatch where+ parseJSON = A.withObject "JsonPatch" $ \o ->+ JsonPatch+ <$> (o .:? "from")+ <*> (o .: "op")+ <*> (o .: "path")+ <*> (o .:? "value")++-- | ToJSON JsonPatch+instance A.ToJSON JsonPatch where+ toJSON JsonPatch {..} =+ _omitNulls+ [ "from" .= jsonPatchFrom+ , "op" .= jsonPatchOp+ , "path" .= jsonPatchPath+ , "value" .= jsonPatchValue+ ]+++-- | Construct a value of type 'JsonPatch' (by applying it's required fields, if any)+mkJsonPatch+ :: Text -- ^ 'jsonPatchOp': The operation to be performed. One of \"add\", \"remove\", \"replace\", \"move\", \"copy\", or \"test\".+ -> Text -- ^ 'jsonPatchPath': The path to the target path. Uses JSON pointer notation. Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5).+ -> JsonPatch+mkJsonPatch jsonPatchOp jsonPatchPath =+ JsonPatch+ { jsonPatchFrom = Nothing+ , jsonPatchOp+ , jsonPatchPath+ , jsonPatchValue = Nothing+ }++-- ** JsonWebKey+-- | JsonWebKey+data JsonWebKey = JsonWebKey+ { jsonWebKeyAlg :: Text -- ^ /Required/ "alg" - 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.+ , jsonWebKeyCrv :: Maybe Text -- ^ "crv"+ , jsonWebKeyD :: Maybe Text -- ^ "d"+ , jsonWebKeyDp :: Maybe Text -- ^ "dp"+ , jsonWebKeyDq :: Maybe Text -- ^ "dq"+ , jsonWebKeyE :: Maybe Text -- ^ "e"+ , jsonWebKeyK :: Maybe Text -- ^ "k"+ , jsonWebKeyKid :: Text -- ^ /Required/ "kid" - 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.+ , jsonWebKeyKty :: Text -- ^ /Required/ "kty" - 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.+ , jsonWebKeyN :: Maybe Text -- ^ "n"+ , jsonWebKeyP :: Maybe Text -- ^ "p"+ , jsonWebKeyQ :: Maybe Text -- ^ "q"+ , jsonWebKeyQi :: Maybe Text -- ^ "qi"+ , jsonWebKeyUse :: Text -- ^ /Required/ "use" - Use (\"public key use\") 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).+ , jsonWebKeyX :: Maybe Text -- ^ "x"+ , jsonWebKeyX5c :: Maybe [Text] -- ^ "x5c" - 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.+ , jsonWebKeyY :: Maybe Text -- ^ "y"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON JsonWebKey+instance A.FromJSON JsonWebKey where+ parseJSON = A.withObject "JsonWebKey" $ \o ->+ JsonWebKey+ <$> (o .: "alg")+ <*> (o .:? "crv")+ <*> (o .:? "d")+ <*> (o .:? "dp")+ <*> (o .:? "dq")+ <*> (o .:? "e")+ <*> (o .:? "k")+ <*> (o .: "kid")+ <*> (o .: "kty")+ <*> (o .:? "n")+ <*> (o .:? "p")+ <*> (o .:? "q")+ <*> (o .:? "qi")+ <*> (o .: "use")+ <*> (o .:? "x")+ <*> (o .:? "x5c")+ <*> (o .:? "y")++-- | ToJSON JsonWebKey+instance A.ToJSON JsonWebKey where+ toJSON JsonWebKey {..} =+ _omitNulls+ [ "alg" .= jsonWebKeyAlg+ , "crv" .= jsonWebKeyCrv+ , "d" .= jsonWebKeyD+ , "dp" .= jsonWebKeyDp+ , "dq" .= jsonWebKeyDq+ , "e" .= jsonWebKeyE+ , "k" .= jsonWebKeyK+ , "kid" .= jsonWebKeyKid+ , "kty" .= jsonWebKeyKty+ , "n" .= jsonWebKeyN+ , "p" .= jsonWebKeyP+ , "q" .= jsonWebKeyQ+ , "qi" .= jsonWebKeyQi+ , "use" .= jsonWebKeyUse+ , "x" .= jsonWebKeyX+ , "x5c" .= jsonWebKeyX5c+ , "y" .= jsonWebKeyY+ ]+++-- | Construct a value of type 'JsonWebKey' (by applying it's required fields, if any)+mkJsonWebKey+ :: Text -- ^ 'jsonWebKeyAlg': 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.+ -> Text -- ^ 'jsonWebKeyKid': 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.+ -> Text -- ^ 'jsonWebKeyKty': 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.+ -> Text -- ^ 'jsonWebKeyUse': Use (\"public key use\") 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).+ -> JsonWebKey+mkJsonWebKey jsonWebKeyAlg jsonWebKeyKid jsonWebKeyKty jsonWebKeyUse =+ JsonWebKey+ { jsonWebKeyAlg+ , jsonWebKeyCrv = Nothing+ , jsonWebKeyD = Nothing+ , jsonWebKeyDp = Nothing+ , jsonWebKeyDq = Nothing+ , jsonWebKeyE = Nothing+ , jsonWebKeyK = Nothing+ , jsonWebKeyKid+ , jsonWebKeyKty+ , jsonWebKeyN = Nothing+ , jsonWebKeyP = Nothing+ , jsonWebKeyQ = Nothing+ , jsonWebKeyQi = Nothing+ , jsonWebKeyUse+ , jsonWebKeyX = Nothing+ , jsonWebKeyX5c = Nothing+ , jsonWebKeyY = Nothing+ }++-- ** JsonWebKeySet+-- | JsonWebKeySet+-- JSON Web Key Set+data JsonWebKeySet = JsonWebKeySet+ { jsonWebKeySetKeys :: Maybe [JsonWebKey] -- ^ "keys" - List of JSON Web Keys The value of the \"keys\" parameter is an array of JSON Web Key (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.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON JsonWebKeySet+instance A.FromJSON JsonWebKeySet where+ parseJSON = A.withObject "JsonWebKeySet" $ \o ->+ JsonWebKeySet+ <$> (o .:? "keys")++-- | ToJSON JsonWebKeySet+instance A.ToJSON JsonWebKeySet where+ toJSON JsonWebKeySet {..} =+ _omitNulls+ [ "keys" .= jsonWebKeySetKeys+ ]+++-- | Construct a value of type 'JsonWebKeySet' (by applying it's required fields, if any)+mkJsonWebKeySet+ :: JsonWebKeySet+mkJsonWebKeySet =+ JsonWebKeySet+ { jsonWebKeySetKeys = Nothing+ }++-- ** OAuth2Client+-- | OAuth2Client+-- OAuth 2.0 Client+-- +-- OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+data OAuth2Client = OAuth2Client+ { oAuth2ClientAllowedCorsOrigins :: Maybe [Text] -- ^ "allowed_cors_origins"+ , oAuth2ClientAudience :: Maybe [Text] -- ^ "audience"+ , oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan :: Maybe Text -- ^ "authorization_code_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientAuthorizationCodeGrantIdTokenLifespan :: Maybe Text -- ^ "authorization_code_grant_id_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan :: Maybe Text -- ^ "authorization_code_grant_refresh_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientBackchannelLogoutSessionRequired :: Maybe Bool -- ^ "backchannel_logout_session_required" - OpenID Connect Back-Channel Logout Session Required Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout Token to identify the RP session with the OP when the backchannel_logout_uri is used. If omitted, the default value is false.+ , oAuth2ClientBackchannelLogoutUri :: Maybe Text -- ^ "backchannel_logout_uri" - OpenID Connect Back-Channel Logout URI RP URL that will cause the RP to log itself out when sent a Logout Token by the OP.+ , oAuth2ClientClientCredentialsGrantAccessTokenLifespan :: Maybe Text -- ^ "client_credentials_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientClientId :: Maybe Text -- ^ "client_id" - OAuth 2.0 Client ID The ID is autogenerated and immutable.+ , oAuth2ClientClientName :: Maybe Text -- ^ "client_name" - OAuth 2.0 Client Name The human-readable name of the client to be presented to the end-user during authorization.+ , oAuth2ClientClientSecret :: Maybe Text -- ^ "client_secret" - OAuth 2.0 Client Secret The secret will be included in the create request as cleartext, and then never again. The secret is kept in hashed format and is not recoverable once lost.+ , oAuth2ClientClientSecretExpiresAt :: Maybe Integer -- ^ "client_secret_expires_at" - OAuth 2.0 Client Secret Expires At The field is currently not supported and its value is always 0.+ , oAuth2ClientClientUri :: Maybe Text -- ^ "client_uri" - OAuth 2.0 Client URI ClientURI is a URL string of a web page providing information about the client. If present, the server SHOULD display this URL to the end-user in a clickable fashion.+ , oAuth2ClientContacts :: Maybe [Text] -- ^ "contacts"+ , oAuth2ClientCreatedAt :: Maybe DateTime -- ^ "created_at" - OAuth 2.0 Client Creation Date CreatedAt returns the timestamp of the client's creation.+ , oAuth2ClientFrontchannelLogoutSessionRequired :: Maybe Bool -- ^ "frontchannel_logout_session_required" - OpenID Connect Front-Channel Logout Session Required Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be included to identify the RP session with the OP when the frontchannel_logout_uri is used. If omitted, the default value is false.+ , oAuth2ClientFrontchannelLogoutUri :: Maybe Text -- ^ "frontchannel_logout_uri" - OpenID Connect Front-Channel Logout URI RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the request and to determine which of the potentially multiple sessions is to be logged out; if either is included, both MUST be.+ , oAuth2ClientGrantTypes :: Maybe [Text] -- ^ "grant_types"+ , oAuth2ClientImplicitGrantAccessTokenLifespan :: Maybe Text -- ^ "implicit_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientImplicitGrantIdTokenLifespan :: Maybe Text -- ^ "implicit_grant_id_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientJwks :: Maybe A.Value -- ^ "jwks" - OAuth 2.0 Client JSON Web Key Set Client's JSON Web Key Set [JWK] document, passed by value. The semantics of the jwks parameter are the same as the jwks_uri parameter, other than that the JWK Set is passed by value, rather than by reference. This parameter is intended only to be used by Clients that, for some reason, are unable to use the jwks_uri parameter, for instance, by native applications that might not have a location to host the contents of the JWK Set. If a Client can use jwks_uri, it MUST NOT use jwks. One significant downside of jwks is that it does not enable key rotation (which jwks_uri does, as described in Section 10 of OpenID Connect Core 1.0 [OpenID.Core]). The jwks_uri and jwks parameters MUST NOT be used together.+ , oAuth2ClientJwksUri :: Maybe Text -- ^ "jwks_uri" - OAuth 2.0 Client JSON Web Key Set URL URL for the Client's JSON Web Key Set [JWK] document. If the Client signs requests to the Server, it contains the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.+ , oAuth2ClientJwtBearerGrantAccessTokenLifespan :: Maybe Text -- ^ "jwt_bearer_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientLogoUri :: Maybe Text -- ^ "logo_uri" - OAuth 2.0 Client Logo URI A URL string referencing the client's logo.+ , oAuth2ClientMetadata :: Maybe A.Value -- ^ "metadata"+ , oAuth2ClientOwner :: Maybe Text -- ^ "owner" - OAuth 2.0 Client Owner Owner is a string identifying the owner of the OAuth 2.0 Client.+ , oAuth2ClientPolicyUri :: Maybe Text -- ^ "policy_uri" - OAuth 2.0 Client Policy URI PolicyURI is a URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data.+ , oAuth2ClientPostLogoutRedirectUris :: Maybe [Text] -- ^ "post_logout_redirect_uris"+ , oAuth2ClientRedirectUris :: Maybe [Text] -- ^ "redirect_uris"+ , oAuth2ClientRefreshTokenGrantAccessTokenLifespan :: Maybe Text -- ^ "refresh_token_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientRefreshTokenGrantIdTokenLifespan :: Maybe Text -- ^ "refresh_token_grant_id_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientRefreshTokenGrantRefreshTokenLifespan :: Maybe Text -- ^ "refresh_token_grant_refresh_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientRegistrationAccessToken :: Maybe Text -- ^ "registration_access_token" - OpenID Connect Dynamic Client Registration Access Token RegistrationAccessToken can be used to update, get, or delete the OAuth2 Client. It is sent when creating a client using Dynamic Client Registration.+ , oAuth2ClientRegistrationClientUri :: Maybe Text -- ^ "registration_client_uri" - OpenID Connect Dynamic Client Registration URL RegistrationClientURI is the URL used to update, get, or delete the OAuth2 Client.+ , oAuth2ClientRequestObjectSigningAlg :: Maybe Text -- ^ "request_object_signing_alg" - OpenID Connect Request Object Signing Algorithm JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP. All Request Objects from this Client MUST be rejected, if not signed with this algorithm.+ , oAuth2ClientRequestUris :: Maybe [Text] -- ^ "request_uris"+ , oAuth2ClientResponseTypes :: Maybe [Text] -- ^ "response_types"+ , oAuth2ClientScope :: Maybe Text -- ^ "scope" - OAuth 2.0 Client Scope Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.+ , oAuth2ClientSectorIdentifierUri :: Maybe Text -- ^ "sector_identifier_uri" - OpenID Connect Sector Identifier URI URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a file with a single JSON array of redirect_uri values.+ , oAuth2ClientSubjectType :: Maybe Text -- ^ "subject_type" - OpenID Connect Subject Type The `subject_types_supported` Discovery parameter contains a list of the supported subject_type values for this server. Valid types include `pairwise` and `public`.+ , oAuth2ClientTokenEndpointAuthMethod :: Maybe Text -- ^ "token_endpoint_auth_method" - OAuth 2.0 Token Endpoint Authentication Method Requested Client Authentication method for the Token Endpoint. The options are: `client_secret_post`: (default) Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` in the HTTP body. `client_secret_basic`: Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` encoded in the HTTP Authorization header. `private_key_jwt`: Use JSON Web Tokens to authenticate the client. `none`: Used for public clients (native apps, mobile apps) which can not have secrets.+ , oAuth2ClientTokenEndpointAuthSigningAlg :: Maybe Text -- ^ "token_endpoint_auth_signing_alg" - OAuth 2.0 Token Endpoint Signing Algorithm Requested Client Authentication signing algorithm for the Token Endpoint.+ , oAuth2ClientTosUri :: Maybe Text -- ^ "tos_uri" - OAuth 2.0 Client Terms of Service URI A URL string pointing to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client.+ , oAuth2ClientUpdatedAt :: Maybe DateTime -- ^ "updated_at" - OAuth 2.0 Client Last Update Date UpdatedAt returns the timestamp of the last update.+ , oAuth2ClientUserinfoSignedResponseAlg :: Maybe Text -- ^ "userinfo_signed_response_alg" - OpenID Connect Request Userinfo Signed Response Algorithm JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT [JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims as a UTF-8 encoded JSON object using the application/json content-type.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2Client+instance A.FromJSON OAuth2Client where+ parseJSON = A.withObject "OAuth2Client" $ \o ->+ OAuth2Client+ <$> (o .:? "allowed_cors_origins")+ <*> (o .:? "audience")+ <*> (o .:? "authorization_code_grant_access_token_lifespan")+ <*> (o .:? "authorization_code_grant_id_token_lifespan")+ <*> (o .:? "authorization_code_grant_refresh_token_lifespan")+ <*> (o .:? "backchannel_logout_session_required")+ <*> (o .:? "backchannel_logout_uri")+ <*> (o .:? "client_credentials_grant_access_token_lifespan")+ <*> (o .:? "client_id")+ <*> (o .:? "client_name")+ <*> (o .:? "client_secret")+ <*> (o .:? "client_secret_expires_at")+ <*> (o .:? "client_uri")+ <*> (o .:? "contacts")+ <*> (o .:? "created_at")+ <*> (o .:? "frontchannel_logout_session_required")+ <*> (o .:? "frontchannel_logout_uri")+ <*> (o .:? "grant_types")+ <*> (o .:? "implicit_grant_access_token_lifespan")+ <*> (o .:? "implicit_grant_id_token_lifespan")+ <*> (o .:? "jwks")+ <*> (o .:? "jwks_uri")+ <*> (o .:? "jwt_bearer_grant_access_token_lifespan")+ <*> (o .:? "logo_uri")+ <*> (o .:? "metadata")+ <*> (o .:? "owner")+ <*> (o .:? "policy_uri")+ <*> (o .:? "post_logout_redirect_uris")+ <*> (o .:? "redirect_uris")+ <*> (o .:? "refresh_token_grant_access_token_lifespan")+ <*> (o .:? "refresh_token_grant_id_token_lifespan")+ <*> (o .:? "refresh_token_grant_refresh_token_lifespan")+ <*> (o .:? "registration_access_token")+ <*> (o .:? "registration_client_uri")+ <*> (o .:? "request_object_signing_alg")+ <*> (o .:? "request_uris")+ <*> (o .:? "response_types")+ <*> (o .:? "scope")+ <*> (o .:? "sector_identifier_uri")+ <*> (o .:? "subject_type")+ <*> (o .:? "token_endpoint_auth_method")+ <*> (o .:? "token_endpoint_auth_signing_alg")+ <*> (o .:? "tos_uri")+ <*> (o .:? "updated_at")+ <*> (o .:? "userinfo_signed_response_alg")++-- | ToJSON OAuth2Client+instance A.ToJSON OAuth2Client where+ toJSON OAuth2Client {..} =+ _omitNulls+ [ "allowed_cors_origins" .= oAuth2ClientAllowedCorsOrigins+ , "audience" .= oAuth2ClientAudience+ , "authorization_code_grant_access_token_lifespan" .= oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan+ , "authorization_code_grant_id_token_lifespan" .= oAuth2ClientAuthorizationCodeGrantIdTokenLifespan+ , "authorization_code_grant_refresh_token_lifespan" .= oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan+ , "backchannel_logout_session_required" .= oAuth2ClientBackchannelLogoutSessionRequired+ , "backchannel_logout_uri" .= oAuth2ClientBackchannelLogoutUri+ , "client_credentials_grant_access_token_lifespan" .= oAuth2ClientClientCredentialsGrantAccessTokenLifespan+ , "client_id" .= oAuth2ClientClientId+ , "client_name" .= oAuth2ClientClientName+ , "client_secret" .= oAuth2ClientClientSecret+ , "client_secret_expires_at" .= oAuth2ClientClientSecretExpiresAt+ , "client_uri" .= oAuth2ClientClientUri+ , "contacts" .= oAuth2ClientContacts+ , "created_at" .= oAuth2ClientCreatedAt+ , "frontchannel_logout_session_required" .= oAuth2ClientFrontchannelLogoutSessionRequired+ , "frontchannel_logout_uri" .= oAuth2ClientFrontchannelLogoutUri+ , "grant_types" .= oAuth2ClientGrantTypes+ , "implicit_grant_access_token_lifespan" .= oAuth2ClientImplicitGrantAccessTokenLifespan+ , "implicit_grant_id_token_lifespan" .= oAuth2ClientImplicitGrantIdTokenLifespan+ , "jwks" .= oAuth2ClientJwks+ , "jwks_uri" .= oAuth2ClientJwksUri+ , "jwt_bearer_grant_access_token_lifespan" .= oAuth2ClientJwtBearerGrantAccessTokenLifespan+ , "logo_uri" .= oAuth2ClientLogoUri+ , "metadata" .= oAuth2ClientMetadata+ , "owner" .= oAuth2ClientOwner+ , "policy_uri" .= oAuth2ClientPolicyUri+ , "post_logout_redirect_uris" .= oAuth2ClientPostLogoutRedirectUris+ , "redirect_uris" .= oAuth2ClientRedirectUris+ , "refresh_token_grant_access_token_lifespan" .= oAuth2ClientRefreshTokenGrantAccessTokenLifespan+ , "refresh_token_grant_id_token_lifespan" .= oAuth2ClientRefreshTokenGrantIdTokenLifespan+ , "refresh_token_grant_refresh_token_lifespan" .= oAuth2ClientRefreshTokenGrantRefreshTokenLifespan+ , "registration_access_token" .= oAuth2ClientRegistrationAccessToken+ , "registration_client_uri" .= oAuth2ClientRegistrationClientUri+ , "request_object_signing_alg" .= oAuth2ClientRequestObjectSigningAlg+ , "request_uris" .= oAuth2ClientRequestUris+ , "response_types" .= oAuth2ClientResponseTypes+ , "scope" .= oAuth2ClientScope+ , "sector_identifier_uri" .= oAuth2ClientSectorIdentifierUri+ , "subject_type" .= oAuth2ClientSubjectType+ , "token_endpoint_auth_method" .= oAuth2ClientTokenEndpointAuthMethod+ , "token_endpoint_auth_signing_alg" .= oAuth2ClientTokenEndpointAuthSigningAlg+ , "tos_uri" .= oAuth2ClientTosUri+ , "updated_at" .= oAuth2ClientUpdatedAt+ , "userinfo_signed_response_alg" .= oAuth2ClientUserinfoSignedResponseAlg+ ]+++-- | Construct a value of type 'OAuth2Client' (by applying it's required fields, if any)+mkOAuth2Client+ :: OAuth2Client+mkOAuth2Client =+ OAuth2Client+ { oAuth2ClientAllowedCorsOrigins = Nothing+ , oAuth2ClientAudience = Nothing+ , oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan = Nothing+ , oAuth2ClientAuthorizationCodeGrantIdTokenLifespan = Nothing+ , oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan = Nothing+ , oAuth2ClientBackchannelLogoutSessionRequired = Nothing+ , oAuth2ClientBackchannelLogoutUri = Nothing+ , oAuth2ClientClientCredentialsGrantAccessTokenLifespan = Nothing+ , oAuth2ClientClientId = Nothing+ , oAuth2ClientClientName = Nothing+ , oAuth2ClientClientSecret = Nothing+ , oAuth2ClientClientSecretExpiresAt = Nothing+ , oAuth2ClientClientUri = Nothing+ , oAuth2ClientContacts = Nothing+ , oAuth2ClientCreatedAt = Nothing+ , oAuth2ClientFrontchannelLogoutSessionRequired = Nothing+ , oAuth2ClientFrontchannelLogoutUri = Nothing+ , oAuth2ClientGrantTypes = Nothing+ , oAuth2ClientImplicitGrantAccessTokenLifespan = Nothing+ , oAuth2ClientImplicitGrantIdTokenLifespan = Nothing+ , oAuth2ClientJwks = Nothing+ , oAuth2ClientJwksUri = Nothing+ , oAuth2ClientJwtBearerGrantAccessTokenLifespan = Nothing+ , oAuth2ClientLogoUri = Nothing+ , oAuth2ClientMetadata = Nothing+ , oAuth2ClientOwner = Nothing+ , oAuth2ClientPolicyUri = Nothing+ , oAuth2ClientPostLogoutRedirectUris = Nothing+ , oAuth2ClientRedirectUris = Nothing+ , oAuth2ClientRefreshTokenGrantAccessTokenLifespan = Nothing+ , oAuth2ClientRefreshTokenGrantIdTokenLifespan = Nothing+ , oAuth2ClientRefreshTokenGrantRefreshTokenLifespan = Nothing+ , oAuth2ClientRegistrationAccessToken = Nothing+ , oAuth2ClientRegistrationClientUri = Nothing+ , oAuth2ClientRequestObjectSigningAlg = Nothing+ , oAuth2ClientRequestUris = Nothing+ , oAuth2ClientResponseTypes = Nothing+ , oAuth2ClientScope = Nothing+ , oAuth2ClientSectorIdentifierUri = Nothing+ , oAuth2ClientSubjectType = Nothing+ , oAuth2ClientTokenEndpointAuthMethod = Nothing+ , oAuth2ClientTokenEndpointAuthSigningAlg = Nothing+ , oAuth2ClientTosUri = Nothing+ , oAuth2ClientUpdatedAt = Nothing+ , oAuth2ClientUserinfoSignedResponseAlg = Nothing+ }++-- ** OAuth2ClientTokenLifespans+-- | OAuth2ClientTokenLifespans+-- OAuth 2.0 Client Token Lifespans+-- +-- Lifespans of different token types issued for this OAuth 2.0 Client.+data OAuth2ClientTokenLifespans = OAuth2ClientTokenLifespans+ { oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan :: Maybe Text -- ^ "authorization_code_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan :: Maybe Text -- ^ "authorization_code_grant_id_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan :: Maybe Text -- ^ "authorization_code_grant_refresh_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan :: Maybe Text -- ^ "client_credentials_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan :: Maybe Text -- ^ "implicit_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan :: Maybe Text -- ^ "implicit_grant_id_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan :: Maybe Text -- ^ "jwt_bearer_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan :: Maybe Text -- ^ "refresh_token_grant_access_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan :: Maybe Text -- ^ "refresh_token_grant_id_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ , oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan :: Maybe Text -- ^ "refresh_token_grant_refresh_token_lifespan" - Specify a time duration in milliseconds, seconds, minutes, hours.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2ClientTokenLifespans+instance A.FromJSON OAuth2ClientTokenLifespans where+ parseJSON = A.withObject "OAuth2ClientTokenLifespans" $ \o ->+ OAuth2ClientTokenLifespans+ <$> (o .:? "authorization_code_grant_access_token_lifespan")+ <*> (o .:? "authorization_code_grant_id_token_lifespan")+ <*> (o .:? "authorization_code_grant_refresh_token_lifespan")+ <*> (o .:? "client_credentials_grant_access_token_lifespan")+ <*> (o .:? "implicit_grant_access_token_lifespan")+ <*> (o .:? "implicit_grant_id_token_lifespan")+ <*> (o .:? "jwt_bearer_grant_access_token_lifespan")+ <*> (o .:? "refresh_token_grant_access_token_lifespan")+ <*> (o .:? "refresh_token_grant_id_token_lifespan")+ <*> (o .:? "refresh_token_grant_refresh_token_lifespan")++-- | ToJSON OAuth2ClientTokenLifespans+instance A.ToJSON OAuth2ClientTokenLifespans where+ toJSON OAuth2ClientTokenLifespans {..} =+ _omitNulls+ [ "authorization_code_grant_access_token_lifespan" .= oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan+ , "authorization_code_grant_id_token_lifespan" .= oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan+ , "authorization_code_grant_refresh_token_lifespan" .= oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan+ , "client_credentials_grant_access_token_lifespan" .= oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan+ , "implicit_grant_access_token_lifespan" .= oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan+ , "implicit_grant_id_token_lifespan" .= oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan+ , "jwt_bearer_grant_access_token_lifespan" .= oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan+ , "refresh_token_grant_access_token_lifespan" .= oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan+ , "refresh_token_grant_id_token_lifespan" .= oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan+ , "refresh_token_grant_refresh_token_lifespan" .= oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan+ ]+++-- | Construct a value of type 'OAuth2ClientTokenLifespans' (by applying it's required fields, if any)+mkOAuth2ClientTokenLifespans+ :: OAuth2ClientTokenLifespans+mkOAuth2ClientTokenLifespans =+ OAuth2ClientTokenLifespans+ { oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan = Nothing+ , oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan = Nothing+ }++-- ** OAuth2ConsentRequest+-- | OAuth2ConsentRequest+-- Contains information on an ongoing consent request.+-- +data OAuth2ConsentRequest = OAuth2ConsentRequest+ { oAuth2ConsentRequestAcr :: Maybe Text -- ^ "acr" - ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.+ , oAuth2ConsentRequestAmr :: Maybe [Text] -- ^ "amr"+ , oAuth2ConsentRequestChallenge :: Text -- ^ /Required/ "challenge" - ID is the identifier (\"authorization challenge\") of the consent authorization request. It is used to identify the session.+ , oAuth2ConsentRequestClient :: Maybe OAuth2Client -- ^ "client"+ , oAuth2ConsentRequestContext :: Maybe A.Value -- ^ "context"+ , oAuth2ConsentRequestLoginChallenge :: Maybe Text -- ^ "login_challenge" - LoginChallenge is the login challenge this consent challenge belongs to. It can be used to associate a login and consent request in the login & consent app.+ , oAuth2ConsentRequestLoginSessionId :: Maybe Text -- ^ "login_session_id" - LoginSessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the \"sid\" parameter in the ID Token and in OIDC Front-/Back- channel logout. It's value can generally be used to associate consecutive login requests by a certain user.+ , oAuth2ConsentRequestOidcContext :: Maybe OAuth2ConsentRequestOpenIDConnectContext -- ^ "oidc_context"+ , oAuth2ConsentRequestRequestUrl :: Maybe Text -- ^ "request_url" - RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.+ , oAuth2ConsentRequestRequestedAccessTokenAudience :: Maybe [Text] -- ^ "requested_access_token_audience"+ , oAuth2ConsentRequestRequestedScope :: Maybe [Text] -- ^ "requested_scope"+ , oAuth2ConsentRequestSkip :: Maybe Bool -- ^ "skip" - Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you must not ask the user to grant the requested scopes. You must however either allow or deny the consent request using the usual API call.+ , oAuth2ConsentRequestSubject :: Maybe Text -- ^ "subject" - Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2ConsentRequest+instance A.FromJSON OAuth2ConsentRequest where+ parseJSON = A.withObject "OAuth2ConsentRequest" $ \o ->+ OAuth2ConsentRequest+ <$> (o .:? "acr")+ <*> (o .:? "amr")+ <*> (o .: "challenge")+ <*> (o .:? "client")+ <*> (o .:? "context")+ <*> (o .:? "login_challenge")+ <*> (o .:? "login_session_id")+ <*> (o .:? "oidc_context")+ <*> (o .:? "request_url")+ <*> (o .:? "requested_access_token_audience")+ <*> (o .:? "requested_scope")+ <*> (o .:? "skip")+ <*> (o .:? "subject")++-- | ToJSON OAuth2ConsentRequest+instance A.ToJSON OAuth2ConsentRequest where+ toJSON OAuth2ConsentRequest {..} =+ _omitNulls+ [ "acr" .= oAuth2ConsentRequestAcr+ , "amr" .= oAuth2ConsentRequestAmr+ , "challenge" .= oAuth2ConsentRequestChallenge+ , "client" .= oAuth2ConsentRequestClient+ , "context" .= oAuth2ConsentRequestContext+ , "login_challenge" .= oAuth2ConsentRequestLoginChallenge+ , "login_session_id" .= oAuth2ConsentRequestLoginSessionId+ , "oidc_context" .= oAuth2ConsentRequestOidcContext+ , "request_url" .= oAuth2ConsentRequestRequestUrl+ , "requested_access_token_audience" .= oAuth2ConsentRequestRequestedAccessTokenAudience+ , "requested_scope" .= oAuth2ConsentRequestRequestedScope+ , "skip" .= oAuth2ConsentRequestSkip+ , "subject" .= oAuth2ConsentRequestSubject+ ]+++-- | Construct a value of type 'OAuth2ConsentRequest' (by applying it's required fields, if any)+mkOAuth2ConsentRequest+ :: Text -- ^ 'oAuth2ConsentRequestChallenge': ID is the identifier (\"authorization challenge\") of the consent authorization request. It is used to identify the session.+ -> OAuth2ConsentRequest+mkOAuth2ConsentRequest oAuth2ConsentRequestChallenge =+ OAuth2ConsentRequest+ { oAuth2ConsentRequestAcr = Nothing+ , oAuth2ConsentRequestAmr = Nothing+ , oAuth2ConsentRequestChallenge+ , oAuth2ConsentRequestClient = Nothing+ , oAuth2ConsentRequestContext = Nothing+ , oAuth2ConsentRequestLoginChallenge = Nothing+ , oAuth2ConsentRequestLoginSessionId = Nothing+ , oAuth2ConsentRequestOidcContext = Nothing+ , oAuth2ConsentRequestRequestUrl = Nothing+ , oAuth2ConsentRequestRequestedAccessTokenAudience = Nothing+ , oAuth2ConsentRequestRequestedScope = Nothing+ , oAuth2ConsentRequestSkip = Nothing+ , oAuth2ConsentRequestSubject = Nothing+ }++-- ** OAuth2ConsentRequestOpenIDConnectContext+-- | OAuth2ConsentRequestOpenIDConnectContext+-- Contains optional information about the OpenID Connect request.+-- +data OAuth2ConsentRequestOpenIDConnectContext = OAuth2ConsentRequestOpenIDConnectContext+ { oAuth2ConsentRequestOpenIDConnectContextAcrValues :: Maybe [Text] -- ^ "acr_values" - ACRValues is the Authentication AuthorizationContext Class Reference requested in the OAuth 2.0 Authorization request. It is a parameter defined by OpenID Connect and expresses which level of authentication (e.g. 2FA) is required. OpenID Connect defines it as follows: > Requested Authentication AuthorizationContext Class Reference values. Space-separated string that specifies the acr values that the Authorization Server is being requested to use for processing this Authentication Request, with the values appearing in order of preference. The Authentication AuthorizationContext Class satisfied by the authentication performed is returned as the acr Claim Value, as specified in Section 2. The acr Claim is requested as a Voluntary Claim by this parameter.+ , oAuth2ConsentRequestOpenIDConnectContextDisplay :: Maybe Text -- ^ "display" - Display is a string value that specifies how the Authorization Server displays the authentication and consent user interface pages to the End-User. The defined values are: page: The Authorization Server SHOULD display the authentication and consent UI consistent with a full User Agent page view. If the display parameter is not specified, this is the default display mode. popup: The Authorization Server SHOULD display the authentication and consent UI consistent with a popup User Agent window. The popup User Agent window should be of an appropriate size for a login-focused dialog and should not obscure the entire window that it is popping up over. touch: The Authorization Server SHOULD display the authentication and consent UI consistent with a device that leverages a touch interface. wap: The Authorization Server SHOULD display the authentication and consent UI consistent with a \"feature phone\" type display. The Authorization Server MAY also attempt to detect the capabilities of the User Agent and present an appropriate display.+ , oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims :: Maybe (Map.Map String A.Value) -- ^ "id_token_hint_claims" - IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a hint about the End-User's current or past authenticated session with the Client.+ , oAuth2ConsentRequestOpenIDConnectContextLoginHint :: Maybe Text -- ^ "login_hint" - LoginHint hints about the login identifier the End-User might use to log in (if necessary). This hint can be used by an RP if it first asks the End-User for their e-mail address (or other identifier) and then wants to pass that value as a hint to the discovered authorization service. This value MAY also be a phone number in the format specified for the phone_number Claim. The use of this parameter is optional.+ , oAuth2ConsentRequestOpenIDConnectContextUiLocales :: Maybe [Text] -- ^ "ui_locales" - UILocales is the End-User'id preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For instance, the value \"fr-CA fr en\" represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). An error SHOULD NOT result if some or all of the requested locales are not supported by the OpenID Provider.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2ConsentRequestOpenIDConnectContext+instance A.FromJSON OAuth2ConsentRequestOpenIDConnectContext where+ parseJSON = A.withObject "OAuth2ConsentRequestOpenIDConnectContext" $ \o ->+ OAuth2ConsentRequestOpenIDConnectContext+ <$> (o .:? "acr_values")+ <*> (o .:? "display")+ <*> (o .:? "id_token_hint_claims")+ <*> (o .:? "login_hint")+ <*> (o .:? "ui_locales")++-- | ToJSON OAuth2ConsentRequestOpenIDConnectContext+instance A.ToJSON OAuth2ConsentRequestOpenIDConnectContext where+ toJSON OAuth2ConsentRequestOpenIDConnectContext {..} =+ _omitNulls+ [ "acr_values" .= oAuth2ConsentRequestOpenIDConnectContextAcrValues+ , "display" .= oAuth2ConsentRequestOpenIDConnectContextDisplay+ , "id_token_hint_claims" .= oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims+ , "login_hint" .= oAuth2ConsentRequestOpenIDConnectContextLoginHint+ , "ui_locales" .= oAuth2ConsentRequestOpenIDConnectContextUiLocales+ ]+++-- | Construct a value of type 'OAuth2ConsentRequestOpenIDConnectContext' (by applying it's required fields, if any)+mkOAuth2ConsentRequestOpenIDConnectContext+ :: OAuth2ConsentRequestOpenIDConnectContext+mkOAuth2ConsentRequestOpenIDConnectContext =+ OAuth2ConsentRequestOpenIDConnectContext+ { oAuth2ConsentRequestOpenIDConnectContextAcrValues = Nothing+ , oAuth2ConsentRequestOpenIDConnectContextDisplay = Nothing+ , oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims = Nothing+ , oAuth2ConsentRequestOpenIDConnectContextLoginHint = Nothing+ , oAuth2ConsentRequestOpenIDConnectContextUiLocales = Nothing+ }++-- ** OAuth2ConsentSession+-- | OAuth2ConsentSession+-- OAuth 2.0 Consent Session+-- +-- A completed OAuth 2.0 Consent Session.+data OAuth2ConsentSession = OAuth2ConsentSession+ { oAuth2ConsentSessionConsentRequest :: Maybe OAuth2ConsentRequest -- ^ "consent_request"+ , oAuth2ConsentSessionExpiresAt :: Maybe OAuth2ConsentSessionExpiresAt -- ^ "expires_at"+ , oAuth2ConsentSessionGrantAccessTokenAudience :: Maybe [Text] -- ^ "grant_access_token_audience"+ , oAuth2ConsentSessionGrantScope :: Maybe [Text] -- ^ "grant_scope"+ , oAuth2ConsentSessionHandledAt :: Maybe DateTime -- ^ "handled_at"+ , oAuth2ConsentSessionRemember :: Maybe Bool -- ^ "remember" - Remember Consent Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.+ , oAuth2ConsentSessionRememberFor :: Maybe Integer -- ^ "remember_for" - Remember Consent For RememberFor sets how long the consent authorization should be remembered for in seconds. If set to `0`, the authorization will be remembered indefinitely.+ , oAuth2ConsentSessionSession :: Maybe AcceptOAuth2ConsentRequestSession -- ^ "session"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2ConsentSession+instance A.FromJSON OAuth2ConsentSession where+ parseJSON = A.withObject "OAuth2ConsentSession" $ \o ->+ OAuth2ConsentSession+ <$> (o .:? "consent_request")+ <*> (o .:? "expires_at")+ <*> (o .:? "grant_access_token_audience")+ <*> (o .:? "grant_scope")+ <*> (o .:? "handled_at")+ <*> (o .:? "remember")+ <*> (o .:? "remember_for")+ <*> (o .:? "session")++-- | ToJSON OAuth2ConsentSession+instance A.ToJSON OAuth2ConsentSession where+ toJSON OAuth2ConsentSession {..} =+ _omitNulls+ [ "consent_request" .= oAuth2ConsentSessionConsentRequest+ , "expires_at" .= oAuth2ConsentSessionExpiresAt+ , "grant_access_token_audience" .= oAuth2ConsentSessionGrantAccessTokenAudience+ , "grant_scope" .= oAuth2ConsentSessionGrantScope+ , "handled_at" .= oAuth2ConsentSessionHandledAt+ , "remember" .= oAuth2ConsentSessionRemember+ , "remember_for" .= oAuth2ConsentSessionRememberFor+ , "session" .= oAuth2ConsentSessionSession+ ]+++-- | Construct a value of type 'OAuth2ConsentSession' (by applying it's required fields, if any)+mkOAuth2ConsentSession+ :: OAuth2ConsentSession+mkOAuth2ConsentSession =+ OAuth2ConsentSession+ { oAuth2ConsentSessionConsentRequest = Nothing+ , oAuth2ConsentSessionExpiresAt = Nothing+ , oAuth2ConsentSessionGrantAccessTokenAudience = Nothing+ , oAuth2ConsentSessionGrantScope = Nothing+ , oAuth2ConsentSessionHandledAt = Nothing+ , oAuth2ConsentSessionRemember = Nothing+ , oAuth2ConsentSessionRememberFor = Nothing+ , oAuth2ConsentSessionSession = Nothing+ }++-- ** OAuth2ConsentSessionExpiresAt+-- | OAuth2ConsentSessionExpiresAt+data OAuth2ConsentSessionExpiresAt = OAuth2ConsentSessionExpiresAt+ { oAuth2ConsentSessionExpiresAtAccessToken :: Maybe DateTime -- ^ "access_token"+ , oAuth2ConsentSessionExpiresAtAuthorizeCode :: Maybe DateTime -- ^ "authorize_code"+ , oAuth2ConsentSessionExpiresAtIdToken :: Maybe DateTime -- ^ "id_token"+ , oAuth2ConsentSessionExpiresAtParContext :: Maybe DateTime -- ^ "par_context"+ , oAuth2ConsentSessionExpiresAtRefreshToken :: Maybe DateTime -- ^ "refresh_token"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2ConsentSessionExpiresAt+instance A.FromJSON OAuth2ConsentSessionExpiresAt where+ parseJSON = A.withObject "OAuth2ConsentSessionExpiresAt" $ \o ->+ OAuth2ConsentSessionExpiresAt+ <$> (o .:? "access_token")+ <*> (o .:? "authorize_code")+ <*> (o .:? "id_token")+ <*> (o .:? "par_context")+ <*> (o .:? "refresh_token")++-- | ToJSON OAuth2ConsentSessionExpiresAt+instance A.ToJSON OAuth2ConsentSessionExpiresAt where+ toJSON OAuth2ConsentSessionExpiresAt {..} =+ _omitNulls+ [ "access_token" .= oAuth2ConsentSessionExpiresAtAccessToken+ , "authorize_code" .= oAuth2ConsentSessionExpiresAtAuthorizeCode+ , "id_token" .= oAuth2ConsentSessionExpiresAtIdToken+ , "par_context" .= oAuth2ConsentSessionExpiresAtParContext+ , "refresh_token" .= oAuth2ConsentSessionExpiresAtRefreshToken+ ]+++-- | Construct a value of type 'OAuth2ConsentSessionExpiresAt' (by applying it's required fields, if any)+mkOAuth2ConsentSessionExpiresAt+ :: OAuth2ConsentSessionExpiresAt+mkOAuth2ConsentSessionExpiresAt =+ OAuth2ConsentSessionExpiresAt+ { oAuth2ConsentSessionExpiresAtAccessToken = Nothing+ , oAuth2ConsentSessionExpiresAtAuthorizeCode = Nothing+ , oAuth2ConsentSessionExpiresAtIdToken = Nothing+ , oAuth2ConsentSessionExpiresAtParContext = Nothing+ , oAuth2ConsentSessionExpiresAtRefreshToken = Nothing+ }++-- ** OAuth2LoginRequest+-- | OAuth2LoginRequest+-- Contains information on an ongoing login request.+-- +data OAuth2LoginRequest = OAuth2LoginRequest+ { oAuth2LoginRequestChallenge :: Text -- ^ /Required/ "challenge" - ID is the identifier (\"login challenge\") of the login request. It is used to identify the session.+ , oAuth2LoginRequestClient :: OAuth2Client -- ^ /Required/ "client"+ , oAuth2LoginRequestOidcContext :: Maybe OAuth2ConsentRequestOpenIDConnectContext -- ^ "oidc_context"+ , oAuth2LoginRequestRequestUrl :: Text -- ^ /Required/ "request_url" - RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.+ , oAuth2LoginRequestRequestedAccessTokenAudience :: [Text] -- ^ /Required/ "requested_access_token_audience"+ , oAuth2LoginRequestRequestedScope :: [Text] -- ^ /Required/ "requested_scope"+ , oAuth2LoginRequestSessionId :: Maybe Text -- ^ "session_id" - SessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the \"sid\" parameter in the ID Token and in OIDC Front-/Back- channel logout. It's value can generally be used to associate consecutive login requests by a certain user.+ , oAuth2LoginRequestSkip :: Bool -- ^ /Required/ "skip" - Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you can skip asking the user to grant the requested scopes, and simply forward the user to the redirect URL. This feature allows you to update / set session information.+ , oAuth2LoginRequestSubject :: Text -- ^ /Required/ "subject" - Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client. If this value is set and `skip` is true, you MUST include this subject type when accepting the login request, or the request will fail.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2LoginRequest+instance A.FromJSON OAuth2LoginRequest where+ parseJSON = A.withObject "OAuth2LoginRequest" $ \o ->+ OAuth2LoginRequest+ <$> (o .: "challenge")+ <*> (o .: "client")+ <*> (o .:? "oidc_context")+ <*> (o .: "request_url")+ <*> (o .: "requested_access_token_audience")+ <*> (o .: "requested_scope")+ <*> (o .:? "session_id")+ <*> (o .: "skip")+ <*> (o .: "subject")++-- | ToJSON OAuth2LoginRequest+instance A.ToJSON OAuth2LoginRequest where+ toJSON OAuth2LoginRequest {..} =+ _omitNulls+ [ "challenge" .= oAuth2LoginRequestChallenge+ , "client" .= oAuth2LoginRequestClient+ , "oidc_context" .= oAuth2LoginRequestOidcContext+ , "request_url" .= oAuth2LoginRequestRequestUrl+ , "requested_access_token_audience" .= oAuth2LoginRequestRequestedAccessTokenAudience+ , "requested_scope" .= oAuth2LoginRequestRequestedScope+ , "session_id" .= oAuth2LoginRequestSessionId+ , "skip" .= oAuth2LoginRequestSkip+ , "subject" .= oAuth2LoginRequestSubject+ ]+++-- | Construct a value of type 'OAuth2LoginRequest' (by applying it's required fields, if any)+mkOAuth2LoginRequest+ :: Text -- ^ 'oAuth2LoginRequestChallenge': ID is the identifier (\"login challenge\") of the login request. It is used to identify the session.+ -> OAuth2Client -- ^ 'oAuth2LoginRequestClient' + -> Text -- ^ 'oAuth2LoginRequestRequestUrl': RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.+ -> [Text] -- ^ 'oAuth2LoginRequestRequestedAccessTokenAudience' + -> [Text] -- ^ 'oAuth2LoginRequestRequestedScope' + -> Bool -- ^ 'oAuth2LoginRequestSkip': Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you can skip asking the user to grant the requested scopes, and simply forward the user to the redirect URL. This feature allows you to update / set session information.+ -> Text -- ^ 'oAuth2LoginRequestSubject': Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client. If this value is set and `skip` is true, you MUST include this subject type when accepting the login request, or the request will fail.+ -> OAuth2LoginRequest+mkOAuth2LoginRequest oAuth2LoginRequestChallenge oAuth2LoginRequestClient oAuth2LoginRequestRequestUrl oAuth2LoginRequestRequestedAccessTokenAudience oAuth2LoginRequestRequestedScope oAuth2LoginRequestSkip oAuth2LoginRequestSubject =+ OAuth2LoginRequest+ { oAuth2LoginRequestChallenge+ , oAuth2LoginRequestClient+ , oAuth2LoginRequestOidcContext = Nothing+ , oAuth2LoginRequestRequestUrl+ , oAuth2LoginRequestRequestedAccessTokenAudience+ , oAuth2LoginRequestRequestedScope+ , oAuth2LoginRequestSessionId = Nothing+ , oAuth2LoginRequestSkip+ , oAuth2LoginRequestSubject+ }++-- ** OAuth2LogoutRequest+-- | OAuth2LogoutRequest+-- Contains information about an ongoing logout request.+-- +data OAuth2LogoutRequest = OAuth2LogoutRequest+ { oAuth2LogoutRequestChallenge :: Maybe Text -- ^ "challenge" - Challenge is the identifier (\"logout challenge\") of the logout authentication request. It is used to identify the session.+ , oAuth2LogoutRequestClient :: Maybe OAuth2Client -- ^ "client"+ , oAuth2LogoutRequestRequestUrl :: Maybe Text -- ^ "request_url" - RequestURL is the original Logout URL requested.+ , oAuth2LogoutRequestRpInitiated :: Maybe Bool -- ^ "rp_initiated" - RPInitiated is set to true if the request was initiated by a Relying Party (RP), also known as an OAuth 2.0 Client.+ , oAuth2LogoutRequestSid :: Maybe Text -- ^ "sid" - SessionID is the login session ID that was requested to log out.+ , oAuth2LogoutRequestSubject :: Maybe Text -- ^ "subject" - Subject is the user for whom the logout was request.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2LogoutRequest+instance A.FromJSON OAuth2LogoutRequest where+ parseJSON = A.withObject "OAuth2LogoutRequest" $ \o ->+ OAuth2LogoutRequest+ <$> (o .:? "challenge")+ <*> (o .:? "client")+ <*> (o .:? "request_url")+ <*> (o .:? "rp_initiated")+ <*> (o .:? "sid")+ <*> (o .:? "subject")++-- | ToJSON OAuth2LogoutRequest+instance A.ToJSON OAuth2LogoutRequest where+ toJSON OAuth2LogoutRequest {..} =+ _omitNulls+ [ "challenge" .= oAuth2LogoutRequestChallenge+ , "client" .= oAuth2LogoutRequestClient+ , "request_url" .= oAuth2LogoutRequestRequestUrl+ , "rp_initiated" .= oAuth2LogoutRequestRpInitiated+ , "sid" .= oAuth2LogoutRequestSid+ , "subject" .= oAuth2LogoutRequestSubject+ ]+++-- | Construct a value of type 'OAuth2LogoutRequest' (by applying it's required fields, if any)+mkOAuth2LogoutRequest+ :: OAuth2LogoutRequest+mkOAuth2LogoutRequest =+ OAuth2LogoutRequest+ { oAuth2LogoutRequestChallenge = Nothing+ , oAuth2LogoutRequestClient = Nothing+ , oAuth2LogoutRequestRequestUrl = Nothing+ , oAuth2LogoutRequestRpInitiated = Nothing+ , oAuth2LogoutRequestSid = Nothing+ , oAuth2LogoutRequestSubject = Nothing+ }++-- ** OAuth2RedirectTo+-- | OAuth2RedirectTo+-- OAuth 2.0 Redirect Browser To+-- +-- Contains a redirect URL used to complete a login, consent, or logout request.+data OAuth2RedirectTo = OAuth2RedirectTo+ { oAuth2RedirectToRedirectTo :: Text -- ^ /Required/ "redirect_to" - RedirectURL is the URL which you should redirect the user's browser to once the authentication process is completed.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2RedirectTo+instance A.FromJSON OAuth2RedirectTo where+ parseJSON = A.withObject "OAuth2RedirectTo" $ \o ->+ OAuth2RedirectTo+ <$> (o .: "redirect_to")++-- | ToJSON OAuth2RedirectTo+instance A.ToJSON OAuth2RedirectTo where+ toJSON OAuth2RedirectTo {..} =+ _omitNulls+ [ "redirect_to" .= oAuth2RedirectToRedirectTo+ ]+++-- | Construct a value of type 'OAuth2RedirectTo' (by applying it's required fields, if any)+mkOAuth2RedirectTo+ :: Text -- ^ 'oAuth2RedirectToRedirectTo': RedirectURL is the URL which you should redirect the user's browser to once the authentication process is completed.+ -> OAuth2RedirectTo+mkOAuth2RedirectTo oAuth2RedirectToRedirectTo =+ OAuth2RedirectTo+ { oAuth2RedirectToRedirectTo+ }++-- ** OAuth2TokenExchange+-- | OAuth2TokenExchange+-- OAuth2 Token Exchange Result+data OAuth2TokenExchange = OAuth2TokenExchange+ { oAuth2TokenExchangeAccessToken :: Maybe Text -- ^ "access_token" - The access token issued by the authorization server.+ , oAuth2TokenExchangeExpiresIn :: Maybe Integer -- ^ "expires_in" - The lifetime in seconds of the access token. For example, the value \"3600\" denotes that the access token will expire in one hour from the time the response was generated.+ , oAuth2TokenExchangeIdToken :: Maybe Integer -- ^ "id_token" - To retrieve a refresh token request the id_token scope.+ , oAuth2TokenExchangeRefreshToken :: Maybe Text -- ^ "refresh_token" - The refresh token, which can be used to obtain new access tokens. To retrieve it add the scope \"offline\" to your access token request.+ , oAuth2TokenExchangeScope :: Maybe Text -- ^ "scope" - The scope of the access token+ , oAuth2TokenExchangeTokenType :: Maybe Text -- ^ "token_type" - The type of the token issued+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2TokenExchange+instance A.FromJSON OAuth2TokenExchange where+ parseJSON = A.withObject "OAuth2TokenExchange" $ \o ->+ OAuth2TokenExchange+ <$> (o .:? "access_token")+ <*> (o .:? "expires_in")+ <*> (o .:? "id_token")+ <*> (o .:? "refresh_token")+ <*> (o .:? "scope")+ <*> (o .:? "token_type")++-- | ToJSON OAuth2TokenExchange+instance A.ToJSON OAuth2TokenExchange where+ toJSON OAuth2TokenExchange {..} =+ _omitNulls+ [ "access_token" .= oAuth2TokenExchangeAccessToken+ , "expires_in" .= oAuth2TokenExchangeExpiresIn+ , "id_token" .= oAuth2TokenExchangeIdToken+ , "refresh_token" .= oAuth2TokenExchangeRefreshToken+ , "scope" .= oAuth2TokenExchangeScope+ , "token_type" .= oAuth2TokenExchangeTokenType+ ]+++-- | Construct a value of type 'OAuth2TokenExchange' (by applying it's required fields, if any)+mkOAuth2TokenExchange+ :: OAuth2TokenExchange+mkOAuth2TokenExchange =+ OAuth2TokenExchange+ { oAuth2TokenExchangeAccessToken = Nothing+ , oAuth2TokenExchangeExpiresIn = Nothing+ , oAuth2TokenExchangeIdToken = Nothing+ , oAuth2TokenExchangeRefreshToken = Nothing+ , oAuth2TokenExchangeScope = Nothing+ , oAuth2TokenExchangeTokenType = Nothing+ }++-- ** OidcConfiguration+-- | OidcConfiguration+-- OpenID Connect Discovery Metadata+-- +-- Includes links to several endpoints (for example `/oauth2/token`) and exposes information on supported signature algorithms among others.+data OidcConfiguration = OidcConfiguration+ { oidcConfigurationAuthorizationEndpoint :: Text -- ^ /Required/ "authorization_endpoint" - OAuth 2.0 Authorization Endpoint URL+ , oidcConfigurationBackchannelLogoutSessionSupported :: Maybe Bool -- ^ "backchannel_logout_session_supported" - OpenID Connect Back-Channel Logout Session Required Boolean value specifying whether the OP can pass a sid (session ID) Claim in the Logout Token to identify the RP session with the OP. If supported, the sid Claim is also included in ID Tokens issued by the OP+ , oidcConfigurationBackchannelLogoutSupported :: Maybe Bool -- ^ "backchannel_logout_supported" - OpenID Connect Back-Channel Logout Supported Boolean value specifying whether the OP supports back-channel logout, with true indicating support.+ , oidcConfigurationClaimsParameterSupported :: Maybe Bool -- ^ "claims_parameter_supported" - OpenID Connect Claims Parameter Parameter Supported Boolean value specifying whether the OP supports use of the claims parameter, with true indicating support.+ , oidcConfigurationClaimsSupported :: Maybe [Text] -- ^ "claims_supported" - OpenID Connect Supported Claims JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for. Note that for privacy or other reasons, this might not be an exhaustive list.+ , oidcConfigurationCodeChallengeMethodsSupported :: Maybe [Text] -- ^ "code_challenge_methods_supported" - OAuth 2.0 PKCE Supported Code Challenge Methods JSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported by this authorization server.+ , oidcConfigurationEndSessionEndpoint :: Maybe Text -- ^ "end_session_endpoint" - OpenID Connect End-Session Endpoint URL at the OP to which an RP can perform a redirect to request that the End-User be logged out at the OP.+ , oidcConfigurationFrontchannelLogoutSessionSupported :: Maybe Bool -- ^ "frontchannel_logout_session_supported" - OpenID Connect Front-Channel Logout Session Required Boolean value specifying whether the OP can pass iss (issuer) and sid (session ID) query parameters to identify the RP session with the OP when the frontchannel_logout_uri is used. If supported, the sid Claim is also included in ID Tokens issued by the OP.+ , oidcConfigurationFrontchannelLogoutSupported :: Maybe Bool -- ^ "frontchannel_logout_supported" - OpenID Connect Front-Channel Logout Supported Boolean value specifying whether the OP supports HTTP-based logout, with true indicating support.+ , oidcConfigurationGrantTypesSupported :: Maybe [Text] -- ^ "grant_types_supported" - OAuth 2.0 Supported Grant Types JSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports.+ , oidcConfigurationIdTokenSignedResponseAlg :: [Text] -- ^ /Required/ "id_token_signed_response_alg" - OpenID Connect Default ID Token Signing Algorithms Algorithm used to sign OpenID Connect ID Tokens.+ , oidcConfigurationIdTokenSigningAlgValuesSupported :: [Text] -- ^ /Required/ "id_token_signing_alg_values_supported" - OpenID Connect Supported ID Token Signing Algorithms JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT.+ , oidcConfigurationIssuer :: Text -- ^ /Required/ "issuer" - OpenID Connect Issuer URL An URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL Identifier. If IssuerURL discovery is supported , this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL.+ , oidcConfigurationJwksUri :: Text -- ^ /Required/ "jwks_uri" - OpenID Connect Well-Known JSON Web Keys URL URL of the OP's JSON Web Key Set [JWK] document. This contains the signing key(s) the RP uses to validate signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.+ , oidcConfigurationRegistrationEndpoint :: Maybe Text -- ^ "registration_endpoint" - OpenID Connect Dynamic Client Registration Endpoint URL+ , oidcConfigurationRequestObjectSigningAlgValuesSupported :: Maybe [Text] -- ^ "request_object_signing_alg_values_supported" - OpenID Connect Supported Request Object Signing Algorithms JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects, which are described in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. These algorithms are used both when the Request Object is passed by value (using the request parameter) and when it is passed by reference (using the request_uri parameter).+ , oidcConfigurationRequestParameterSupported :: Maybe Bool -- ^ "request_parameter_supported" - OpenID Connect Request Parameter Supported Boolean value specifying whether the OP supports use of the request parameter, with true indicating support.+ , oidcConfigurationRequestUriParameterSupported :: Maybe Bool -- ^ "request_uri_parameter_supported" - OpenID Connect Request URI Parameter Supported Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support.+ , oidcConfigurationRequireRequestUriRegistration :: Maybe Bool -- ^ "require_request_uri_registration" - OpenID Connect Requires Request URI Registration Boolean value specifying whether the OP requires any request_uri values used to be pre-registered using the request_uris registration parameter.+ , oidcConfigurationResponseModesSupported :: Maybe [Text] -- ^ "response_modes_supported" - OAuth 2.0 Supported Response Modes JSON array containing a list of the OAuth 2.0 response_mode values that this OP supports.+ , oidcConfigurationResponseTypesSupported :: [Text] -- ^ /Required/ "response_types_supported" - OAuth 2.0 Supported Response Types JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values.+ , oidcConfigurationRevocationEndpoint :: Maybe Text -- ^ "revocation_endpoint" - OAuth 2.0 Token Revocation URL URL of the authorization server's OAuth 2.0 revocation endpoint.+ , oidcConfigurationScopesSupported :: Maybe [Text] -- ^ "scopes_supported" - OAuth 2.0 Supported Scope Values JSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server supports. The server MUST support the openid scope value. Servers MAY choose not to advertise some supported scope values even when this parameter is used+ , oidcConfigurationSubjectTypesSupported :: [Text] -- ^ /Required/ "subject_types_supported" - OpenID Connect Supported Subject Types JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public.+ , oidcConfigurationTokenEndpoint :: Text -- ^ /Required/ "token_endpoint" - OAuth 2.0 Token Endpoint URL+ , oidcConfigurationTokenEndpointAuthMethodsSupported :: Maybe [Text] -- ^ "token_endpoint_auth_methods_supported" - OAuth 2.0 Supported Client Authentication Methods JSON array containing a list of Client Authentication methods supported by this Token Endpoint. The options are client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, as described in Section 9 of OpenID Connect Core 1.0+ , oidcConfigurationUserinfoEndpoint :: Maybe Text -- ^ "userinfo_endpoint" - OpenID Connect Userinfo URL URL of the OP's UserInfo Endpoint.+ , oidcConfigurationUserinfoSignedResponseAlg :: [Text] -- ^ /Required/ "userinfo_signed_response_alg" - OpenID Connect User Userinfo Signing Algorithm Algorithm used to sign OpenID Connect Userinfo Responses.+ , oidcConfigurationUserinfoSigningAlgValuesSupported :: Maybe [Text] -- ^ "userinfo_signing_alg_values_supported" - OpenID Connect Supported Userinfo Signing Algorithm JSON array containing a list of the JWS [JWS] signing algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT].+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OidcConfiguration+instance A.FromJSON OidcConfiguration where+ parseJSON = A.withObject "OidcConfiguration" $ \o ->+ OidcConfiguration+ <$> (o .: "authorization_endpoint")+ <*> (o .:? "backchannel_logout_session_supported")+ <*> (o .:? "backchannel_logout_supported")+ <*> (o .:? "claims_parameter_supported")+ <*> (o .:? "claims_supported")+ <*> (o .:? "code_challenge_methods_supported")+ <*> (o .:? "end_session_endpoint")+ <*> (o .:? "frontchannel_logout_session_supported")+ <*> (o .:? "frontchannel_logout_supported")+ <*> (o .:? "grant_types_supported")+ <*> (o .: "id_token_signed_response_alg")+ <*> (o .: "id_token_signing_alg_values_supported")+ <*> (o .: "issuer")+ <*> (o .: "jwks_uri")+ <*> (o .:? "registration_endpoint")+ <*> (o .:? "request_object_signing_alg_values_supported")+ <*> (o .:? "request_parameter_supported")+ <*> (o .:? "request_uri_parameter_supported")+ <*> (o .:? "require_request_uri_registration")+ <*> (o .:? "response_modes_supported")+ <*> (o .: "response_types_supported")+ <*> (o .:? "revocation_endpoint")+ <*> (o .:? "scopes_supported")+ <*> (o .: "subject_types_supported")+ <*> (o .: "token_endpoint")+ <*> (o .:? "token_endpoint_auth_methods_supported")+ <*> (o .:? "userinfo_endpoint")+ <*> (o .: "userinfo_signed_response_alg")+ <*> (o .:? "userinfo_signing_alg_values_supported")++-- | ToJSON OidcConfiguration+instance A.ToJSON OidcConfiguration where+ toJSON OidcConfiguration {..} =+ _omitNulls+ [ "authorization_endpoint" .= oidcConfigurationAuthorizationEndpoint+ , "backchannel_logout_session_supported" .= oidcConfigurationBackchannelLogoutSessionSupported+ , "backchannel_logout_supported" .= oidcConfigurationBackchannelLogoutSupported+ , "claims_parameter_supported" .= oidcConfigurationClaimsParameterSupported+ , "claims_supported" .= oidcConfigurationClaimsSupported+ , "code_challenge_methods_supported" .= oidcConfigurationCodeChallengeMethodsSupported+ , "end_session_endpoint" .= oidcConfigurationEndSessionEndpoint+ , "frontchannel_logout_session_supported" .= oidcConfigurationFrontchannelLogoutSessionSupported+ , "frontchannel_logout_supported" .= oidcConfigurationFrontchannelLogoutSupported+ , "grant_types_supported" .= oidcConfigurationGrantTypesSupported+ , "id_token_signed_response_alg" .= oidcConfigurationIdTokenSignedResponseAlg+ , "id_token_signing_alg_values_supported" .= oidcConfigurationIdTokenSigningAlgValuesSupported+ , "issuer" .= oidcConfigurationIssuer+ , "jwks_uri" .= oidcConfigurationJwksUri+ , "registration_endpoint" .= oidcConfigurationRegistrationEndpoint+ , "request_object_signing_alg_values_supported" .= oidcConfigurationRequestObjectSigningAlgValuesSupported+ , "request_parameter_supported" .= oidcConfigurationRequestParameterSupported+ , "request_uri_parameter_supported" .= oidcConfigurationRequestUriParameterSupported+ , "require_request_uri_registration" .= oidcConfigurationRequireRequestUriRegistration+ , "response_modes_supported" .= oidcConfigurationResponseModesSupported+ , "response_types_supported" .= oidcConfigurationResponseTypesSupported+ , "revocation_endpoint" .= oidcConfigurationRevocationEndpoint+ , "scopes_supported" .= oidcConfigurationScopesSupported+ , "subject_types_supported" .= oidcConfigurationSubjectTypesSupported+ , "token_endpoint" .= oidcConfigurationTokenEndpoint+ , "token_endpoint_auth_methods_supported" .= oidcConfigurationTokenEndpointAuthMethodsSupported+ , "userinfo_endpoint" .= oidcConfigurationUserinfoEndpoint+ , "userinfo_signed_response_alg" .= oidcConfigurationUserinfoSignedResponseAlg+ , "userinfo_signing_alg_values_supported" .= oidcConfigurationUserinfoSigningAlgValuesSupported+ ]+++-- | Construct a value of type 'OidcConfiguration' (by applying it's required fields, if any)+mkOidcConfiguration+ :: Text -- ^ 'oidcConfigurationAuthorizationEndpoint': OAuth 2.0 Authorization Endpoint URL+ -> [Text] -- ^ 'oidcConfigurationIdTokenSignedResponseAlg': OpenID Connect Default ID Token Signing Algorithms Algorithm used to sign OpenID Connect ID Tokens.+ -> [Text] -- ^ 'oidcConfigurationIdTokenSigningAlgValuesSupported': OpenID Connect Supported ID Token Signing Algorithms JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT.+ -> Text -- ^ 'oidcConfigurationIssuer': OpenID Connect Issuer URL An URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL Identifier. If IssuerURL discovery is supported , this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL.+ -> Text -- ^ 'oidcConfigurationJwksUri': OpenID Connect Well-Known JSON Web Keys URL URL of the OP's JSON Web Key Set [JWK] document. This contains the signing key(s) the RP uses to validate signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.+ -> [Text] -- ^ 'oidcConfigurationResponseTypesSupported': OAuth 2.0 Supported Response Types JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values.+ -> [Text] -- ^ 'oidcConfigurationSubjectTypesSupported': OpenID Connect Supported Subject Types JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public.+ -> Text -- ^ 'oidcConfigurationTokenEndpoint': OAuth 2.0 Token Endpoint URL+ -> [Text] -- ^ 'oidcConfigurationUserinfoSignedResponseAlg': OpenID Connect User Userinfo Signing Algorithm Algorithm used to sign OpenID Connect Userinfo Responses.+ -> OidcConfiguration+mkOidcConfiguration oidcConfigurationAuthorizationEndpoint oidcConfigurationIdTokenSignedResponseAlg oidcConfigurationIdTokenSigningAlgValuesSupported oidcConfigurationIssuer oidcConfigurationJwksUri oidcConfigurationResponseTypesSupported oidcConfigurationSubjectTypesSupported oidcConfigurationTokenEndpoint oidcConfigurationUserinfoSignedResponseAlg =+ OidcConfiguration+ { oidcConfigurationAuthorizationEndpoint+ , oidcConfigurationBackchannelLogoutSessionSupported = Nothing+ , oidcConfigurationBackchannelLogoutSupported = Nothing+ , oidcConfigurationClaimsParameterSupported = Nothing+ , oidcConfigurationClaimsSupported = Nothing+ , oidcConfigurationCodeChallengeMethodsSupported = Nothing+ , oidcConfigurationEndSessionEndpoint = Nothing+ , oidcConfigurationFrontchannelLogoutSessionSupported = Nothing+ , oidcConfigurationFrontchannelLogoutSupported = Nothing+ , oidcConfigurationGrantTypesSupported = Nothing+ , oidcConfigurationIdTokenSignedResponseAlg+ , oidcConfigurationIdTokenSigningAlgValuesSupported+ , oidcConfigurationIssuer+ , oidcConfigurationJwksUri+ , oidcConfigurationRegistrationEndpoint = Nothing+ , oidcConfigurationRequestObjectSigningAlgValuesSupported = Nothing+ , oidcConfigurationRequestParameterSupported = Nothing+ , oidcConfigurationRequestUriParameterSupported = Nothing+ , oidcConfigurationRequireRequestUriRegistration = Nothing+ , oidcConfigurationResponseModesSupported = Nothing+ , oidcConfigurationResponseTypesSupported+ , oidcConfigurationRevocationEndpoint = Nothing+ , oidcConfigurationScopesSupported = Nothing+ , oidcConfigurationSubjectTypesSupported+ , oidcConfigurationTokenEndpoint+ , oidcConfigurationTokenEndpointAuthMethodsSupported = Nothing+ , oidcConfigurationUserinfoEndpoint = Nothing+ , oidcConfigurationUserinfoSignedResponseAlg+ , oidcConfigurationUserinfoSigningAlgValuesSupported = Nothing+ }++-- ** OidcUserInfo+-- | OidcUserInfo+-- OpenID Connect Userinfo+data OidcUserInfo = OidcUserInfo+ { oidcUserInfoBirthdate :: Maybe Text -- ^ "birthdate" - End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format. The year MAY be 0000, indicating that it is omitted. To represent only the year, YYYY format is allowed. Note that depending on the underlying platform's date related function, providing just year can result in varying month and day, so the implementers need to take this factor into account to correctly process the dates.+ , oidcUserInfoEmail :: Maybe Text -- ^ "email" - End-User's preferred e-mail address. Its value MUST conform to the RFC 5322 [RFC5322] addr-spec syntax. The RP MUST NOT rely upon this value being unique, as discussed in Section 5.7.+ , oidcUserInfoEmailVerified :: Maybe Bool -- ^ "email_verified" - True if the End-User's e-mail address has been verified; otherwise false. When this Claim Value is true, this means that the OP took affirmative steps to ensure that this e-mail address was controlled by the End-User at the time the verification was performed. The means by which an e-mail address is verified is context-specific, and dependent upon the trust framework or contractual agreements within which the parties are operating.+ , oidcUserInfoFamilyName :: Maybe Text -- ^ "family_name" - Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.+ , oidcUserInfoGender :: Maybe Text -- ^ "gender" - End-User's gender. Values defined by this specification are female and male. Other values MAY be used when neither of the defined values are applicable.+ , oidcUserInfoGivenName :: Maybe Text -- ^ "given_name" - Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.+ , oidcUserInfoLocale :: Maybe Text -- ^ "locale" - End-User's locale, represented as a BCP47 [RFC5646] language tag. This is typically an ISO 639-1 Alpha-2 [ISO639‑1] language code in lowercase and an ISO 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase, separated by a dash. For example, en-US or fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example, en_US; Relying Parties MAY choose to accept this locale syntax as well.+ , oidcUserInfoMiddleName :: Maybe Text -- ^ "middle_name" - Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used.+ , oidcUserInfoName :: Maybe Text -- ^ "name" - End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences.+ , oidcUserInfoNickname :: Maybe Text -- ^ "nickname" - Casual name of the End-User that may or may not be the same as the given_name. For instance, a nickname value of Mike might be returned alongside a given_name value of Michael.+ , oidcUserInfoPhoneNumber :: Maybe Text -- ^ "phone_number" - End-User's preferred telephone number. E.164 [E.164] is RECOMMENDED as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2) 687 2400. If the phone number contains an extension, it is RECOMMENDED that the extension be represented using the RFC 3966 [RFC3966] extension syntax, for example, +1 (604) 555-1234;ext=5678.+ , oidcUserInfoPhoneNumberVerified :: Maybe Bool -- ^ "phone_number_verified" - True if the End-User's phone number has been verified; otherwise false. When this Claim Value is true, this means that the OP took affirmative steps to ensure that this phone number was controlled by the End-User at the time the verification was performed. The means by which a phone number is verified is context-specific, and dependent upon the trust framework or contractual agreements within which the parties are operating. When true, the phone_number Claim MUST be in E.164 format and any extensions MUST be represented in RFC 3966 format.+ , oidcUserInfoPicture :: Maybe Text -- ^ "picture" - URL of the End-User's profile picture. This URL MUST refer to an image file (for example, a PNG, JPEG, or GIF image file), rather than to a Web page containing an image. Note that this URL SHOULD specifically reference a profile photo of the End-User suitable for displaying when describing the End-User, rather than an arbitrary photo taken by the End-User.+ , oidcUserInfoPreferredUsername :: Maybe Text -- ^ "preferred_username" - Non-unique shorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe. This value MAY be any valid JSON string including special characters such as @, /, or whitespace.+ , oidcUserInfoProfile :: Maybe Text -- ^ "profile" - URL of the End-User's profile page. The contents of this Web page SHOULD be about the End-User.+ , oidcUserInfoSub :: Maybe Text -- ^ "sub" - Subject - Identifier for the End-User at the IssuerURL.+ , oidcUserInfoUpdatedAt :: Maybe Integer -- ^ "updated_at" - Time the End-User's information was last updated. Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.+ , oidcUserInfoWebsite :: Maybe Text -- ^ "website" - URL of the End-User's Web page or blog. This Web page SHOULD contain information published by the End-User or an organization that the End-User is affiliated with.+ , oidcUserInfoZoneinfo :: Maybe Text -- ^ "zoneinfo" - String from zoneinfo [zoneinfo] time zone database representing the End-User's time zone. For example, Europe/Paris or America/Los_Angeles.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OidcUserInfo+instance A.FromJSON OidcUserInfo where+ parseJSON = A.withObject "OidcUserInfo" $ \o ->+ OidcUserInfo+ <$> (o .:? "birthdate")+ <*> (o .:? "email")+ <*> (o .:? "email_verified")+ <*> (o .:? "family_name")+ <*> (o .:? "gender")+ <*> (o .:? "given_name")+ <*> (o .:? "locale")+ <*> (o .:? "middle_name")+ <*> (o .:? "name")+ <*> (o .:? "nickname")+ <*> (o .:? "phone_number")+ <*> (o .:? "phone_number_verified")+ <*> (o .:? "picture")+ <*> (o .:? "preferred_username")+ <*> (o .:? "profile")+ <*> (o .:? "sub")+ <*> (o .:? "updated_at")+ <*> (o .:? "website")+ <*> (o .:? "zoneinfo")++-- | ToJSON OidcUserInfo+instance A.ToJSON OidcUserInfo where+ toJSON OidcUserInfo {..} =+ _omitNulls+ [ "birthdate" .= oidcUserInfoBirthdate+ , "email" .= oidcUserInfoEmail+ , "email_verified" .= oidcUserInfoEmailVerified+ , "family_name" .= oidcUserInfoFamilyName+ , "gender" .= oidcUserInfoGender+ , "given_name" .= oidcUserInfoGivenName+ , "locale" .= oidcUserInfoLocale+ , "middle_name" .= oidcUserInfoMiddleName+ , "name" .= oidcUserInfoName+ , "nickname" .= oidcUserInfoNickname+ , "phone_number" .= oidcUserInfoPhoneNumber+ , "phone_number_verified" .= oidcUserInfoPhoneNumberVerified+ , "picture" .= oidcUserInfoPicture+ , "preferred_username" .= oidcUserInfoPreferredUsername+ , "profile" .= oidcUserInfoProfile+ , "sub" .= oidcUserInfoSub+ , "updated_at" .= oidcUserInfoUpdatedAt+ , "website" .= oidcUserInfoWebsite+ , "zoneinfo" .= oidcUserInfoZoneinfo+ ]+++-- | Construct a value of type 'OidcUserInfo' (by applying it's required fields, if any)+mkOidcUserInfo+ :: OidcUserInfo+mkOidcUserInfo =+ OidcUserInfo+ { oidcUserInfoBirthdate = Nothing+ , oidcUserInfoEmail = Nothing+ , oidcUserInfoEmailVerified = Nothing+ , oidcUserInfoFamilyName = Nothing+ , oidcUserInfoGender = Nothing+ , oidcUserInfoGivenName = Nothing+ , oidcUserInfoLocale = Nothing+ , oidcUserInfoMiddleName = Nothing+ , oidcUserInfoName = Nothing+ , oidcUserInfoNickname = Nothing+ , oidcUserInfoPhoneNumber = Nothing+ , oidcUserInfoPhoneNumberVerified = Nothing+ , oidcUserInfoPicture = Nothing+ , oidcUserInfoPreferredUsername = Nothing+ , oidcUserInfoProfile = Nothing+ , oidcUserInfoSub = Nothing+ , oidcUserInfoUpdatedAt = Nothing+ , oidcUserInfoWebsite = Nothing+ , oidcUserInfoZoneinfo = Nothing+ }++-- ** Pagination+-- | Pagination+data Pagination = Pagination+ { paginationPageSize :: Maybe Integer -- ^ "page_size" - Items per page This is the number of items per page to return. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ , paginationPageToken :: Maybe Text -- ^ "page_token" - Next Page Token The next page token. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Pagination+instance A.FromJSON Pagination where+ parseJSON = A.withObject "Pagination" $ \o ->+ Pagination+ <$> (o .:? "page_size")+ <*> (o .:? "page_token")++-- | ToJSON Pagination+instance A.ToJSON Pagination where+ toJSON Pagination {..} =+ _omitNulls+ [ "page_size" .= paginationPageSize+ , "page_token" .= paginationPageToken+ ]+++-- | Construct a value of type 'Pagination' (by applying it's required fields, if any)+mkPagination+ :: Pagination+mkPagination =+ Pagination+ { paginationPageSize = Nothing+ , paginationPageToken = Nothing+ }++-- ** PaginationHeaders+-- | PaginationHeaders+data PaginationHeaders = PaginationHeaders+ { paginationHeadersLink :: Maybe Text -- ^ "link" - The link header contains pagination links. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). in: header+ , paginationHeadersXTotalCount :: Maybe Text -- ^ "x-total-count" - The total number of clients. in: header+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PaginationHeaders+instance A.FromJSON PaginationHeaders where+ parseJSON = A.withObject "PaginationHeaders" $ \o ->+ PaginationHeaders+ <$> (o .:? "link")+ <*> (o .:? "x-total-count")++-- | ToJSON PaginationHeaders+instance A.ToJSON PaginationHeaders where+ toJSON PaginationHeaders {..} =+ _omitNulls+ [ "link" .= paginationHeadersLink+ , "x-total-count" .= paginationHeadersXTotalCount+ ]+++-- | Construct a value of type 'PaginationHeaders' (by applying it's required fields, if any)+mkPaginationHeaders+ :: PaginationHeaders+mkPaginationHeaders =+ PaginationHeaders+ { paginationHeadersLink = Nothing+ , paginationHeadersXTotalCount = Nothing+ }++-- ** RejectOAuth2Request+-- | RejectOAuth2Request+-- The request payload used to accept a login or consent request.+-- +data RejectOAuth2Request = RejectOAuth2Request+ { rejectOAuth2RequestError :: Maybe Text -- ^ "error" - The error should follow the OAuth2 error format (e.g. `invalid_request`, `login_required`). Defaults to `request_denied`.+ , rejectOAuth2RequestErrorDebug :: Maybe Text -- ^ "error_debug" - Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.+ , rejectOAuth2RequestErrorDescription :: Maybe Text -- ^ "error_description" - Description of the error in a human readable format.+ , rejectOAuth2RequestErrorHint :: Maybe Text -- ^ "error_hint" - Hint to help resolve the error.+ , rejectOAuth2RequestStatusCode :: Maybe Integer -- ^ "status_code" - Represents the HTTP status code of the error (e.g. 401 or 403) Defaults to 400+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON RejectOAuth2Request+instance A.FromJSON RejectOAuth2Request where+ parseJSON = A.withObject "RejectOAuth2Request" $ \o ->+ RejectOAuth2Request+ <$> (o .:? "error")+ <*> (o .:? "error_debug")+ <*> (o .:? "error_description")+ <*> (o .:? "error_hint")+ <*> (o .:? "status_code")++-- | ToJSON RejectOAuth2Request+instance A.ToJSON RejectOAuth2Request where+ toJSON RejectOAuth2Request {..} =+ _omitNulls+ [ "error" .= rejectOAuth2RequestError+ , "error_debug" .= rejectOAuth2RequestErrorDebug+ , "error_description" .= rejectOAuth2RequestErrorDescription+ , "error_hint" .= rejectOAuth2RequestErrorHint+ , "status_code" .= rejectOAuth2RequestStatusCode+ ]+++-- | Construct a value of type 'RejectOAuth2Request' (by applying it's required fields, if any)+mkRejectOAuth2Request+ :: RejectOAuth2Request+mkRejectOAuth2Request =+ RejectOAuth2Request+ { rejectOAuth2RequestError = Nothing+ , rejectOAuth2RequestErrorDebug = Nothing+ , rejectOAuth2RequestErrorDescription = Nothing+ , rejectOAuth2RequestErrorHint = Nothing+ , rejectOAuth2RequestStatusCode = Nothing+ }++-- ** TokenPagination+-- | TokenPagination+data TokenPagination = TokenPagination+ { tokenPaginationPageSize :: Maybe Integer -- ^ "page_size" - Items per page This is the number of items per page to return. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ , tokenPaginationPageToken :: Maybe Text -- ^ "page_token" - Next Page Token The next page token. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TokenPagination+instance A.FromJSON TokenPagination where+ parseJSON = A.withObject "TokenPagination" $ \o ->+ TokenPagination+ <$> (o .:? "page_size")+ <*> (o .:? "page_token")++-- | ToJSON TokenPagination+instance A.ToJSON TokenPagination where+ toJSON TokenPagination {..} =+ _omitNulls+ [ "page_size" .= tokenPaginationPageSize+ , "page_token" .= tokenPaginationPageToken+ ]+++-- | Construct a value of type 'TokenPagination' (by applying it's required fields, if any)+mkTokenPagination+ :: TokenPagination+mkTokenPagination =+ TokenPagination+ { tokenPaginationPageSize = Nothing+ , tokenPaginationPageToken = Nothing+ }++-- ** TokenPaginationHeaders+-- | TokenPaginationHeaders+data TokenPaginationHeaders = TokenPaginationHeaders+ { tokenPaginationHeadersLink :: Maybe Text -- ^ "link" - The link header contains pagination links. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). in: header+ , tokenPaginationHeadersXTotalCount :: Maybe Text -- ^ "x-total-count" - The total number of clients. in: header+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TokenPaginationHeaders+instance A.FromJSON TokenPaginationHeaders where+ parseJSON = A.withObject "TokenPaginationHeaders" $ \o ->+ TokenPaginationHeaders+ <$> (o .:? "link")+ <*> (o .:? "x-total-count")++-- | ToJSON TokenPaginationHeaders+instance A.ToJSON TokenPaginationHeaders where+ toJSON TokenPaginationHeaders {..} =+ _omitNulls+ [ "link" .= tokenPaginationHeadersLink+ , "x-total-count" .= tokenPaginationHeadersXTotalCount+ ]+++-- | Construct a value of type 'TokenPaginationHeaders' (by applying it's required fields, if any)+mkTokenPaginationHeaders+ :: TokenPaginationHeaders+mkTokenPaginationHeaders =+ TokenPaginationHeaders+ { tokenPaginationHeadersLink = Nothing+ , tokenPaginationHeadersXTotalCount = Nothing+ }++-- ** TokenPaginationRequestParameters+-- | TokenPaginationRequestParameters+-- Pagination Request Parameters+-- +-- The `Link` HTTP header contains multiple links (`first`, `next`, `last`, `previous`) formatted as: `<https://{project-slug}.projects.oryapis.com/admin/clients?page_size={limit}&page_token={offset}>; rel=\"{page}\"` For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+data TokenPaginationRequestParameters = TokenPaginationRequestParameters+ { tokenPaginationRequestParametersPageSize :: Maybe Integer -- ^ "page_size" - Items per Page This is the number of items per page to return. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ , tokenPaginationRequestParametersPageToken :: Maybe Text -- ^ "page_token" - Next Page Token The next page token. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TokenPaginationRequestParameters+instance A.FromJSON TokenPaginationRequestParameters where+ parseJSON = A.withObject "TokenPaginationRequestParameters" $ \o ->+ TokenPaginationRequestParameters+ <$> (o .:? "page_size")+ <*> (o .:? "page_token")++-- | ToJSON TokenPaginationRequestParameters+instance A.ToJSON TokenPaginationRequestParameters where+ toJSON TokenPaginationRequestParameters {..} =+ _omitNulls+ [ "page_size" .= tokenPaginationRequestParametersPageSize+ , "page_token" .= tokenPaginationRequestParametersPageToken+ ]+++-- | Construct a value of type 'TokenPaginationRequestParameters' (by applying it's required fields, if any)+mkTokenPaginationRequestParameters+ :: TokenPaginationRequestParameters+mkTokenPaginationRequestParameters =+ TokenPaginationRequestParameters+ { tokenPaginationRequestParametersPageSize = Nothing+ , tokenPaginationRequestParametersPageToken = Nothing+ }++-- ** TokenPaginationResponseHeaders+-- | TokenPaginationResponseHeaders+-- Pagination Response Header+-- +-- The `Link` HTTP header contains multiple links (`first`, `next`, `last`, `previous`) formatted as: `<https://{project-slug}.projects.oryapis.com/admin/clients?page_size={limit}&page_token={offset}>; rel=\"{page}\"` For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+data TokenPaginationResponseHeaders = TokenPaginationResponseHeaders+ { tokenPaginationResponseHeadersLink :: Maybe Text -- ^ "link" - The Link HTTP Header The `Link` header contains a comma-delimited list of links to the following pages: first: The first page of results. next: The next page of results. prev: The previous page of results. last: The last page of results. Pages are omitted if they do not exist. For example, if there is no next page, the `next` link is omitted. Examples: </clients?page_size=5&page_token=0>; rel=\"first\",</clients?page_size=5&page_token=15>; rel=\"next\",</clients?page_size=5&page_token=5>; rel=\"prev\",</clients?page_size=5&page_token=20>; rel=\"last\"+ , tokenPaginationResponseHeadersXTotalCount :: Maybe Integer -- ^ "x-total-count" - The X-Total-Count HTTP Header The `X-Total-Count` header contains the total number of items in the collection.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TokenPaginationResponseHeaders+instance A.FromJSON TokenPaginationResponseHeaders where+ parseJSON = A.withObject "TokenPaginationResponseHeaders" $ \o ->+ TokenPaginationResponseHeaders+ <$> (o .:? "link")+ <*> (o .:? "x-total-count")++-- | ToJSON TokenPaginationResponseHeaders+instance A.ToJSON TokenPaginationResponseHeaders where+ toJSON TokenPaginationResponseHeaders {..} =+ _omitNulls+ [ "link" .= tokenPaginationResponseHeadersLink+ , "x-total-count" .= tokenPaginationResponseHeadersXTotalCount+ ]+++-- | Construct a value of type 'TokenPaginationResponseHeaders' (by applying it's required fields, if any)+mkTokenPaginationResponseHeaders+ :: TokenPaginationResponseHeaders+mkTokenPaginationResponseHeaders =+ TokenPaginationResponseHeaders+ { tokenPaginationResponseHeadersLink = Nothing+ , tokenPaginationResponseHeadersXTotalCount = Nothing+ }++-- ** TrustOAuth2JwtGrantIssuer+-- | TrustOAuth2JwtGrantIssuer+-- Trust OAuth2 JWT Bearer Grant Type Issuer Request Body+data TrustOAuth2JwtGrantIssuer = TrustOAuth2JwtGrantIssuer+ { trustOAuth2JwtGrantIssuerAllowAnySubject :: Maybe Bool -- ^ "allow_any_subject" - The \"allow_any_subject\" indicates that the issuer is allowed to have any principal as the subject of the JWT.+ , trustOAuth2JwtGrantIssuerExpiresAt :: DateTime -- ^ /Required/ "expires_at" - The \"expires_at\" indicates, when grant will expire, so we will reject assertion from \"issuer\" targeting \"subject\".+ , trustOAuth2JwtGrantIssuerIssuer :: Text -- ^ /Required/ "issuer" - The \"issuer\" identifies the principal that issued the JWT assertion (same as \"iss\" claim in JWT).+ , trustOAuth2JwtGrantIssuerJwk :: JsonWebKey -- ^ /Required/ "jwk"+ , trustOAuth2JwtGrantIssuerScope :: [Text] -- ^ /Required/ "scope" - The \"scope\" contains list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749])+ , trustOAuth2JwtGrantIssuerSubject :: Maybe Text -- ^ "subject" - The \"subject\" identifies the principal that is the subject of the JWT.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TrustOAuth2JwtGrantIssuer+instance A.FromJSON TrustOAuth2JwtGrantIssuer where+ parseJSON = A.withObject "TrustOAuth2JwtGrantIssuer" $ \o ->+ TrustOAuth2JwtGrantIssuer+ <$> (o .:? "allow_any_subject")+ <*> (o .: "expires_at")+ <*> (o .: "issuer")+ <*> (o .: "jwk")+ <*> (o .: "scope")+ <*> (o .:? "subject")++-- | ToJSON TrustOAuth2JwtGrantIssuer+instance A.ToJSON TrustOAuth2JwtGrantIssuer where+ toJSON TrustOAuth2JwtGrantIssuer {..} =+ _omitNulls+ [ "allow_any_subject" .= trustOAuth2JwtGrantIssuerAllowAnySubject+ , "expires_at" .= trustOAuth2JwtGrantIssuerExpiresAt+ , "issuer" .= trustOAuth2JwtGrantIssuerIssuer+ , "jwk" .= trustOAuth2JwtGrantIssuerJwk+ , "scope" .= trustOAuth2JwtGrantIssuerScope+ , "subject" .= trustOAuth2JwtGrantIssuerSubject+ ]+++-- | Construct a value of type 'TrustOAuth2JwtGrantIssuer' (by applying it's required fields, if any)+mkTrustOAuth2JwtGrantIssuer+ :: DateTime -- ^ 'trustOAuth2JwtGrantIssuerExpiresAt': The \"expires_at\" indicates, when grant will expire, so we will reject assertion from \"issuer\" targeting \"subject\".+ -> Text -- ^ 'trustOAuth2JwtGrantIssuerIssuer': The \"issuer\" identifies the principal that issued the JWT assertion (same as \"iss\" claim in JWT).+ -> JsonWebKey -- ^ 'trustOAuth2JwtGrantIssuerJwk' + -> [Text] -- ^ 'trustOAuth2JwtGrantIssuerScope': The \"scope\" contains list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749])+ -> TrustOAuth2JwtGrantIssuer+mkTrustOAuth2JwtGrantIssuer trustOAuth2JwtGrantIssuerExpiresAt trustOAuth2JwtGrantIssuerIssuer trustOAuth2JwtGrantIssuerJwk trustOAuth2JwtGrantIssuerScope =+ TrustOAuth2JwtGrantIssuer+ { trustOAuth2JwtGrantIssuerAllowAnySubject = Nothing+ , trustOAuth2JwtGrantIssuerExpiresAt+ , trustOAuth2JwtGrantIssuerIssuer+ , trustOAuth2JwtGrantIssuerJwk+ , trustOAuth2JwtGrantIssuerScope+ , trustOAuth2JwtGrantIssuerSubject = Nothing+ }++-- ** TrustedOAuth2JwtGrantIssuer+-- | TrustedOAuth2JwtGrantIssuer+-- OAuth2 JWT Bearer Grant Type Issuer Trust Relationship+data TrustedOAuth2JwtGrantIssuer = TrustedOAuth2JwtGrantIssuer+ { trustedOAuth2JwtGrantIssuerAllowAnySubject :: Maybe Bool -- ^ "allow_any_subject" - The \"allow_any_subject\" indicates that the issuer is allowed to have any principal as the subject of the JWT.+ , trustedOAuth2JwtGrantIssuerCreatedAt :: Maybe DateTime -- ^ "created_at" - The \"created_at\" indicates, when grant was created.+ , trustedOAuth2JwtGrantIssuerExpiresAt :: Maybe DateTime -- ^ "expires_at" - The \"expires_at\" indicates, when grant will expire, so we will reject assertion from \"issuer\" targeting \"subject\".+ , trustedOAuth2JwtGrantIssuerId :: Maybe Text -- ^ "id"+ , trustedOAuth2JwtGrantIssuerIssuer :: Maybe Text -- ^ "issuer" - The \"issuer\" identifies the principal that issued the JWT assertion (same as \"iss\" claim in JWT).+ , trustedOAuth2JwtGrantIssuerPublicKey :: Maybe TrustedOAuth2JwtGrantJsonWebKey -- ^ "public_key"+ , trustedOAuth2JwtGrantIssuerScope :: Maybe [Text] -- ^ "scope" - The \"scope\" contains list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749])+ , trustedOAuth2JwtGrantIssuerSubject :: Maybe Text -- ^ "subject" - The \"subject\" identifies the principal that is the subject of the JWT.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TrustedOAuth2JwtGrantIssuer+instance A.FromJSON TrustedOAuth2JwtGrantIssuer where+ parseJSON = A.withObject "TrustedOAuth2JwtGrantIssuer" $ \o ->+ TrustedOAuth2JwtGrantIssuer+ <$> (o .:? "allow_any_subject")+ <*> (o .:? "created_at")+ <*> (o .:? "expires_at")+ <*> (o .:? "id")+ <*> (o .:? "issuer")+ <*> (o .:? "public_key")+ <*> (o .:? "scope")+ <*> (o .:? "subject")++-- | ToJSON TrustedOAuth2JwtGrantIssuer+instance A.ToJSON TrustedOAuth2JwtGrantIssuer where+ toJSON TrustedOAuth2JwtGrantIssuer {..} =+ _omitNulls+ [ "allow_any_subject" .= trustedOAuth2JwtGrantIssuerAllowAnySubject+ , "created_at" .= trustedOAuth2JwtGrantIssuerCreatedAt+ , "expires_at" .= trustedOAuth2JwtGrantIssuerExpiresAt+ , "id" .= trustedOAuth2JwtGrantIssuerId+ , "issuer" .= trustedOAuth2JwtGrantIssuerIssuer+ , "public_key" .= trustedOAuth2JwtGrantIssuerPublicKey+ , "scope" .= trustedOAuth2JwtGrantIssuerScope+ , "subject" .= trustedOAuth2JwtGrantIssuerSubject+ ]+++-- | Construct a value of type 'TrustedOAuth2JwtGrantIssuer' (by applying it's required fields, if any)+mkTrustedOAuth2JwtGrantIssuer+ :: TrustedOAuth2JwtGrantIssuer+mkTrustedOAuth2JwtGrantIssuer =+ TrustedOAuth2JwtGrantIssuer+ { trustedOAuth2JwtGrantIssuerAllowAnySubject = Nothing+ , trustedOAuth2JwtGrantIssuerCreatedAt = Nothing+ , trustedOAuth2JwtGrantIssuerExpiresAt = Nothing+ , trustedOAuth2JwtGrantIssuerId = Nothing+ , trustedOAuth2JwtGrantIssuerIssuer = Nothing+ , trustedOAuth2JwtGrantIssuerPublicKey = Nothing+ , trustedOAuth2JwtGrantIssuerScope = Nothing+ , trustedOAuth2JwtGrantIssuerSubject = Nothing+ }++-- ** TrustedOAuth2JwtGrantJsonWebKey+-- | TrustedOAuth2JwtGrantJsonWebKey+-- OAuth2 JWT Bearer Grant Type Issuer Trusted JSON Web Key+data TrustedOAuth2JwtGrantJsonWebKey = TrustedOAuth2JwtGrantJsonWebKey+ { trustedOAuth2JwtGrantJsonWebKeyKid :: Maybe Text -- ^ "kid" - The \"key_id\" is key unique identifier (same as kid header in jws/jwt).+ , trustedOAuth2JwtGrantJsonWebKeySet :: Maybe Text -- ^ "set" - The \"set\" is basically a name for a group(set) of keys. Will be the same as \"issuer\" in grant.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TrustedOAuth2JwtGrantJsonWebKey+instance A.FromJSON TrustedOAuth2JwtGrantJsonWebKey where+ parseJSON = A.withObject "TrustedOAuth2JwtGrantJsonWebKey" $ \o ->+ TrustedOAuth2JwtGrantJsonWebKey+ <$> (o .:? "kid")+ <*> (o .:? "set")++-- | ToJSON TrustedOAuth2JwtGrantJsonWebKey+instance A.ToJSON TrustedOAuth2JwtGrantJsonWebKey where+ toJSON TrustedOAuth2JwtGrantJsonWebKey {..} =+ _omitNulls+ [ "kid" .= trustedOAuth2JwtGrantJsonWebKeyKid+ , "set" .= trustedOAuth2JwtGrantJsonWebKeySet+ ]+++-- | Construct a value of type 'TrustedOAuth2JwtGrantJsonWebKey' (by applying it's required fields, if any)+mkTrustedOAuth2JwtGrantJsonWebKey+ :: TrustedOAuth2JwtGrantJsonWebKey+mkTrustedOAuth2JwtGrantJsonWebKey =+ TrustedOAuth2JwtGrantJsonWebKey+ { trustedOAuth2JwtGrantJsonWebKeyKid = Nothing+ , trustedOAuth2JwtGrantJsonWebKeySet = Nothing+ }++-- ** Version+-- | Version+data Version = Version+ { versionVersion :: Maybe Text -- ^ "version" - Version is the service's version.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Version+instance A.FromJSON Version where+ parseJSON = A.withObject "Version" $ \o ->+ Version+ <$> (o .:? "version")++-- | ToJSON Version+instance A.ToJSON Version where+ toJSON Version {..} =+ _omitNulls+ [ "version" .= versionVersion+ ]+++-- | Construct a value of type 'Version' (by applying it's required fields, if any)+mkVersion+ :: Version+mkVersion =+ Version+ { versionVersion = Nothing+ }+++++-- * Auth Methods++-- ** AuthBasicBasic+data AuthBasicBasic =+ AuthBasicBasic B.ByteString B.ByteString -- ^ username password+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthBasicBasic where+ applyAuthMethod _ a@(AuthBasicBasic user pw) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req+ where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])++-- ** AuthBasicBearer+data AuthBasicBearer =+ AuthBasicBearer B.ByteString B.ByteString -- ^ username password+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthBasicBearer where+ applyAuthMethod _ a@(AuthBasicBearer user pw) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req+ where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])++-- ** AuthOAuthOauth2+data AuthOAuthOauth2 =+ AuthOAuthOauth2 Text -- ^ secret+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthOAuthOauth2 where+ applyAuthMethod _ a@(AuthOAuthOauth2 secret) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setHeader` toHeader ("Authorization", "Bearer " <> secret)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req++
+ lib/OryHydra/ModelLens.hs view
@@ -0,0 +1,1500 @@+{-+ Ory Hydra API++ Documentation for all of Ory Hydra's APIs. ++ OpenAPI Version: 3.0.3+ Ory Hydra API API version: + Contact: hi@ory.sh+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : OryHydra.Lens+-}++{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE RecordWildCards #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}++module OryHydra.ModelLens where++import qualified Data.Aeson as A+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Data, Typeable)+import qualified Data.Map as Map+import qualified Data.Set as Set+import qualified Data.Time as TI++import Data.Text (Text)++import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++import OryHydra.Model+import OryHydra.Core+++-- * AcceptOAuth2ConsentRequest++-- | 'acceptOAuth2ConsentRequestGrantAccessTokenAudience' Lens+acceptOAuth2ConsentRequestGrantAccessTokenAudienceL :: Lens_' AcceptOAuth2ConsentRequest (Maybe [Text])+acceptOAuth2ConsentRequestGrantAccessTokenAudienceL f AcceptOAuth2ConsentRequest{..} = (\acceptOAuth2ConsentRequestGrantAccessTokenAudience -> AcceptOAuth2ConsentRequest { acceptOAuth2ConsentRequestGrantAccessTokenAudience, ..} ) <$> f acceptOAuth2ConsentRequestGrantAccessTokenAudience+{-# INLINE acceptOAuth2ConsentRequestGrantAccessTokenAudienceL #-}++-- | 'acceptOAuth2ConsentRequestGrantScope' Lens+acceptOAuth2ConsentRequestGrantScopeL :: Lens_' AcceptOAuth2ConsentRequest (Maybe [Text])+acceptOAuth2ConsentRequestGrantScopeL f AcceptOAuth2ConsentRequest{..} = (\acceptOAuth2ConsentRequestGrantScope -> AcceptOAuth2ConsentRequest { acceptOAuth2ConsentRequestGrantScope, ..} ) <$> f acceptOAuth2ConsentRequestGrantScope+{-# INLINE acceptOAuth2ConsentRequestGrantScopeL #-}++-- | 'acceptOAuth2ConsentRequestHandledAt' Lens+acceptOAuth2ConsentRequestHandledAtL :: Lens_' AcceptOAuth2ConsentRequest (Maybe DateTime)+acceptOAuth2ConsentRequestHandledAtL f AcceptOAuth2ConsentRequest{..} = (\acceptOAuth2ConsentRequestHandledAt -> AcceptOAuth2ConsentRequest { acceptOAuth2ConsentRequestHandledAt, ..} ) <$> f acceptOAuth2ConsentRequestHandledAt+{-# INLINE acceptOAuth2ConsentRequestHandledAtL #-}++-- | 'acceptOAuth2ConsentRequestRemember' Lens+acceptOAuth2ConsentRequestRememberL :: Lens_' AcceptOAuth2ConsentRequest (Maybe Bool)+acceptOAuth2ConsentRequestRememberL f AcceptOAuth2ConsentRequest{..} = (\acceptOAuth2ConsentRequestRemember -> AcceptOAuth2ConsentRequest { acceptOAuth2ConsentRequestRemember, ..} ) <$> f acceptOAuth2ConsentRequestRemember+{-# INLINE acceptOAuth2ConsentRequestRememberL #-}++-- | 'acceptOAuth2ConsentRequestRememberFor' Lens+acceptOAuth2ConsentRequestRememberForL :: Lens_' AcceptOAuth2ConsentRequest (Maybe Integer)+acceptOAuth2ConsentRequestRememberForL f AcceptOAuth2ConsentRequest{..} = (\acceptOAuth2ConsentRequestRememberFor -> AcceptOAuth2ConsentRequest { acceptOAuth2ConsentRequestRememberFor, ..} ) <$> f acceptOAuth2ConsentRequestRememberFor+{-# INLINE acceptOAuth2ConsentRequestRememberForL #-}++-- | 'acceptOAuth2ConsentRequestSession' Lens+acceptOAuth2ConsentRequestSessionL :: Lens_' AcceptOAuth2ConsentRequest (Maybe AcceptOAuth2ConsentRequestSession)+acceptOAuth2ConsentRequestSessionL f AcceptOAuth2ConsentRequest{..} = (\acceptOAuth2ConsentRequestSession -> AcceptOAuth2ConsentRequest { acceptOAuth2ConsentRequestSession, ..} ) <$> f acceptOAuth2ConsentRequestSession+{-# INLINE acceptOAuth2ConsentRequestSessionL #-}++++-- * AcceptOAuth2ConsentRequestSession++-- | 'acceptOAuth2ConsentRequestSessionAccessToken' Lens+acceptOAuth2ConsentRequestSessionAccessTokenL :: Lens_' AcceptOAuth2ConsentRequestSession (Maybe A.Value)+acceptOAuth2ConsentRequestSessionAccessTokenL f AcceptOAuth2ConsentRequestSession{..} = (\acceptOAuth2ConsentRequestSessionAccessToken -> AcceptOAuth2ConsentRequestSession { acceptOAuth2ConsentRequestSessionAccessToken, ..} ) <$> f acceptOAuth2ConsentRequestSessionAccessToken+{-# INLINE acceptOAuth2ConsentRequestSessionAccessTokenL #-}++-- | 'acceptOAuth2ConsentRequestSessionIdToken' Lens+acceptOAuth2ConsentRequestSessionIdTokenL :: Lens_' AcceptOAuth2ConsentRequestSession (Maybe A.Value)+acceptOAuth2ConsentRequestSessionIdTokenL f AcceptOAuth2ConsentRequestSession{..} = (\acceptOAuth2ConsentRequestSessionIdToken -> AcceptOAuth2ConsentRequestSession { acceptOAuth2ConsentRequestSessionIdToken, ..} ) <$> f acceptOAuth2ConsentRequestSessionIdToken+{-# INLINE acceptOAuth2ConsentRequestSessionIdTokenL #-}++++-- * AcceptOAuth2LoginRequest++-- | 'acceptOAuth2LoginRequestAcr' Lens+acceptOAuth2LoginRequestAcrL :: Lens_' AcceptOAuth2LoginRequest (Maybe Text)+acceptOAuth2LoginRequestAcrL f AcceptOAuth2LoginRequest{..} = (\acceptOAuth2LoginRequestAcr -> AcceptOAuth2LoginRequest { acceptOAuth2LoginRequestAcr, ..} ) <$> f acceptOAuth2LoginRequestAcr+{-# INLINE acceptOAuth2LoginRequestAcrL #-}++-- | 'acceptOAuth2LoginRequestAmr' Lens+acceptOAuth2LoginRequestAmrL :: Lens_' AcceptOAuth2LoginRequest (Maybe [Text])+acceptOAuth2LoginRequestAmrL f AcceptOAuth2LoginRequest{..} = (\acceptOAuth2LoginRequestAmr -> AcceptOAuth2LoginRequest { acceptOAuth2LoginRequestAmr, ..} ) <$> f acceptOAuth2LoginRequestAmr+{-# INLINE acceptOAuth2LoginRequestAmrL #-}++-- | 'acceptOAuth2LoginRequestContext' Lens+acceptOAuth2LoginRequestContextL :: Lens_' AcceptOAuth2LoginRequest (Maybe A.Value)+acceptOAuth2LoginRequestContextL f AcceptOAuth2LoginRequest{..} = (\acceptOAuth2LoginRequestContext -> AcceptOAuth2LoginRequest { acceptOAuth2LoginRequestContext, ..} ) <$> f acceptOAuth2LoginRequestContext+{-# INLINE acceptOAuth2LoginRequestContextL #-}++-- | 'acceptOAuth2LoginRequestForceSubjectIdentifier' Lens+acceptOAuth2LoginRequestForceSubjectIdentifierL :: Lens_' AcceptOAuth2LoginRequest (Maybe Text)+acceptOAuth2LoginRequestForceSubjectIdentifierL f AcceptOAuth2LoginRequest{..} = (\acceptOAuth2LoginRequestForceSubjectIdentifier -> AcceptOAuth2LoginRequest { acceptOAuth2LoginRequestForceSubjectIdentifier, ..} ) <$> f acceptOAuth2LoginRequestForceSubjectIdentifier+{-# INLINE acceptOAuth2LoginRequestForceSubjectIdentifierL #-}++-- | 'acceptOAuth2LoginRequestRemember' Lens+acceptOAuth2LoginRequestRememberL :: Lens_' AcceptOAuth2LoginRequest (Maybe Bool)+acceptOAuth2LoginRequestRememberL f AcceptOAuth2LoginRequest{..} = (\acceptOAuth2LoginRequestRemember -> AcceptOAuth2LoginRequest { acceptOAuth2LoginRequestRemember, ..} ) <$> f acceptOAuth2LoginRequestRemember+{-# INLINE acceptOAuth2LoginRequestRememberL #-}++-- | 'acceptOAuth2LoginRequestRememberFor' Lens+acceptOAuth2LoginRequestRememberForL :: Lens_' AcceptOAuth2LoginRequest (Maybe Integer)+acceptOAuth2LoginRequestRememberForL f AcceptOAuth2LoginRequest{..} = (\acceptOAuth2LoginRequestRememberFor -> AcceptOAuth2LoginRequest { acceptOAuth2LoginRequestRememberFor, ..} ) <$> f acceptOAuth2LoginRequestRememberFor+{-# INLINE acceptOAuth2LoginRequestRememberForL #-}++-- | 'acceptOAuth2LoginRequestSubject' Lens+acceptOAuth2LoginRequestSubjectL :: Lens_' AcceptOAuth2LoginRequest (Text)+acceptOAuth2LoginRequestSubjectL f AcceptOAuth2LoginRequest{..} = (\acceptOAuth2LoginRequestSubject -> AcceptOAuth2LoginRequest { acceptOAuth2LoginRequestSubject, ..} ) <$> f acceptOAuth2LoginRequestSubject+{-# INLINE acceptOAuth2LoginRequestSubjectL #-}++++-- * CreateJsonWebKeySet++-- | 'createJsonWebKeySetAlg' Lens+createJsonWebKeySetAlgL :: Lens_' CreateJsonWebKeySet (Text)+createJsonWebKeySetAlgL f CreateJsonWebKeySet{..} = (\createJsonWebKeySetAlg -> CreateJsonWebKeySet { createJsonWebKeySetAlg, ..} ) <$> f createJsonWebKeySetAlg+{-# INLINE createJsonWebKeySetAlgL #-}++-- | 'createJsonWebKeySetKid' Lens+createJsonWebKeySetKidL :: Lens_' CreateJsonWebKeySet (Text)+createJsonWebKeySetKidL f CreateJsonWebKeySet{..} = (\createJsonWebKeySetKid -> CreateJsonWebKeySet { createJsonWebKeySetKid, ..} ) <$> f createJsonWebKeySetKid+{-# INLINE createJsonWebKeySetKidL #-}++-- | 'createJsonWebKeySetUse' Lens+createJsonWebKeySetUseL :: Lens_' CreateJsonWebKeySet (Text)+createJsonWebKeySetUseL f CreateJsonWebKeySet{..} = (\createJsonWebKeySetUse -> CreateJsonWebKeySet { createJsonWebKeySetUse, ..} ) <$> f createJsonWebKeySetUse+{-# INLINE createJsonWebKeySetUseL #-}++++-- * ErrorOAuth2++-- | 'errorOAuth2Error' Lens+errorOAuth2ErrorL :: Lens_' ErrorOAuth2 (Maybe Text)+errorOAuth2ErrorL f ErrorOAuth2{..} = (\errorOAuth2Error -> ErrorOAuth2 { errorOAuth2Error, ..} ) <$> f errorOAuth2Error+{-# INLINE errorOAuth2ErrorL #-}++-- | 'errorOAuth2ErrorDebug' Lens+errorOAuth2ErrorDebugL :: Lens_' ErrorOAuth2 (Maybe Text)+errorOAuth2ErrorDebugL f ErrorOAuth2{..} = (\errorOAuth2ErrorDebug -> ErrorOAuth2 { errorOAuth2ErrorDebug, ..} ) <$> f errorOAuth2ErrorDebug+{-# INLINE errorOAuth2ErrorDebugL #-}++-- | 'errorOAuth2ErrorDescription' Lens+errorOAuth2ErrorDescriptionL :: Lens_' ErrorOAuth2 (Maybe Text)+errorOAuth2ErrorDescriptionL f ErrorOAuth2{..} = (\errorOAuth2ErrorDescription -> ErrorOAuth2 { errorOAuth2ErrorDescription, ..} ) <$> f errorOAuth2ErrorDescription+{-# INLINE errorOAuth2ErrorDescriptionL #-}++-- | 'errorOAuth2ErrorHint' Lens+errorOAuth2ErrorHintL :: Lens_' ErrorOAuth2 (Maybe Text)+errorOAuth2ErrorHintL f ErrorOAuth2{..} = (\errorOAuth2ErrorHint -> ErrorOAuth2 { errorOAuth2ErrorHint, ..} ) <$> f errorOAuth2ErrorHint+{-# INLINE errorOAuth2ErrorHintL #-}++-- | 'errorOAuth2StatusCode' Lens+errorOAuth2StatusCodeL :: Lens_' ErrorOAuth2 (Maybe Integer)+errorOAuth2StatusCodeL f ErrorOAuth2{..} = (\errorOAuth2StatusCode -> ErrorOAuth2 { errorOAuth2StatusCode, ..} ) <$> f errorOAuth2StatusCode+{-# INLINE errorOAuth2StatusCodeL #-}++++-- * GenericError++-- | 'genericErrorCode' Lens+genericErrorCodeL :: Lens_' GenericError (Maybe Integer)+genericErrorCodeL f GenericError{..} = (\genericErrorCode -> GenericError { genericErrorCode, ..} ) <$> f genericErrorCode+{-# INLINE genericErrorCodeL #-}++-- | 'genericErrorDebug' Lens+genericErrorDebugL :: Lens_' GenericError (Maybe Text)+genericErrorDebugL f GenericError{..} = (\genericErrorDebug -> GenericError { genericErrorDebug, ..} ) <$> f genericErrorDebug+{-# INLINE genericErrorDebugL #-}++-- | 'genericErrorDetails' Lens+genericErrorDetailsL :: Lens_' GenericError (Maybe A.Value)+genericErrorDetailsL f GenericError{..} = (\genericErrorDetails -> GenericError { genericErrorDetails, ..} ) <$> f genericErrorDetails+{-# INLINE genericErrorDetailsL #-}++-- | 'genericErrorId' Lens+genericErrorIdL :: Lens_' GenericError (Maybe Text)+genericErrorIdL f GenericError{..} = (\genericErrorId -> GenericError { genericErrorId, ..} ) <$> f genericErrorId+{-# INLINE genericErrorIdL #-}++-- | 'genericErrorMessage' Lens+genericErrorMessageL :: Lens_' GenericError (Text)+genericErrorMessageL f GenericError{..} = (\genericErrorMessage -> GenericError { genericErrorMessage, ..} ) <$> f genericErrorMessage+{-# INLINE genericErrorMessageL #-}++-- | 'genericErrorReason' Lens+genericErrorReasonL :: Lens_' GenericError (Maybe Text)+genericErrorReasonL f GenericError{..} = (\genericErrorReason -> GenericError { genericErrorReason, ..} ) <$> f genericErrorReason+{-# INLINE genericErrorReasonL #-}++-- | 'genericErrorRequest' Lens+genericErrorRequestL :: Lens_' GenericError (Maybe Text)+genericErrorRequestL f GenericError{..} = (\genericErrorRequest -> GenericError { genericErrorRequest, ..} ) <$> f genericErrorRequest+{-# INLINE genericErrorRequestL #-}++-- | 'genericErrorStatus' Lens+genericErrorStatusL :: Lens_' GenericError (Maybe Text)+genericErrorStatusL f GenericError{..} = (\genericErrorStatus -> GenericError { genericErrorStatus, ..} ) <$> f genericErrorStatus+{-# INLINE genericErrorStatusL #-}++++-- * GetVersion200Response++-- | 'getVersion200ResponseVersion' Lens+getVersion200ResponseVersionL :: Lens_' GetVersion200Response (Maybe Text)+getVersion200ResponseVersionL f GetVersion200Response{..} = (\getVersion200ResponseVersion -> GetVersion200Response { getVersion200ResponseVersion, ..} ) <$> f getVersion200ResponseVersion+{-# INLINE getVersion200ResponseVersionL #-}++++-- * HealthNotReadyStatus++-- | 'healthNotReadyStatusErrors' Lens+healthNotReadyStatusErrorsL :: Lens_' HealthNotReadyStatus (Maybe (Map.Map String Text))+healthNotReadyStatusErrorsL f HealthNotReadyStatus{..} = (\healthNotReadyStatusErrors -> HealthNotReadyStatus { healthNotReadyStatusErrors, ..} ) <$> f healthNotReadyStatusErrors+{-# INLINE healthNotReadyStatusErrorsL #-}++++-- * HealthStatus++-- | 'healthStatusStatus' Lens+healthStatusStatusL :: Lens_' HealthStatus (Maybe Text)+healthStatusStatusL f HealthStatus{..} = (\healthStatusStatus -> HealthStatus { healthStatusStatus, ..} ) <$> f healthStatusStatus+{-# INLINE healthStatusStatusL #-}++++-- * IntrospectedOAuth2Token++-- | 'introspectedOAuth2TokenActive' Lens+introspectedOAuth2TokenActiveL :: Lens_' IntrospectedOAuth2Token (Bool)+introspectedOAuth2TokenActiveL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenActive -> IntrospectedOAuth2Token { introspectedOAuth2TokenActive, ..} ) <$> f introspectedOAuth2TokenActive+{-# INLINE introspectedOAuth2TokenActiveL #-}++-- | 'introspectedOAuth2TokenAud' Lens+introspectedOAuth2TokenAudL :: Lens_' IntrospectedOAuth2Token (Maybe [Text])+introspectedOAuth2TokenAudL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenAud -> IntrospectedOAuth2Token { introspectedOAuth2TokenAud, ..} ) <$> f introspectedOAuth2TokenAud+{-# INLINE introspectedOAuth2TokenAudL #-}++-- | 'introspectedOAuth2TokenClientId' Lens+introspectedOAuth2TokenClientIdL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenClientIdL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenClientId -> IntrospectedOAuth2Token { introspectedOAuth2TokenClientId, ..} ) <$> f introspectedOAuth2TokenClientId+{-# INLINE introspectedOAuth2TokenClientIdL #-}++-- | 'introspectedOAuth2TokenExp' Lens+introspectedOAuth2TokenExpL :: Lens_' IntrospectedOAuth2Token (Maybe Integer)+introspectedOAuth2TokenExpL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenExp -> IntrospectedOAuth2Token { introspectedOAuth2TokenExp, ..} ) <$> f introspectedOAuth2TokenExp+{-# INLINE introspectedOAuth2TokenExpL #-}++-- | 'introspectedOAuth2TokenExt' Lens+introspectedOAuth2TokenExtL :: Lens_' IntrospectedOAuth2Token (Maybe (Map.Map String A.Value))+introspectedOAuth2TokenExtL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenExt -> IntrospectedOAuth2Token { introspectedOAuth2TokenExt, ..} ) <$> f introspectedOAuth2TokenExt+{-# INLINE introspectedOAuth2TokenExtL #-}++-- | 'introspectedOAuth2TokenIat' Lens+introspectedOAuth2TokenIatL :: Lens_' IntrospectedOAuth2Token (Maybe Integer)+introspectedOAuth2TokenIatL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenIat -> IntrospectedOAuth2Token { introspectedOAuth2TokenIat, ..} ) <$> f introspectedOAuth2TokenIat+{-# INLINE introspectedOAuth2TokenIatL #-}++-- | 'introspectedOAuth2TokenIss' Lens+introspectedOAuth2TokenIssL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenIssL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenIss -> IntrospectedOAuth2Token { introspectedOAuth2TokenIss, ..} ) <$> f introspectedOAuth2TokenIss+{-# INLINE introspectedOAuth2TokenIssL #-}++-- | 'introspectedOAuth2TokenNbf' Lens+introspectedOAuth2TokenNbfL :: Lens_' IntrospectedOAuth2Token (Maybe Integer)+introspectedOAuth2TokenNbfL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenNbf -> IntrospectedOAuth2Token { introspectedOAuth2TokenNbf, ..} ) <$> f introspectedOAuth2TokenNbf+{-# INLINE introspectedOAuth2TokenNbfL #-}++-- | 'introspectedOAuth2TokenObfuscatedSubject' Lens+introspectedOAuth2TokenObfuscatedSubjectL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenObfuscatedSubjectL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenObfuscatedSubject -> IntrospectedOAuth2Token { introspectedOAuth2TokenObfuscatedSubject, ..} ) <$> f introspectedOAuth2TokenObfuscatedSubject+{-# INLINE introspectedOAuth2TokenObfuscatedSubjectL #-}++-- | 'introspectedOAuth2TokenScope' Lens+introspectedOAuth2TokenScopeL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenScopeL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenScope -> IntrospectedOAuth2Token { introspectedOAuth2TokenScope, ..} ) <$> f introspectedOAuth2TokenScope+{-# INLINE introspectedOAuth2TokenScopeL #-}++-- | 'introspectedOAuth2TokenSub' Lens+introspectedOAuth2TokenSubL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenSubL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenSub -> IntrospectedOAuth2Token { introspectedOAuth2TokenSub, ..} ) <$> f introspectedOAuth2TokenSub+{-# INLINE introspectedOAuth2TokenSubL #-}++-- | 'introspectedOAuth2TokenTokenType' Lens+introspectedOAuth2TokenTokenTypeL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenTokenTypeL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenTokenType -> IntrospectedOAuth2Token { introspectedOAuth2TokenTokenType, ..} ) <$> f introspectedOAuth2TokenTokenType+{-# INLINE introspectedOAuth2TokenTokenTypeL #-}++-- | 'introspectedOAuth2TokenTokenUse' Lens+introspectedOAuth2TokenTokenUseL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenTokenUseL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenTokenUse -> IntrospectedOAuth2Token { introspectedOAuth2TokenTokenUse, ..} ) <$> f introspectedOAuth2TokenTokenUse+{-# INLINE introspectedOAuth2TokenTokenUseL #-}++-- | 'introspectedOAuth2TokenUsername' Lens+introspectedOAuth2TokenUsernameL :: Lens_' IntrospectedOAuth2Token (Maybe Text)+introspectedOAuth2TokenUsernameL f IntrospectedOAuth2Token{..} = (\introspectedOAuth2TokenUsername -> IntrospectedOAuth2Token { introspectedOAuth2TokenUsername, ..} ) <$> f introspectedOAuth2TokenUsername+{-# INLINE introspectedOAuth2TokenUsernameL #-}++++-- * IsReady200Response++-- | 'isReady200ResponseStatus' Lens+isReady200ResponseStatusL :: Lens_' IsReady200Response (Maybe Text)+isReady200ResponseStatusL f IsReady200Response{..} = (\isReady200ResponseStatus -> IsReady200Response { isReady200ResponseStatus, ..} ) <$> f isReady200ResponseStatus+{-# INLINE isReady200ResponseStatusL #-}++++-- * IsReady503Response++-- | 'isReady503ResponseErrors' Lens+isReady503ResponseErrorsL :: Lens_' IsReady503Response (Maybe (Map.Map String Text))+isReady503ResponseErrorsL f IsReady503Response{..} = (\isReady503ResponseErrors -> IsReady503Response { isReady503ResponseErrors, ..} ) <$> f isReady503ResponseErrors+{-# INLINE isReady503ResponseErrorsL #-}++++-- * JsonPatch++-- | 'jsonPatchFrom' Lens+jsonPatchFromL :: Lens_' JsonPatch (Maybe Text)+jsonPatchFromL f JsonPatch{..} = (\jsonPatchFrom -> JsonPatch { jsonPatchFrom, ..} ) <$> f jsonPatchFrom+{-# INLINE jsonPatchFromL #-}++-- | 'jsonPatchOp' Lens+jsonPatchOpL :: Lens_' JsonPatch (Text)+jsonPatchOpL f JsonPatch{..} = (\jsonPatchOp -> JsonPatch { jsonPatchOp, ..} ) <$> f jsonPatchOp+{-# INLINE jsonPatchOpL #-}++-- | 'jsonPatchPath' Lens+jsonPatchPathL :: Lens_' JsonPatch (Text)+jsonPatchPathL f JsonPatch{..} = (\jsonPatchPath -> JsonPatch { jsonPatchPath, ..} ) <$> f jsonPatchPath+{-# INLINE jsonPatchPathL #-}++-- | 'jsonPatchValue' Lens+jsonPatchValueL :: Lens_' JsonPatch (Maybe A.Value)+jsonPatchValueL f JsonPatch{..} = (\jsonPatchValue -> JsonPatch { jsonPatchValue, ..} ) <$> f jsonPatchValue+{-# INLINE jsonPatchValueL #-}++++-- * JsonWebKey++-- | 'jsonWebKeyAlg' Lens+jsonWebKeyAlgL :: Lens_' JsonWebKey (Text)+jsonWebKeyAlgL f JsonWebKey{..} = (\jsonWebKeyAlg -> JsonWebKey { jsonWebKeyAlg, ..} ) <$> f jsonWebKeyAlg+{-# INLINE jsonWebKeyAlgL #-}++-- | 'jsonWebKeyCrv' Lens+jsonWebKeyCrvL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyCrvL f JsonWebKey{..} = (\jsonWebKeyCrv -> JsonWebKey { jsonWebKeyCrv, ..} ) <$> f jsonWebKeyCrv+{-# INLINE jsonWebKeyCrvL #-}++-- | 'jsonWebKeyD' Lens+jsonWebKeyDL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyDL f JsonWebKey{..} = (\jsonWebKeyD -> JsonWebKey { jsonWebKeyD, ..} ) <$> f jsonWebKeyD+{-# INLINE jsonWebKeyDL #-}++-- | 'jsonWebKeyDp' Lens+jsonWebKeyDpL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyDpL f JsonWebKey{..} = (\jsonWebKeyDp -> JsonWebKey { jsonWebKeyDp, ..} ) <$> f jsonWebKeyDp+{-# INLINE jsonWebKeyDpL #-}++-- | 'jsonWebKeyDq' Lens+jsonWebKeyDqL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyDqL f JsonWebKey{..} = (\jsonWebKeyDq -> JsonWebKey { jsonWebKeyDq, ..} ) <$> f jsonWebKeyDq+{-# INLINE jsonWebKeyDqL #-}++-- | 'jsonWebKeyE' Lens+jsonWebKeyEL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyEL f JsonWebKey{..} = (\jsonWebKeyE -> JsonWebKey { jsonWebKeyE, ..} ) <$> f jsonWebKeyE+{-# INLINE jsonWebKeyEL #-}++-- | 'jsonWebKeyK' Lens+jsonWebKeyKL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyKL f JsonWebKey{..} = (\jsonWebKeyK -> JsonWebKey { jsonWebKeyK, ..} ) <$> f jsonWebKeyK+{-# INLINE jsonWebKeyKL #-}++-- | 'jsonWebKeyKid' Lens+jsonWebKeyKidL :: Lens_' JsonWebKey (Text)+jsonWebKeyKidL f JsonWebKey{..} = (\jsonWebKeyKid -> JsonWebKey { jsonWebKeyKid, ..} ) <$> f jsonWebKeyKid+{-# INLINE jsonWebKeyKidL #-}++-- | 'jsonWebKeyKty' Lens+jsonWebKeyKtyL :: Lens_' JsonWebKey (Text)+jsonWebKeyKtyL f JsonWebKey{..} = (\jsonWebKeyKty -> JsonWebKey { jsonWebKeyKty, ..} ) <$> f jsonWebKeyKty+{-# INLINE jsonWebKeyKtyL #-}++-- | 'jsonWebKeyN' Lens+jsonWebKeyNL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyNL f JsonWebKey{..} = (\jsonWebKeyN -> JsonWebKey { jsonWebKeyN, ..} ) <$> f jsonWebKeyN+{-# INLINE jsonWebKeyNL #-}++-- | 'jsonWebKeyP' Lens+jsonWebKeyPL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyPL f JsonWebKey{..} = (\jsonWebKeyP -> JsonWebKey { jsonWebKeyP, ..} ) <$> f jsonWebKeyP+{-# INLINE jsonWebKeyPL #-}++-- | 'jsonWebKeyQ' Lens+jsonWebKeyQL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyQL f JsonWebKey{..} = (\jsonWebKeyQ -> JsonWebKey { jsonWebKeyQ, ..} ) <$> f jsonWebKeyQ+{-# INLINE jsonWebKeyQL #-}++-- | 'jsonWebKeyQi' Lens+jsonWebKeyQiL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyQiL f JsonWebKey{..} = (\jsonWebKeyQi -> JsonWebKey { jsonWebKeyQi, ..} ) <$> f jsonWebKeyQi+{-# INLINE jsonWebKeyQiL #-}++-- | 'jsonWebKeyUse' Lens+jsonWebKeyUseL :: Lens_' JsonWebKey (Text)+jsonWebKeyUseL f JsonWebKey{..} = (\jsonWebKeyUse -> JsonWebKey { jsonWebKeyUse, ..} ) <$> f jsonWebKeyUse+{-# INLINE jsonWebKeyUseL #-}++-- | 'jsonWebKeyX' Lens+jsonWebKeyXL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyXL f JsonWebKey{..} = (\jsonWebKeyX -> JsonWebKey { jsonWebKeyX, ..} ) <$> f jsonWebKeyX+{-# INLINE jsonWebKeyXL #-}++-- | 'jsonWebKeyX5c' Lens+jsonWebKeyX5cL :: Lens_' JsonWebKey (Maybe [Text])+jsonWebKeyX5cL f JsonWebKey{..} = (\jsonWebKeyX5c -> JsonWebKey { jsonWebKeyX5c, ..} ) <$> f jsonWebKeyX5c+{-# INLINE jsonWebKeyX5cL #-}++-- | 'jsonWebKeyY' Lens+jsonWebKeyYL :: Lens_' JsonWebKey (Maybe Text)+jsonWebKeyYL f JsonWebKey{..} = (\jsonWebKeyY -> JsonWebKey { jsonWebKeyY, ..} ) <$> f jsonWebKeyY+{-# INLINE jsonWebKeyYL #-}++++-- * JsonWebKeySet++-- | 'jsonWebKeySetKeys' Lens+jsonWebKeySetKeysL :: Lens_' JsonWebKeySet (Maybe [JsonWebKey])+jsonWebKeySetKeysL f JsonWebKeySet{..} = (\jsonWebKeySetKeys -> JsonWebKeySet { jsonWebKeySetKeys, ..} ) <$> f jsonWebKeySetKeys+{-# INLINE jsonWebKeySetKeysL #-}++++-- * OAuth2Client++-- | 'oAuth2ClientAllowedCorsOrigins' Lens+oAuth2ClientAllowedCorsOriginsL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientAllowedCorsOriginsL f OAuth2Client{..} = (\oAuth2ClientAllowedCorsOrigins -> OAuth2Client { oAuth2ClientAllowedCorsOrigins, ..} ) <$> f oAuth2ClientAllowedCorsOrigins+{-# INLINE oAuth2ClientAllowedCorsOriginsL #-}++-- | 'oAuth2ClientAudience' Lens+oAuth2ClientAudienceL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientAudienceL f OAuth2Client{..} = (\oAuth2ClientAudience -> OAuth2Client { oAuth2ClientAudience, ..} ) <$> f oAuth2ClientAudience+{-# INLINE oAuth2ClientAudienceL #-}++-- | 'oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan' Lens+oAuth2ClientAuthorizationCodeGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientAuthorizationCodeGrantAccessTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan -> OAuth2Client { oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan+{-# INLINE oAuth2ClientAuthorizationCodeGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientAuthorizationCodeGrantIdTokenLifespan' Lens+oAuth2ClientAuthorizationCodeGrantIdTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientAuthorizationCodeGrantIdTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientAuthorizationCodeGrantIdTokenLifespan -> OAuth2Client { oAuth2ClientAuthorizationCodeGrantIdTokenLifespan, ..} ) <$> f oAuth2ClientAuthorizationCodeGrantIdTokenLifespan+{-# INLINE oAuth2ClientAuthorizationCodeGrantIdTokenLifespanL #-}++-- | 'oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan' Lens+oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan -> OAuth2Client { oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan, ..} ) <$> f oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan+{-# INLINE oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespanL #-}++-- | 'oAuth2ClientBackchannelLogoutSessionRequired' Lens+oAuth2ClientBackchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)+oAuth2ClientBackchannelLogoutSessionRequiredL f OAuth2Client{..} = (\oAuth2ClientBackchannelLogoutSessionRequired -> OAuth2Client { oAuth2ClientBackchannelLogoutSessionRequired, ..} ) <$> f oAuth2ClientBackchannelLogoutSessionRequired+{-# INLINE oAuth2ClientBackchannelLogoutSessionRequiredL #-}++-- | 'oAuth2ClientBackchannelLogoutUri' Lens+oAuth2ClientBackchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientBackchannelLogoutUriL f OAuth2Client{..} = (\oAuth2ClientBackchannelLogoutUri -> OAuth2Client { oAuth2ClientBackchannelLogoutUri, ..} ) <$> f oAuth2ClientBackchannelLogoutUri+{-# INLINE oAuth2ClientBackchannelLogoutUriL #-}++-- | 'oAuth2ClientClientCredentialsGrantAccessTokenLifespan' Lens+oAuth2ClientClientCredentialsGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientClientCredentialsGrantAccessTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientClientCredentialsGrantAccessTokenLifespan -> OAuth2Client { oAuth2ClientClientCredentialsGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientClientCredentialsGrantAccessTokenLifespan+{-# INLINE oAuth2ClientClientCredentialsGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientClientId' Lens+oAuth2ClientClientIdL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientClientIdL f OAuth2Client{..} = (\oAuth2ClientClientId -> OAuth2Client { oAuth2ClientClientId, ..} ) <$> f oAuth2ClientClientId+{-# INLINE oAuth2ClientClientIdL #-}++-- | 'oAuth2ClientClientName' Lens+oAuth2ClientClientNameL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientClientNameL f OAuth2Client{..} = (\oAuth2ClientClientName -> OAuth2Client { oAuth2ClientClientName, ..} ) <$> f oAuth2ClientClientName+{-# INLINE oAuth2ClientClientNameL #-}++-- | 'oAuth2ClientClientSecret' Lens+oAuth2ClientClientSecretL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientClientSecretL f OAuth2Client{..} = (\oAuth2ClientClientSecret -> OAuth2Client { oAuth2ClientClientSecret, ..} ) <$> f oAuth2ClientClientSecret+{-# INLINE oAuth2ClientClientSecretL #-}++-- | 'oAuth2ClientClientSecretExpiresAt' Lens+oAuth2ClientClientSecretExpiresAtL :: Lens_' OAuth2Client (Maybe Integer)+oAuth2ClientClientSecretExpiresAtL f OAuth2Client{..} = (\oAuth2ClientClientSecretExpiresAt -> OAuth2Client { oAuth2ClientClientSecretExpiresAt, ..} ) <$> f oAuth2ClientClientSecretExpiresAt+{-# INLINE oAuth2ClientClientSecretExpiresAtL #-}++-- | 'oAuth2ClientClientUri' Lens+oAuth2ClientClientUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientClientUriL f OAuth2Client{..} = (\oAuth2ClientClientUri -> OAuth2Client { oAuth2ClientClientUri, ..} ) <$> f oAuth2ClientClientUri+{-# INLINE oAuth2ClientClientUriL #-}++-- | 'oAuth2ClientContacts' Lens+oAuth2ClientContactsL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientContactsL f OAuth2Client{..} = (\oAuth2ClientContacts -> OAuth2Client { oAuth2ClientContacts, ..} ) <$> f oAuth2ClientContacts+{-# INLINE oAuth2ClientContactsL #-}++-- | 'oAuth2ClientCreatedAt' Lens+oAuth2ClientCreatedAtL :: Lens_' OAuth2Client (Maybe DateTime)+oAuth2ClientCreatedAtL f OAuth2Client{..} = (\oAuth2ClientCreatedAt -> OAuth2Client { oAuth2ClientCreatedAt, ..} ) <$> f oAuth2ClientCreatedAt+{-# INLINE oAuth2ClientCreatedAtL #-}++-- | 'oAuth2ClientFrontchannelLogoutSessionRequired' Lens+oAuth2ClientFrontchannelLogoutSessionRequiredL :: Lens_' OAuth2Client (Maybe Bool)+oAuth2ClientFrontchannelLogoutSessionRequiredL f OAuth2Client{..} = (\oAuth2ClientFrontchannelLogoutSessionRequired -> OAuth2Client { oAuth2ClientFrontchannelLogoutSessionRequired, ..} ) <$> f oAuth2ClientFrontchannelLogoutSessionRequired+{-# INLINE oAuth2ClientFrontchannelLogoutSessionRequiredL #-}++-- | 'oAuth2ClientFrontchannelLogoutUri' Lens+oAuth2ClientFrontchannelLogoutUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientFrontchannelLogoutUriL f OAuth2Client{..} = (\oAuth2ClientFrontchannelLogoutUri -> OAuth2Client { oAuth2ClientFrontchannelLogoutUri, ..} ) <$> f oAuth2ClientFrontchannelLogoutUri+{-# INLINE oAuth2ClientFrontchannelLogoutUriL #-}++-- | 'oAuth2ClientGrantTypes' Lens+oAuth2ClientGrantTypesL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientGrantTypesL f OAuth2Client{..} = (\oAuth2ClientGrantTypes -> OAuth2Client { oAuth2ClientGrantTypes, ..} ) <$> f oAuth2ClientGrantTypes+{-# INLINE oAuth2ClientGrantTypesL #-}++-- | 'oAuth2ClientImplicitGrantAccessTokenLifespan' Lens+oAuth2ClientImplicitGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientImplicitGrantAccessTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientImplicitGrantAccessTokenLifespan -> OAuth2Client { oAuth2ClientImplicitGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientImplicitGrantAccessTokenLifespan+{-# INLINE oAuth2ClientImplicitGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientImplicitGrantIdTokenLifespan' Lens+oAuth2ClientImplicitGrantIdTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientImplicitGrantIdTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientImplicitGrantIdTokenLifespan -> OAuth2Client { oAuth2ClientImplicitGrantIdTokenLifespan, ..} ) <$> f oAuth2ClientImplicitGrantIdTokenLifespan+{-# INLINE oAuth2ClientImplicitGrantIdTokenLifespanL #-}++-- | 'oAuth2ClientJwks' Lens+oAuth2ClientJwksL :: Lens_' OAuth2Client (Maybe A.Value)+oAuth2ClientJwksL f OAuth2Client{..} = (\oAuth2ClientJwks -> OAuth2Client { oAuth2ClientJwks, ..} ) <$> f oAuth2ClientJwks+{-# INLINE oAuth2ClientJwksL #-}++-- | 'oAuth2ClientJwksUri' Lens+oAuth2ClientJwksUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientJwksUriL f OAuth2Client{..} = (\oAuth2ClientJwksUri -> OAuth2Client { oAuth2ClientJwksUri, ..} ) <$> f oAuth2ClientJwksUri+{-# INLINE oAuth2ClientJwksUriL #-}++-- | 'oAuth2ClientJwtBearerGrantAccessTokenLifespan' Lens+oAuth2ClientJwtBearerGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientJwtBearerGrantAccessTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientJwtBearerGrantAccessTokenLifespan -> OAuth2Client { oAuth2ClientJwtBearerGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientJwtBearerGrantAccessTokenLifespan+{-# INLINE oAuth2ClientJwtBearerGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientLogoUri' Lens+oAuth2ClientLogoUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientLogoUriL f OAuth2Client{..} = (\oAuth2ClientLogoUri -> OAuth2Client { oAuth2ClientLogoUri, ..} ) <$> f oAuth2ClientLogoUri+{-# INLINE oAuth2ClientLogoUriL #-}++-- | 'oAuth2ClientMetadata' Lens+oAuth2ClientMetadataL :: Lens_' OAuth2Client (Maybe A.Value)+oAuth2ClientMetadataL f OAuth2Client{..} = (\oAuth2ClientMetadata -> OAuth2Client { oAuth2ClientMetadata, ..} ) <$> f oAuth2ClientMetadata+{-# INLINE oAuth2ClientMetadataL #-}++-- | 'oAuth2ClientOwner' Lens+oAuth2ClientOwnerL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientOwnerL f OAuth2Client{..} = (\oAuth2ClientOwner -> OAuth2Client { oAuth2ClientOwner, ..} ) <$> f oAuth2ClientOwner+{-# INLINE oAuth2ClientOwnerL #-}++-- | 'oAuth2ClientPolicyUri' Lens+oAuth2ClientPolicyUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientPolicyUriL f OAuth2Client{..} = (\oAuth2ClientPolicyUri -> OAuth2Client { oAuth2ClientPolicyUri, ..} ) <$> f oAuth2ClientPolicyUri+{-# INLINE oAuth2ClientPolicyUriL #-}++-- | 'oAuth2ClientPostLogoutRedirectUris' Lens+oAuth2ClientPostLogoutRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientPostLogoutRedirectUrisL f OAuth2Client{..} = (\oAuth2ClientPostLogoutRedirectUris -> OAuth2Client { oAuth2ClientPostLogoutRedirectUris, ..} ) <$> f oAuth2ClientPostLogoutRedirectUris+{-# INLINE oAuth2ClientPostLogoutRedirectUrisL #-}++-- | 'oAuth2ClientRedirectUris' Lens+oAuth2ClientRedirectUrisL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientRedirectUrisL f OAuth2Client{..} = (\oAuth2ClientRedirectUris -> OAuth2Client { oAuth2ClientRedirectUris, ..} ) <$> f oAuth2ClientRedirectUris+{-# INLINE oAuth2ClientRedirectUrisL #-}++-- | 'oAuth2ClientRefreshTokenGrantAccessTokenLifespan' Lens+oAuth2ClientRefreshTokenGrantAccessTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientRefreshTokenGrantAccessTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientRefreshTokenGrantAccessTokenLifespan -> OAuth2Client { oAuth2ClientRefreshTokenGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientRefreshTokenGrantAccessTokenLifespan+{-# INLINE oAuth2ClientRefreshTokenGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientRefreshTokenGrantIdTokenLifespan' Lens+oAuth2ClientRefreshTokenGrantIdTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientRefreshTokenGrantIdTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientRefreshTokenGrantIdTokenLifespan -> OAuth2Client { oAuth2ClientRefreshTokenGrantIdTokenLifespan, ..} ) <$> f oAuth2ClientRefreshTokenGrantIdTokenLifespan+{-# INLINE oAuth2ClientRefreshTokenGrantIdTokenLifespanL #-}++-- | 'oAuth2ClientRefreshTokenGrantRefreshTokenLifespan' Lens+oAuth2ClientRefreshTokenGrantRefreshTokenLifespanL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientRefreshTokenGrantRefreshTokenLifespanL f OAuth2Client{..} = (\oAuth2ClientRefreshTokenGrantRefreshTokenLifespan -> OAuth2Client { oAuth2ClientRefreshTokenGrantRefreshTokenLifespan, ..} ) <$> f oAuth2ClientRefreshTokenGrantRefreshTokenLifespan+{-# INLINE oAuth2ClientRefreshTokenGrantRefreshTokenLifespanL #-}++-- | 'oAuth2ClientRegistrationAccessToken' Lens+oAuth2ClientRegistrationAccessTokenL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientRegistrationAccessTokenL f OAuth2Client{..} = (\oAuth2ClientRegistrationAccessToken -> OAuth2Client { oAuth2ClientRegistrationAccessToken, ..} ) <$> f oAuth2ClientRegistrationAccessToken+{-# INLINE oAuth2ClientRegistrationAccessTokenL #-}++-- | 'oAuth2ClientRegistrationClientUri' Lens+oAuth2ClientRegistrationClientUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientRegistrationClientUriL f OAuth2Client{..} = (\oAuth2ClientRegistrationClientUri -> OAuth2Client { oAuth2ClientRegistrationClientUri, ..} ) <$> f oAuth2ClientRegistrationClientUri+{-# INLINE oAuth2ClientRegistrationClientUriL #-}++-- | 'oAuth2ClientRequestObjectSigningAlg' Lens+oAuth2ClientRequestObjectSigningAlgL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientRequestObjectSigningAlgL f OAuth2Client{..} = (\oAuth2ClientRequestObjectSigningAlg -> OAuth2Client { oAuth2ClientRequestObjectSigningAlg, ..} ) <$> f oAuth2ClientRequestObjectSigningAlg+{-# INLINE oAuth2ClientRequestObjectSigningAlgL #-}++-- | 'oAuth2ClientRequestUris' Lens+oAuth2ClientRequestUrisL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientRequestUrisL f OAuth2Client{..} = (\oAuth2ClientRequestUris -> OAuth2Client { oAuth2ClientRequestUris, ..} ) <$> f oAuth2ClientRequestUris+{-# INLINE oAuth2ClientRequestUrisL #-}++-- | 'oAuth2ClientResponseTypes' Lens+oAuth2ClientResponseTypesL :: Lens_' OAuth2Client (Maybe [Text])+oAuth2ClientResponseTypesL f OAuth2Client{..} = (\oAuth2ClientResponseTypes -> OAuth2Client { oAuth2ClientResponseTypes, ..} ) <$> f oAuth2ClientResponseTypes+{-# INLINE oAuth2ClientResponseTypesL #-}++-- | 'oAuth2ClientScope' Lens+oAuth2ClientScopeL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientScopeL f OAuth2Client{..} = (\oAuth2ClientScope -> OAuth2Client { oAuth2ClientScope, ..} ) <$> f oAuth2ClientScope+{-# INLINE oAuth2ClientScopeL #-}++-- | 'oAuth2ClientSectorIdentifierUri' Lens+oAuth2ClientSectorIdentifierUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientSectorIdentifierUriL f OAuth2Client{..} = (\oAuth2ClientSectorIdentifierUri -> OAuth2Client { oAuth2ClientSectorIdentifierUri, ..} ) <$> f oAuth2ClientSectorIdentifierUri+{-# INLINE oAuth2ClientSectorIdentifierUriL #-}++-- | 'oAuth2ClientSubjectType' Lens+oAuth2ClientSubjectTypeL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientSubjectTypeL f OAuth2Client{..} = (\oAuth2ClientSubjectType -> OAuth2Client { oAuth2ClientSubjectType, ..} ) <$> f oAuth2ClientSubjectType+{-# INLINE oAuth2ClientSubjectTypeL #-}++-- | 'oAuth2ClientTokenEndpointAuthMethod' Lens+oAuth2ClientTokenEndpointAuthMethodL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientTokenEndpointAuthMethodL f OAuth2Client{..} = (\oAuth2ClientTokenEndpointAuthMethod -> OAuth2Client { oAuth2ClientTokenEndpointAuthMethod, ..} ) <$> f oAuth2ClientTokenEndpointAuthMethod+{-# INLINE oAuth2ClientTokenEndpointAuthMethodL #-}++-- | 'oAuth2ClientTokenEndpointAuthSigningAlg' Lens+oAuth2ClientTokenEndpointAuthSigningAlgL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientTokenEndpointAuthSigningAlgL f OAuth2Client{..} = (\oAuth2ClientTokenEndpointAuthSigningAlg -> OAuth2Client { oAuth2ClientTokenEndpointAuthSigningAlg, ..} ) <$> f oAuth2ClientTokenEndpointAuthSigningAlg+{-# INLINE oAuth2ClientTokenEndpointAuthSigningAlgL #-}++-- | 'oAuth2ClientTosUri' Lens+oAuth2ClientTosUriL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientTosUriL f OAuth2Client{..} = (\oAuth2ClientTosUri -> OAuth2Client { oAuth2ClientTosUri, ..} ) <$> f oAuth2ClientTosUri+{-# INLINE oAuth2ClientTosUriL #-}++-- | 'oAuth2ClientUpdatedAt' Lens+oAuth2ClientUpdatedAtL :: Lens_' OAuth2Client (Maybe DateTime)+oAuth2ClientUpdatedAtL f OAuth2Client{..} = (\oAuth2ClientUpdatedAt -> OAuth2Client { oAuth2ClientUpdatedAt, ..} ) <$> f oAuth2ClientUpdatedAt+{-# INLINE oAuth2ClientUpdatedAtL #-}++-- | 'oAuth2ClientUserinfoSignedResponseAlg' Lens+oAuth2ClientUserinfoSignedResponseAlgL :: Lens_' OAuth2Client (Maybe Text)+oAuth2ClientUserinfoSignedResponseAlgL f OAuth2Client{..} = (\oAuth2ClientUserinfoSignedResponseAlg -> OAuth2Client { oAuth2ClientUserinfoSignedResponseAlg, ..} ) <$> f oAuth2ClientUserinfoSignedResponseAlg+{-# INLINE oAuth2ClientUserinfoSignedResponseAlgL #-}++++-- * OAuth2ClientTokenLifespans++-- | 'oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan' Lens+oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan' Lens+oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan' Lens+oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan' Lens+oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan' Lens+oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan' Lens+oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan' Lens+oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan' Lens+oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan' Lens+oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespanL #-}++-- | 'oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan' Lens+oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespanL :: Lens_' OAuth2ClientTokenLifespans (Maybe Text)+oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespanL f OAuth2ClientTokenLifespans{..} = (\oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan -> OAuth2ClientTokenLifespans { oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan, ..} ) <$> f oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan+{-# INLINE oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespanL #-}++++-- * OAuth2ConsentRequest++-- | 'oAuth2ConsentRequestAcr' Lens+oAuth2ConsentRequestAcrL :: Lens_' OAuth2ConsentRequest (Maybe Text)+oAuth2ConsentRequestAcrL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestAcr -> OAuth2ConsentRequest { oAuth2ConsentRequestAcr, ..} ) <$> f oAuth2ConsentRequestAcr+{-# INLINE oAuth2ConsentRequestAcrL #-}++-- | 'oAuth2ConsentRequestAmr' Lens+oAuth2ConsentRequestAmrL :: Lens_' OAuth2ConsentRequest (Maybe [Text])+oAuth2ConsentRequestAmrL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestAmr -> OAuth2ConsentRequest { oAuth2ConsentRequestAmr, ..} ) <$> f oAuth2ConsentRequestAmr+{-# INLINE oAuth2ConsentRequestAmrL #-}++-- | 'oAuth2ConsentRequestChallenge' Lens+oAuth2ConsentRequestChallengeL :: Lens_' OAuth2ConsentRequest (Text)+oAuth2ConsentRequestChallengeL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestChallenge -> OAuth2ConsentRequest { oAuth2ConsentRequestChallenge, ..} ) <$> f oAuth2ConsentRequestChallenge+{-# INLINE oAuth2ConsentRequestChallengeL #-}++-- | 'oAuth2ConsentRequestClient' Lens+oAuth2ConsentRequestClientL :: Lens_' OAuth2ConsentRequest (Maybe OAuth2Client)+oAuth2ConsentRequestClientL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestClient -> OAuth2ConsentRequest { oAuth2ConsentRequestClient, ..} ) <$> f oAuth2ConsentRequestClient+{-# INLINE oAuth2ConsentRequestClientL #-}++-- | 'oAuth2ConsentRequestContext' Lens+oAuth2ConsentRequestContextL :: Lens_' OAuth2ConsentRequest (Maybe A.Value)+oAuth2ConsentRequestContextL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestContext -> OAuth2ConsentRequest { oAuth2ConsentRequestContext, ..} ) <$> f oAuth2ConsentRequestContext+{-# INLINE oAuth2ConsentRequestContextL #-}++-- | 'oAuth2ConsentRequestLoginChallenge' Lens+oAuth2ConsentRequestLoginChallengeL :: Lens_' OAuth2ConsentRequest (Maybe Text)+oAuth2ConsentRequestLoginChallengeL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestLoginChallenge -> OAuth2ConsentRequest { oAuth2ConsentRequestLoginChallenge, ..} ) <$> f oAuth2ConsentRequestLoginChallenge+{-# INLINE oAuth2ConsentRequestLoginChallengeL #-}++-- | 'oAuth2ConsentRequestLoginSessionId' Lens+oAuth2ConsentRequestLoginSessionIdL :: Lens_' OAuth2ConsentRequest (Maybe Text)+oAuth2ConsentRequestLoginSessionIdL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestLoginSessionId -> OAuth2ConsentRequest { oAuth2ConsentRequestLoginSessionId, ..} ) <$> f oAuth2ConsentRequestLoginSessionId+{-# INLINE oAuth2ConsentRequestLoginSessionIdL #-}++-- | 'oAuth2ConsentRequestOidcContext' Lens+oAuth2ConsentRequestOidcContextL :: Lens_' OAuth2ConsentRequest (Maybe OAuth2ConsentRequestOpenIDConnectContext)+oAuth2ConsentRequestOidcContextL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestOidcContext -> OAuth2ConsentRequest { oAuth2ConsentRequestOidcContext, ..} ) <$> f oAuth2ConsentRequestOidcContext+{-# INLINE oAuth2ConsentRequestOidcContextL #-}++-- | 'oAuth2ConsentRequestRequestUrl' Lens+oAuth2ConsentRequestRequestUrlL :: Lens_' OAuth2ConsentRequest (Maybe Text)+oAuth2ConsentRequestRequestUrlL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestRequestUrl -> OAuth2ConsentRequest { oAuth2ConsentRequestRequestUrl, ..} ) <$> f oAuth2ConsentRequestRequestUrl+{-# INLINE oAuth2ConsentRequestRequestUrlL #-}++-- | 'oAuth2ConsentRequestRequestedAccessTokenAudience' Lens+oAuth2ConsentRequestRequestedAccessTokenAudienceL :: Lens_' OAuth2ConsentRequest (Maybe [Text])+oAuth2ConsentRequestRequestedAccessTokenAudienceL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestRequestedAccessTokenAudience -> OAuth2ConsentRequest { oAuth2ConsentRequestRequestedAccessTokenAudience, ..} ) <$> f oAuth2ConsentRequestRequestedAccessTokenAudience+{-# INLINE oAuth2ConsentRequestRequestedAccessTokenAudienceL #-}++-- | 'oAuth2ConsentRequestRequestedScope' Lens+oAuth2ConsentRequestRequestedScopeL :: Lens_' OAuth2ConsentRequest (Maybe [Text])+oAuth2ConsentRequestRequestedScopeL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestRequestedScope -> OAuth2ConsentRequest { oAuth2ConsentRequestRequestedScope, ..} ) <$> f oAuth2ConsentRequestRequestedScope+{-# INLINE oAuth2ConsentRequestRequestedScopeL #-}++-- | 'oAuth2ConsentRequestSkip' Lens+oAuth2ConsentRequestSkipL :: Lens_' OAuth2ConsentRequest (Maybe Bool)+oAuth2ConsentRequestSkipL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestSkip -> OAuth2ConsentRequest { oAuth2ConsentRequestSkip, ..} ) <$> f oAuth2ConsentRequestSkip+{-# INLINE oAuth2ConsentRequestSkipL #-}++-- | 'oAuth2ConsentRequestSubject' Lens+oAuth2ConsentRequestSubjectL :: Lens_' OAuth2ConsentRequest (Maybe Text)+oAuth2ConsentRequestSubjectL f OAuth2ConsentRequest{..} = (\oAuth2ConsentRequestSubject -> OAuth2ConsentRequest { oAuth2ConsentRequestSubject, ..} ) <$> f oAuth2ConsentRequestSubject+{-# INLINE oAuth2ConsentRequestSubjectL #-}++++-- * OAuth2ConsentRequestOpenIDConnectContext++-- | 'oAuth2ConsentRequestOpenIDConnectContextAcrValues' Lens+oAuth2ConsentRequestOpenIDConnectContextAcrValuesL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe [Text])+oAuth2ConsentRequestOpenIDConnectContextAcrValuesL f OAuth2ConsentRequestOpenIDConnectContext{..} = (\oAuth2ConsentRequestOpenIDConnectContextAcrValues -> OAuth2ConsentRequestOpenIDConnectContext { oAuth2ConsentRequestOpenIDConnectContextAcrValues, ..} ) <$> f oAuth2ConsentRequestOpenIDConnectContextAcrValues+{-# INLINE oAuth2ConsentRequestOpenIDConnectContextAcrValuesL #-}++-- | 'oAuth2ConsentRequestOpenIDConnectContextDisplay' Lens+oAuth2ConsentRequestOpenIDConnectContextDisplayL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe Text)+oAuth2ConsentRequestOpenIDConnectContextDisplayL f OAuth2ConsentRequestOpenIDConnectContext{..} = (\oAuth2ConsentRequestOpenIDConnectContextDisplay -> OAuth2ConsentRequestOpenIDConnectContext { oAuth2ConsentRequestOpenIDConnectContextDisplay, ..} ) <$> f oAuth2ConsentRequestOpenIDConnectContextDisplay+{-# INLINE oAuth2ConsentRequestOpenIDConnectContextDisplayL #-}++-- | 'oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims' Lens+oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaimsL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe (Map.Map String A.Value))+oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaimsL f OAuth2ConsentRequestOpenIDConnectContext{..} = (\oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims -> OAuth2ConsentRequestOpenIDConnectContext { oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims, ..} ) <$> f oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims+{-# INLINE oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaimsL #-}++-- | 'oAuth2ConsentRequestOpenIDConnectContextLoginHint' Lens+oAuth2ConsentRequestOpenIDConnectContextLoginHintL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe Text)+oAuth2ConsentRequestOpenIDConnectContextLoginHintL f OAuth2ConsentRequestOpenIDConnectContext{..} = (\oAuth2ConsentRequestOpenIDConnectContextLoginHint -> OAuth2ConsentRequestOpenIDConnectContext { oAuth2ConsentRequestOpenIDConnectContextLoginHint, ..} ) <$> f oAuth2ConsentRequestOpenIDConnectContextLoginHint+{-# INLINE oAuth2ConsentRequestOpenIDConnectContextLoginHintL #-}++-- | 'oAuth2ConsentRequestOpenIDConnectContextUiLocales' Lens+oAuth2ConsentRequestOpenIDConnectContextUiLocalesL :: Lens_' OAuth2ConsentRequestOpenIDConnectContext (Maybe [Text])+oAuth2ConsentRequestOpenIDConnectContextUiLocalesL f OAuth2ConsentRequestOpenIDConnectContext{..} = (\oAuth2ConsentRequestOpenIDConnectContextUiLocales -> OAuth2ConsentRequestOpenIDConnectContext { oAuth2ConsentRequestOpenIDConnectContextUiLocales, ..} ) <$> f oAuth2ConsentRequestOpenIDConnectContextUiLocales+{-# INLINE oAuth2ConsentRequestOpenIDConnectContextUiLocalesL #-}++++-- * OAuth2ConsentSession++-- | 'oAuth2ConsentSessionConsentRequest' Lens+oAuth2ConsentSessionConsentRequestL :: Lens_' OAuth2ConsentSession (Maybe OAuth2ConsentRequest)+oAuth2ConsentSessionConsentRequestL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionConsentRequest -> OAuth2ConsentSession { oAuth2ConsentSessionConsentRequest, ..} ) <$> f oAuth2ConsentSessionConsentRequest+{-# INLINE oAuth2ConsentSessionConsentRequestL #-}++-- | 'oAuth2ConsentSessionExpiresAt' Lens+oAuth2ConsentSessionExpiresAtL :: Lens_' OAuth2ConsentSession (Maybe OAuth2ConsentSessionExpiresAt)+oAuth2ConsentSessionExpiresAtL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionExpiresAt -> OAuth2ConsentSession { oAuth2ConsentSessionExpiresAt, ..} ) <$> f oAuth2ConsentSessionExpiresAt+{-# INLINE oAuth2ConsentSessionExpiresAtL #-}++-- | 'oAuth2ConsentSessionGrantAccessTokenAudience' Lens+oAuth2ConsentSessionGrantAccessTokenAudienceL :: Lens_' OAuth2ConsentSession (Maybe [Text])+oAuth2ConsentSessionGrantAccessTokenAudienceL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionGrantAccessTokenAudience -> OAuth2ConsentSession { oAuth2ConsentSessionGrantAccessTokenAudience, ..} ) <$> f oAuth2ConsentSessionGrantAccessTokenAudience+{-# INLINE oAuth2ConsentSessionGrantAccessTokenAudienceL #-}++-- | 'oAuth2ConsentSessionGrantScope' Lens+oAuth2ConsentSessionGrantScopeL :: Lens_' OAuth2ConsentSession (Maybe [Text])+oAuth2ConsentSessionGrantScopeL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionGrantScope -> OAuth2ConsentSession { oAuth2ConsentSessionGrantScope, ..} ) <$> f oAuth2ConsentSessionGrantScope+{-# INLINE oAuth2ConsentSessionGrantScopeL #-}++-- | 'oAuth2ConsentSessionHandledAt' Lens+oAuth2ConsentSessionHandledAtL :: Lens_' OAuth2ConsentSession (Maybe DateTime)+oAuth2ConsentSessionHandledAtL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionHandledAt -> OAuth2ConsentSession { oAuth2ConsentSessionHandledAt, ..} ) <$> f oAuth2ConsentSessionHandledAt+{-# INLINE oAuth2ConsentSessionHandledAtL #-}++-- | 'oAuth2ConsentSessionRemember' Lens+oAuth2ConsentSessionRememberL :: Lens_' OAuth2ConsentSession (Maybe Bool)+oAuth2ConsentSessionRememberL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionRemember -> OAuth2ConsentSession { oAuth2ConsentSessionRemember, ..} ) <$> f oAuth2ConsentSessionRemember+{-# INLINE oAuth2ConsentSessionRememberL #-}++-- | 'oAuth2ConsentSessionRememberFor' Lens+oAuth2ConsentSessionRememberForL :: Lens_' OAuth2ConsentSession (Maybe Integer)+oAuth2ConsentSessionRememberForL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionRememberFor -> OAuth2ConsentSession { oAuth2ConsentSessionRememberFor, ..} ) <$> f oAuth2ConsentSessionRememberFor+{-# INLINE oAuth2ConsentSessionRememberForL #-}++-- | 'oAuth2ConsentSessionSession' Lens+oAuth2ConsentSessionSessionL :: Lens_' OAuth2ConsentSession (Maybe AcceptOAuth2ConsentRequestSession)+oAuth2ConsentSessionSessionL f OAuth2ConsentSession{..} = (\oAuth2ConsentSessionSession -> OAuth2ConsentSession { oAuth2ConsentSessionSession, ..} ) <$> f oAuth2ConsentSessionSession+{-# INLINE oAuth2ConsentSessionSessionL #-}++++-- * OAuth2ConsentSessionExpiresAt++-- | 'oAuth2ConsentSessionExpiresAtAccessToken' Lens+oAuth2ConsentSessionExpiresAtAccessTokenL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)+oAuth2ConsentSessionExpiresAtAccessTokenL f OAuth2ConsentSessionExpiresAt{..} = (\oAuth2ConsentSessionExpiresAtAccessToken -> OAuth2ConsentSessionExpiresAt { oAuth2ConsentSessionExpiresAtAccessToken, ..} ) <$> f oAuth2ConsentSessionExpiresAtAccessToken+{-# INLINE oAuth2ConsentSessionExpiresAtAccessTokenL #-}++-- | 'oAuth2ConsentSessionExpiresAtAuthorizeCode' Lens+oAuth2ConsentSessionExpiresAtAuthorizeCodeL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)+oAuth2ConsentSessionExpiresAtAuthorizeCodeL f OAuth2ConsentSessionExpiresAt{..} = (\oAuth2ConsentSessionExpiresAtAuthorizeCode -> OAuth2ConsentSessionExpiresAt { oAuth2ConsentSessionExpiresAtAuthorizeCode, ..} ) <$> f oAuth2ConsentSessionExpiresAtAuthorizeCode+{-# INLINE oAuth2ConsentSessionExpiresAtAuthorizeCodeL #-}++-- | 'oAuth2ConsentSessionExpiresAtIdToken' Lens+oAuth2ConsentSessionExpiresAtIdTokenL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)+oAuth2ConsentSessionExpiresAtIdTokenL f OAuth2ConsentSessionExpiresAt{..} = (\oAuth2ConsentSessionExpiresAtIdToken -> OAuth2ConsentSessionExpiresAt { oAuth2ConsentSessionExpiresAtIdToken, ..} ) <$> f oAuth2ConsentSessionExpiresAtIdToken+{-# INLINE oAuth2ConsentSessionExpiresAtIdTokenL #-}++-- | 'oAuth2ConsentSessionExpiresAtParContext' Lens+oAuth2ConsentSessionExpiresAtParContextL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)+oAuth2ConsentSessionExpiresAtParContextL f OAuth2ConsentSessionExpiresAt{..} = (\oAuth2ConsentSessionExpiresAtParContext -> OAuth2ConsentSessionExpiresAt { oAuth2ConsentSessionExpiresAtParContext, ..} ) <$> f oAuth2ConsentSessionExpiresAtParContext+{-# INLINE oAuth2ConsentSessionExpiresAtParContextL #-}++-- | 'oAuth2ConsentSessionExpiresAtRefreshToken' Lens+oAuth2ConsentSessionExpiresAtRefreshTokenL :: Lens_' OAuth2ConsentSessionExpiresAt (Maybe DateTime)+oAuth2ConsentSessionExpiresAtRefreshTokenL f OAuth2ConsentSessionExpiresAt{..} = (\oAuth2ConsentSessionExpiresAtRefreshToken -> OAuth2ConsentSessionExpiresAt { oAuth2ConsentSessionExpiresAtRefreshToken, ..} ) <$> f oAuth2ConsentSessionExpiresAtRefreshToken+{-# INLINE oAuth2ConsentSessionExpiresAtRefreshTokenL #-}++++-- * OAuth2LoginRequest++-- | 'oAuth2LoginRequestChallenge' Lens+oAuth2LoginRequestChallengeL :: Lens_' OAuth2LoginRequest (Text)+oAuth2LoginRequestChallengeL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestChallenge -> OAuth2LoginRequest { oAuth2LoginRequestChallenge, ..} ) <$> f oAuth2LoginRequestChallenge+{-# INLINE oAuth2LoginRequestChallengeL #-}++-- | 'oAuth2LoginRequestClient' Lens+oAuth2LoginRequestClientL :: Lens_' OAuth2LoginRequest (OAuth2Client)+oAuth2LoginRequestClientL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestClient -> OAuth2LoginRequest { oAuth2LoginRequestClient, ..} ) <$> f oAuth2LoginRequestClient+{-# INLINE oAuth2LoginRequestClientL #-}++-- | 'oAuth2LoginRequestOidcContext' Lens+oAuth2LoginRequestOidcContextL :: Lens_' OAuth2LoginRequest (Maybe OAuth2ConsentRequestOpenIDConnectContext)+oAuth2LoginRequestOidcContextL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestOidcContext -> OAuth2LoginRequest { oAuth2LoginRequestOidcContext, ..} ) <$> f oAuth2LoginRequestOidcContext+{-# INLINE oAuth2LoginRequestOidcContextL #-}++-- | 'oAuth2LoginRequestRequestUrl' Lens+oAuth2LoginRequestRequestUrlL :: Lens_' OAuth2LoginRequest (Text)+oAuth2LoginRequestRequestUrlL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestRequestUrl -> OAuth2LoginRequest { oAuth2LoginRequestRequestUrl, ..} ) <$> f oAuth2LoginRequestRequestUrl+{-# INLINE oAuth2LoginRequestRequestUrlL #-}++-- | 'oAuth2LoginRequestRequestedAccessTokenAudience' Lens+oAuth2LoginRequestRequestedAccessTokenAudienceL :: Lens_' OAuth2LoginRequest ([Text])+oAuth2LoginRequestRequestedAccessTokenAudienceL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestRequestedAccessTokenAudience -> OAuth2LoginRequest { oAuth2LoginRequestRequestedAccessTokenAudience, ..} ) <$> f oAuth2LoginRequestRequestedAccessTokenAudience+{-# INLINE oAuth2LoginRequestRequestedAccessTokenAudienceL #-}++-- | 'oAuth2LoginRequestRequestedScope' Lens+oAuth2LoginRequestRequestedScopeL :: Lens_' OAuth2LoginRequest ([Text])+oAuth2LoginRequestRequestedScopeL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestRequestedScope -> OAuth2LoginRequest { oAuth2LoginRequestRequestedScope, ..} ) <$> f oAuth2LoginRequestRequestedScope+{-# INLINE oAuth2LoginRequestRequestedScopeL #-}++-- | 'oAuth2LoginRequestSessionId' Lens+oAuth2LoginRequestSessionIdL :: Lens_' OAuth2LoginRequest (Maybe Text)+oAuth2LoginRequestSessionIdL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestSessionId -> OAuth2LoginRequest { oAuth2LoginRequestSessionId, ..} ) <$> f oAuth2LoginRequestSessionId+{-# INLINE oAuth2LoginRequestSessionIdL #-}++-- | 'oAuth2LoginRequestSkip' Lens+oAuth2LoginRequestSkipL :: Lens_' OAuth2LoginRequest (Bool)+oAuth2LoginRequestSkipL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestSkip -> OAuth2LoginRequest { oAuth2LoginRequestSkip, ..} ) <$> f oAuth2LoginRequestSkip+{-# INLINE oAuth2LoginRequestSkipL #-}++-- | 'oAuth2LoginRequestSubject' Lens+oAuth2LoginRequestSubjectL :: Lens_' OAuth2LoginRequest (Text)+oAuth2LoginRequestSubjectL f OAuth2LoginRequest{..} = (\oAuth2LoginRequestSubject -> OAuth2LoginRequest { oAuth2LoginRequestSubject, ..} ) <$> f oAuth2LoginRequestSubject+{-# INLINE oAuth2LoginRequestSubjectL #-}++++-- * OAuth2LogoutRequest++-- | 'oAuth2LogoutRequestChallenge' Lens+oAuth2LogoutRequestChallengeL :: Lens_' OAuth2LogoutRequest (Maybe Text)+oAuth2LogoutRequestChallengeL f OAuth2LogoutRequest{..} = (\oAuth2LogoutRequestChallenge -> OAuth2LogoutRequest { oAuth2LogoutRequestChallenge, ..} ) <$> f oAuth2LogoutRequestChallenge+{-# INLINE oAuth2LogoutRequestChallengeL #-}++-- | 'oAuth2LogoutRequestClient' Lens+oAuth2LogoutRequestClientL :: Lens_' OAuth2LogoutRequest (Maybe OAuth2Client)+oAuth2LogoutRequestClientL f OAuth2LogoutRequest{..} = (\oAuth2LogoutRequestClient -> OAuth2LogoutRequest { oAuth2LogoutRequestClient, ..} ) <$> f oAuth2LogoutRequestClient+{-# INLINE oAuth2LogoutRequestClientL #-}++-- | 'oAuth2LogoutRequestRequestUrl' Lens+oAuth2LogoutRequestRequestUrlL :: Lens_' OAuth2LogoutRequest (Maybe Text)+oAuth2LogoutRequestRequestUrlL f OAuth2LogoutRequest{..} = (\oAuth2LogoutRequestRequestUrl -> OAuth2LogoutRequest { oAuth2LogoutRequestRequestUrl, ..} ) <$> f oAuth2LogoutRequestRequestUrl+{-# INLINE oAuth2LogoutRequestRequestUrlL #-}++-- | 'oAuth2LogoutRequestRpInitiated' Lens+oAuth2LogoutRequestRpInitiatedL :: Lens_' OAuth2LogoutRequest (Maybe Bool)+oAuth2LogoutRequestRpInitiatedL f OAuth2LogoutRequest{..} = (\oAuth2LogoutRequestRpInitiated -> OAuth2LogoutRequest { oAuth2LogoutRequestRpInitiated, ..} ) <$> f oAuth2LogoutRequestRpInitiated+{-# INLINE oAuth2LogoutRequestRpInitiatedL #-}++-- | 'oAuth2LogoutRequestSid' Lens+oAuth2LogoutRequestSidL :: Lens_' OAuth2LogoutRequest (Maybe Text)+oAuth2LogoutRequestSidL f OAuth2LogoutRequest{..} = (\oAuth2LogoutRequestSid -> OAuth2LogoutRequest { oAuth2LogoutRequestSid, ..} ) <$> f oAuth2LogoutRequestSid+{-# INLINE oAuth2LogoutRequestSidL #-}++-- | 'oAuth2LogoutRequestSubject' Lens+oAuth2LogoutRequestSubjectL :: Lens_' OAuth2LogoutRequest (Maybe Text)+oAuth2LogoutRequestSubjectL f OAuth2LogoutRequest{..} = (\oAuth2LogoutRequestSubject -> OAuth2LogoutRequest { oAuth2LogoutRequestSubject, ..} ) <$> f oAuth2LogoutRequestSubject+{-# INLINE oAuth2LogoutRequestSubjectL #-}++++-- * OAuth2RedirectTo++-- | 'oAuth2RedirectToRedirectTo' Lens+oAuth2RedirectToRedirectToL :: Lens_' OAuth2RedirectTo (Text)+oAuth2RedirectToRedirectToL f OAuth2RedirectTo{..} = (\oAuth2RedirectToRedirectTo -> OAuth2RedirectTo { oAuth2RedirectToRedirectTo, ..} ) <$> f oAuth2RedirectToRedirectTo+{-# INLINE oAuth2RedirectToRedirectToL #-}++++-- * OAuth2TokenExchange++-- | 'oAuth2TokenExchangeAccessToken' Lens+oAuth2TokenExchangeAccessTokenL :: Lens_' OAuth2TokenExchange (Maybe Text)+oAuth2TokenExchangeAccessTokenL f OAuth2TokenExchange{..} = (\oAuth2TokenExchangeAccessToken -> OAuth2TokenExchange { oAuth2TokenExchangeAccessToken, ..} ) <$> f oAuth2TokenExchangeAccessToken+{-# INLINE oAuth2TokenExchangeAccessTokenL #-}++-- | 'oAuth2TokenExchangeExpiresIn' Lens+oAuth2TokenExchangeExpiresInL :: Lens_' OAuth2TokenExchange (Maybe Integer)+oAuth2TokenExchangeExpiresInL f OAuth2TokenExchange{..} = (\oAuth2TokenExchangeExpiresIn -> OAuth2TokenExchange { oAuth2TokenExchangeExpiresIn, ..} ) <$> f oAuth2TokenExchangeExpiresIn+{-# INLINE oAuth2TokenExchangeExpiresInL #-}++-- | 'oAuth2TokenExchangeIdToken' Lens+oAuth2TokenExchangeIdTokenL :: Lens_' OAuth2TokenExchange (Maybe Integer)+oAuth2TokenExchangeIdTokenL f OAuth2TokenExchange{..} = (\oAuth2TokenExchangeIdToken -> OAuth2TokenExchange { oAuth2TokenExchangeIdToken, ..} ) <$> f oAuth2TokenExchangeIdToken+{-# INLINE oAuth2TokenExchangeIdTokenL #-}++-- | 'oAuth2TokenExchangeRefreshToken' Lens+oAuth2TokenExchangeRefreshTokenL :: Lens_' OAuth2TokenExchange (Maybe Text)+oAuth2TokenExchangeRefreshTokenL f OAuth2TokenExchange{..} = (\oAuth2TokenExchangeRefreshToken -> OAuth2TokenExchange { oAuth2TokenExchangeRefreshToken, ..} ) <$> f oAuth2TokenExchangeRefreshToken+{-# INLINE oAuth2TokenExchangeRefreshTokenL #-}++-- | 'oAuth2TokenExchangeScope' Lens+oAuth2TokenExchangeScopeL :: Lens_' OAuth2TokenExchange (Maybe Text)+oAuth2TokenExchangeScopeL f OAuth2TokenExchange{..} = (\oAuth2TokenExchangeScope -> OAuth2TokenExchange { oAuth2TokenExchangeScope, ..} ) <$> f oAuth2TokenExchangeScope+{-# INLINE oAuth2TokenExchangeScopeL #-}++-- | 'oAuth2TokenExchangeTokenType' Lens+oAuth2TokenExchangeTokenTypeL :: Lens_' OAuth2TokenExchange (Maybe Text)+oAuth2TokenExchangeTokenTypeL f OAuth2TokenExchange{..} = (\oAuth2TokenExchangeTokenType -> OAuth2TokenExchange { oAuth2TokenExchangeTokenType, ..} ) <$> f oAuth2TokenExchangeTokenType+{-# INLINE oAuth2TokenExchangeTokenTypeL #-}++++-- * OidcConfiguration++-- | 'oidcConfigurationAuthorizationEndpoint' Lens+oidcConfigurationAuthorizationEndpointL :: Lens_' OidcConfiguration (Text)+oidcConfigurationAuthorizationEndpointL f OidcConfiguration{..} = (\oidcConfigurationAuthorizationEndpoint -> OidcConfiguration { oidcConfigurationAuthorizationEndpoint, ..} ) <$> f oidcConfigurationAuthorizationEndpoint+{-# INLINE oidcConfigurationAuthorizationEndpointL #-}++-- | 'oidcConfigurationBackchannelLogoutSessionSupported' Lens+oidcConfigurationBackchannelLogoutSessionSupportedL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationBackchannelLogoutSessionSupportedL f OidcConfiguration{..} = (\oidcConfigurationBackchannelLogoutSessionSupported -> OidcConfiguration { oidcConfigurationBackchannelLogoutSessionSupported, ..} ) <$> f oidcConfigurationBackchannelLogoutSessionSupported+{-# INLINE oidcConfigurationBackchannelLogoutSessionSupportedL #-}++-- | 'oidcConfigurationBackchannelLogoutSupported' Lens+oidcConfigurationBackchannelLogoutSupportedL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationBackchannelLogoutSupportedL f OidcConfiguration{..} = (\oidcConfigurationBackchannelLogoutSupported -> OidcConfiguration { oidcConfigurationBackchannelLogoutSupported, ..} ) <$> f oidcConfigurationBackchannelLogoutSupported+{-# INLINE oidcConfigurationBackchannelLogoutSupportedL #-}++-- | 'oidcConfigurationClaimsParameterSupported' Lens+oidcConfigurationClaimsParameterSupportedL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationClaimsParameterSupportedL f OidcConfiguration{..} = (\oidcConfigurationClaimsParameterSupported -> OidcConfiguration { oidcConfigurationClaimsParameterSupported, ..} ) <$> f oidcConfigurationClaimsParameterSupported+{-# INLINE oidcConfigurationClaimsParameterSupportedL #-}++-- | 'oidcConfigurationClaimsSupported' Lens+oidcConfigurationClaimsSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationClaimsSupportedL f OidcConfiguration{..} = (\oidcConfigurationClaimsSupported -> OidcConfiguration { oidcConfigurationClaimsSupported, ..} ) <$> f oidcConfigurationClaimsSupported+{-# INLINE oidcConfigurationClaimsSupportedL #-}++-- | 'oidcConfigurationCodeChallengeMethodsSupported' Lens+oidcConfigurationCodeChallengeMethodsSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationCodeChallengeMethodsSupportedL f OidcConfiguration{..} = (\oidcConfigurationCodeChallengeMethodsSupported -> OidcConfiguration { oidcConfigurationCodeChallengeMethodsSupported, ..} ) <$> f oidcConfigurationCodeChallengeMethodsSupported+{-# INLINE oidcConfigurationCodeChallengeMethodsSupportedL #-}++-- | 'oidcConfigurationEndSessionEndpoint' Lens+oidcConfigurationEndSessionEndpointL :: Lens_' OidcConfiguration (Maybe Text)+oidcConfigurationEndSessionEndpointL f OidcConfiguration{..} = (\oidcConfigurationEndSessionEndpoint -> OidcConfiguration { oidcConfigurationEndSessionEndpoint, ..} ) <$> f oidcConfigurationEndSessionEndpoint+{-# INLINE oidcConfigurationEndSessionEndpointL #-}++-- | 'oidcConfigurationFrontchannelLogoutSessionSupported' Lens+oidcConfigurationFrontchannelLogoutSessionSupportedL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationFrontchannelLogoutSessionSupportedL f OidcConfiguration{..} = (\oidcConfigurationFrontchannelLogoutSessionSupported -> OidcConfiguration { oidcConfigurationFrontchannelLogoutSessionSupported, ..} ) <$> f oidcConfigurationFrontchannelLogoutSessionSupported+{-# INLINE oidcConfigurationFrontchannelLogoutSessionSupportedL #-}++-- | 'oidcConfigurationFrontchannelLogoutSupported' Lens+oidcConfigurationFrontchannelLogoutSupportedL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationFrontchannelLogoutSupportedL f OidcConfiguration{..} = (\oidcConfigurationFrontchannelLogoutSupported -> OidcConfiguration { oidcConfigurationFrontchannelLogoutSupported, ..} ) <$> f oidcConfigurationFrontchannelLogoutSupported+{-# INLINE oidcConfigurationFrontchannelLogoutSupportedL #-}++-- | 'oidcConfigurationGrantTypesSupported' Lens+oidcConfigurationGrantTypesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationGrantTypesSupportedL f OidcConfiguration{..} = (\oidcConfigurationGrantTypesSupported -> OidcConfiguration { oidcConfigurationGrantTypesSupported, ..} ) <$> f oidcConfigurationGrantTypesSupported+{-# INLINE oidcConfigurationGrantTypesSupportedL #-}++-- | 'oidcConfigurationIdTokenSignedResponseAlg' Lens+oidcConfigurationIdTokenSignedResponseAlgL :: Lens_' OidcConfiguration ([Text])+oidcConfigurationIdTokenSignedResponseAlgL f OidcConfiguration{..} = (\oidcConfigurationIdTokenSignedResponseAlg -> OidcConfiguration { oidcConfigurationIdTokenSignedResponseAlg, ..} ) <$> f oidcConfigurationIdTokenSignedResponseAlg+{-# INLINE oidcConfigurationIdTokenSignedResponseAlgL #-}++-- | 'oidcConfigurationIdTokenSigningAlgValuesSupported' Lens+oidcConfigurationIdTokenSigningAlgValuesSupportedL :: Lens_' OidcConfiguration ([Text])+oidcConfigurationIdTokenSigningAlgValuesSupportedL f OidcConfiguration{..} = (\oidcConfigurationIdTokenSigningAlgValuesSupported -> OidcConfiguration { oidcConfigurationIdTokenSigningAlgValuesSupported, ..} ) <$> f oidcConfigurationIdTokenSigningAlgValuesSupported+{-# INLINE oidcConfigurationIdTokenSigningAlgValuesSupportedL #-}++-- | 'oidcConfigurationIssuer' Lens+oidcConfigurationIssuerL :: Lens_' OidcConfiguration (Text)+oidcConfigurationIssuerL f OidcConfiguration{..} = (\oidcConfigurationIssuer -> OidcConfiguration { oidcConfigurationIssuer, ..} ) <$> f oidcConfigurationIssuer+{-# INLINE oidcConfigurationIssuerL #-}++-- | 'oidcConfigurationJwksUri' Lens+oidcConfigurationJwksUriL :: Lens_' OidcConfiguration (Text)+oidcConfigurationJwksUriL f OidcConfiguration{..} = (\oidcConfigurationJwksUri -> OidcConfiguration { oidcConfigurationJwksUri, ..} ) <$> f oidcConfigurationJwksUri+{-# INLINE oidcConfigurationJwksUriL #-}++-- | 'oidcConfigurationRegistrationEndpoint' Lens+oidcConfigurationRegistrationEndpointL :: Lens_' OidcConfiguration (Maybe Text)+oidcConfigurationRegistrationEndpointL f OidcConfiguration{..} = (\oidcConfigurationRegistrationEndpoint -> OidcConfiguration { oidcConfigurationRegistrationEndpoint, ..} ) <$> f oidcConfigurationRegistrationEndpoint+{-# INLINE oidcConfigurationRegistrationEndpointL #-}++-- | 'oidcConfigurationRequestObjectSigningAlgValuesSupported' Lens+oidcConfigurationRequestObjectSigningAlgValuesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationRequestObjectSigningAlgValuesSupportedL f OidcConfiguration{..} = (\oidcConfigurationRequestObjectSigningAlgValuesSupported -> OidcConfiguration { oidcConfigurationRequestObjectSigningAlgValuesSupported, ..} ) <$> f oidcConfigurationRequestObjectSigningAlgValuesSupported+{-# INLINE oidcConfigurationRequestObjectSigningAlgValuesSupportedL #-}++-- | 'oidcConfigurationRequestParameterSupported' Lens+oidcConfigurationRequestParameterSupportedL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationRequestParameterSupportedL f OidcConfiguration{..} = (\oidcConfigurationRequestParameterSupported -> OidcConfiguration { oidcConfigurationRequestParameterSupported, ..} ) <$> f oidcConfigurationRequestParameterSupported+{-# INLINE oidcConfigurationRequestParameterSupportedL #-}++-- | 'oidcConfigurationRequestUriParameterSupported' Lens+oidcConfigurationRequestUriParameterSupportedL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationRequestUriParameterSupportedL f OidcConfiguration{..} = (\oidcConfigurationRequestUriParameterSupported -> OidcConfiguration { oidcConfigurationRequestUriParameterSupported, ..} ) <$> f oidcConfigurationRequestUriParameterSupported+{-# INLINE oidcConfigurationRequestUriParameterSupportedL #-}++-- | 'oidcConfigurationRequireRequestUriRegistration' Lens+oidcConfigurationRequireRequestUriRegistrationL :: Lens_' OidcConfiguration (Maybe Bool)+oidcConfigurationRequireRequestUriRegistrationL f OidcConfiguration{..} = (\oidcConfigurationRequireRequestUriRegistration -> OidcConfiguration { oidcConfigurationRequireRequestUriRegistration, ..} ) <$> f oidcConfigurationRequireRequestUriRegistration+{-# INLINE oidcConfigurationRequireRequestUriRegistrationL #-}++-- | 'oidcConfigurationResponseModesSupported' Lens+oidcConfigurationResponseModesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationResponseModesSupportedL f OidcConfiguration{..} = (\oidcConfigurationResponseModesSupported -> OidcConfiguration { oidcConfigurationResponseModesSupported, ..} ) <$> f oidcConfigurationResponseModesSupported+{-# INLINE oidcConfigurationResponseModesSupportedL #-}++-- | 'oidcConfigurationResponseTypesSupported' Lens+oidcConfigurationResponseTypesSupportedL :: Lens_' OidcConfiguration ([Text])+oidcConfigurationResponseTypesSupportedL f OidcConfiguration{..} = (\oidcConfigurationResponseTypesSupported -> OidcConfiguration { oidcConfigurationResponseTypesSupported, ..} ) <$> f oidcConfigurationResponseTypesSupported+{-# INLINE oidcConfigurationResponseTypesSupportedL #-}++-- | 'oidcConfigurationRevocationEndpoint' Lens+oidcConfigurationRevocationEndpointL :: Lens_' OidcConfiguration (Maybe Text)+oidcConfigurationRevocationEndpointL f OidcConfiguration{..} = (\oidcConfigurationRevocationEndpoint -> OidcConfiguration { oidcConfigurationRevocationEndpoint, ..} ) <$> f oidcConfigurationRevocationEndpoint+{-# INLINE oidcConfigurationRevocationEndpointL #-}++-- | 'oidcConfigurationScopesSupported' Lens+oidcConfigurationScopesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationScopesSupportedL f OidcConfiguration{..} = (\oidcConfigurationScopesSupported -> OidcConfiguration { oidcConfigurationScopesSupported, ..} ) <$> f oidcConfigurationScopesSupported+{-# INLINE oidcConfigurationScopesSupportedL #-}++-- | 'oidcConfigurationSubjectTypesSupported' Lens+oidcConfigurationSubjectTypesSupportedL :: Lens_' OidcConfiguration ([Text])+oidcConfigurationSubjectTypesSupportedL f OidcConfiguration{..} = (\oidcConfigurationSubjectTypesSupported -> OidcConfiguration { oidcConfigurationSubjectTypesSupported, ..} ) <$> f oidcConfigurationSubjectTypesSupported+{-# INLINE oidcConfigurationSubjectTypesSupportedL #-}++-- | 'oidcConfigurationTokenEndpoint' Lens+oidcConfigurationTokenEndpointL :: Lens_' OidcConfiguration (Text)+oidcConfigurationTokenEndpointL f OidcConfiguration{..} = (\oidcConfigurationTokenEndpoint -> OidcConfiguration { oidcConfigurationTokenEndpoint, ..} ) <$> f oidcConfigurationTokenEndpoint+{-# INLINE oidcConfigurationTokenEndpointL #-}++-- | 'oidcConfigurationTokenEndpointAuthMethodsSupported' Lens+oidcConfigurationTokenEndpointAuthMethodsSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationTokenEndpointAuthMethodsSupportedL f OidcConfiguration{..} = (\oidcConfigurationTokenEndpointAuthMethodsSupported -> OidcConfiguration { oidcConfigurationTokenEndpointAuthMethodsSupported, ..} ) <$> f oidcConfigurationTokenEndpointAuthMethodsSupported+{-# INLINE oidcConfigurationTokenEndpointAuthMethodsSupportedL #-}++-- | 'oidcConfigurationUserinfoEndpoint' Lens+oidcConfigurationUserinfoEndpointL :: Lens_' OidcConfiguration (Maybe Text)+oidcConfigurationUserinfoEndpointL f OidcConfiguration{..} = (\oidcConfigurationUserinfoEndpoint -> OidcConfiguration { oidcConfigurationUserinfoEndpoint, ..} ) <$> f oidcConfigurationUserinfoEndpoint+{-# INLINE oidcConfigurationUserinfoEndpointL #-}++-- | 'oidcConfigurationUserinfoSignedResponseAlg' Lens+oidcConfigurationUserinfoSignedResponseAlgL :: Lens_' OidcConfiguration ([Text])+oidcConfigurationUserinfoSignedResponseAlgL f OidcConfiguration{..} = (\oidcConfigurationUserinfoSignedResponseAlg -> OidcConfiguration { oidcConfigurationUserinfoSignedResponseAlg, ..} ) <$> f oidcConfigurationUserinfoSignedResponseAlg+{-# INLINE oidcConfigurationUserinfoSignedResponseAlgL #-}++-- | 'oidcConfigurationUserinfoSigningAlgValuesSupported' Lens+oidcConfigurationUserinfoSigningAlgValuesSupportedL :: Lens_' OidcConfiguration (Maybe [Text])+oidcConfigurationUserinfoSigningAlgValuesSupportedL f OidcConfiguration{..} = (\oidcConfigurationUserinfoSigningAlgValuesSupported -> OidcConfiguration { oidcConfigurationUserinfoSigningAlgValuesSupported, ..} ) <$> f oidcConfigurationUserinfoSigningAlgValuesSupported+{-# INLINE oidcConfigurationUserinfoSigningAlgValuesSupportedL #-}++++-- * OidcUserInfo++-- | 'oidcUserInfoBirthdate' Lens+oidcUserInfoBirthdateL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoBirthdateL f OidcUserInfo{..} = (\oidcUserInfoBirthdate -> OidcUserInfo { oidcUserInfoBirthdate, ..} ) <$> f oidcUserInfoBirthdate+{-# INLINE oidcUserInfoBirthdateL #-}++-- | 'oidcUserInfoEmail' Lens+oidcUserInfoEmailL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoEmailL f OidcUserInfo{..} = (\oidcUserInfoEmail -> OidcUserInfo { oidcUserInfoEmail, ..} ) <$> f oidcUserInfoEmail+{-# INLINE oidcUserInfoEmailL #-}++-- | 'oidcUserInfoEmailVerified' Lens+oidcUserInfoEmailVerifiedL :: Lens_' OidcUserInfo (Maybe Bool)+oidcUserInfoEmailVerifiedL f OidcUserInfo{..} = (\oidcUserInfoEmailVerified -> OidcUserInfo { oidcUserInfoEmailVerified, ..} ) <$> f oidcUserInfoEmailVerified+{-# INLINE oidcUserInfoEmailVerifiedL #-}++-- | 'oidcUserInfoFamilyName' Lens+oidcUserInfoFamilyNameL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoFamilyNameL f OidcUserInfo{..} = (\oidcUserInfoFamilyName -> OidcUserInfo { oidcUserInfoFamilyName, ..} ) <$> f oidcUserInfoFamilyName+{-# INLINE oidcUserInfoFamilyNameL #-}++-- | 'oidcUserInfoGender' Lens+oidcUserInfoGenderL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoGenderL f OidcUserInfo{..} = (\oidcUserInfoGender -> OidcUserInfo { oidcUserInfoGender, ..} ) <$> f oidcUserInfoGender+{-# INLINE oidcUserInfoGenderL #-}++-- | 'oidcUserInfoGivenName' Lens+oidcUserInfoGivenNameL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoGivenNameL f OidcUserInfo{..} = (\oidcUserInfoGivenName -> OidcUserInfo { oidcUserInfoGivenName, ..} ) <$> f oidcUserInfoGivenName+{-# INLINE oidcUserInfoGivenNameL #-}++-- | 'oidcUserInfoLocale' Lens+oidcUserInfoLocaleL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoLocaleL f OidcUserInfo{..} = (\oidcUserInfoLocale -> OidcUserInfo { oidcUserInfoLocale, ..} ) <$> f oidcUserInfoLocale+{-# INLINE oidcUserInfoLocaleL #-}++-- | 'oidcUserInfoMiddleName' Lens+oidcUserInfoMiddleNameL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoMiddleNameL f OidcUserInfo{..} = (\oidcUserInfoMiddleName -> OidcUserInfo { oidcUserInfoMiddleName, ..} ) <$> f oidcUserInfoMiddleName+{-# INLINE oidcUserInfoMiddleNameL #-}++-- | 'oidcUserInfoName' Lens+oidcUserInfoNameL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoNameL f OidcUserInfo{..} = (\oidcUserInfoName -> OidcUserInfo { oidcUserInfoName, ..} ) <$> f oidcUserInfoName+{-# INLINE oidcUserInfoNameL #-}++-- | 'oidcUserInfoNickname' Lens+oidcUserInfoNicknameL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoNicknameL f OidcUserInfo{..} = (\oidcUserInfoNickname -> OidcUserInfo { oidcUserInfoNickname, ..} ) <$> f oidcUserInfoNickname+{-# INLINE oidcUserInfoNicknameL #-}++-- | 'oidcUserInfoPhoneNumber' Lens+oidcUserInfoPhoneNumberL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoPhoneNumberL f OidcUserInfo{..} = (\oidcUserInfoPhoneNumber -> OidcUserInfo { oidcUserInfoPhoneNumber, ..} ) <$> f oidcUserInfoPhoneNumber+{-# INLINE oidcUserInfoPhoneNumberL #-}++-- | 'oidcUserInfoPhoneNumberVerified' Lens+oidcUserInfoPhoneNumberVerifiedL :: Lens_' OidcUserInfo (Maybe Bool)+oidcUserInfoPhoneNumberVerifiedL f OidcUserInfo{..} = (\oidcUserInfoPhoneNumberVerified -> OidcUserInfo { oidcUserInfoPhoneNumberVerified, ..} ) <$> f oidcUserInfoPhoneNumberVerified+{-# INLINE oidcUserInfoPhoneNumberVerifiedL #-}++-- | 'oidcUserInfoPicture' Lens+oidcUserInfoPictureL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoPictureL f OidcUserInfo{..} = (\oidcUserInfoPicture -> OidcUserInfo { oidcUserInfoPicture, ..} ) <$> f oidcUserInfoPicture+{-# INLINE oidcUserInfoPictureL #-}++-- | 'oidcUserInfoPreferredUsername' Lens+oidcUserInfoPreferredUsernameL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoPreferredUsernameL f OidcUserInfo{..} = (\oidcUserInfoPreferredUsername -> OidcUserInfo { oidcUserInfoPreferredUsername, ..} ) <$> f oidcUserInfoPreferredUsername+{-# INLINE oidcUserInfoPreferredUsernameL #-}++-- | 'oidcUserInfoProfile' Lens+oidcUserInfoProfileL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoProfileL f OidcUserInfo{..} = (\oidcUserInfoProfile -> OidcUserInfo { oidcUserInfoProfile, ..} ) <$> f oidcUserInfoProfile+{-# INLINE oidcUserInfoProfileL #-}++-- | 'oidcUserInfoSub' Lens+oidcUserInfoSubL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoSubL f OidcUserInfo{..} = (\oidcUserInfoSub -> OidcUserInfo { oidcUserInfoSub, ..} ) <$> f oidcUserInfoSub+{-# INLINE oidcUserInfoSubL #-}++-- | 'oidcUserInfoUpdatedAt' Lens+oidcUserInfoUpdatedAtL :: Lens_' OidcUserInfo (Maybe Integer)+oidcUserInfoUpdatedAtL f OidcUserInfo{..} = (\oidcUserInfoUpdatedAt -> OidcUserInfo { oidcUserInfoUpdatedAt, ..} ) <$> f oidcUserInfoUpdatedAt+{-# INLINE oidcUserInfoUpdatedAtL #-}++-- | 'oidcUserInfoWebsite' Lens+oidcUserInfoWebsiteL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoWebsiteL f OidcUserInfo{..} = (\oidcUserInfoWebsite -> OidcUserInfo { oidcUserInfoWebsite, ..} ) <$> f oidcUserInfoWebsite+{-# INLINE oidcUserInfoWebsiteL #-}++-- | 'oidcUserInfoZoneinfo' Lens+oidcUserInfoZoneinfoL :: Lens_' OidcUserInfo (Maybe Text)+oidcUserInfoZoneinfoL f OidcUserInfo{..} = (\oidcUserInfoZoneinfo -> OidcUserInfo { oidcUserInfoZoneinfo, ..} ) <$> f oidcUserInfoZoneinfo+{-# INLINE oidcUserInfoZoneinfoL #-}++++-- * Pagination++-- | 'paginationPageSize' Lens+paginationPageSizeL :: Lens_' Pagination (Maybe Integer)+paginationPageSizeL f Pagination{..} = (\paginationPageSize -> Pagination { paginationPageSize, ..} ) <$> f paginationPageSize+{-# INLINE paginationPageSizeL #-}++-- | 'paginationPageToken' Lens+paginationPageTokenL :: Lens_' Pagination (Maybe Text)+paginationPageTokenL f Pagination{..} = (\paginationPageToken -> Pagination { paginationPageToken, ..} ) <$> f paginationPageToken+{-# INLINE paginationPageTokenL #-}++++-- * PaginationHeaders++-- | 'paginationHeadersLink' Lens+paginationHeadersLinkL :: Lens_' PaginationHeaders (Maybe Text)+paginationHeadersLinkL f PaginationHeaders{..} = (\paginationHeadersLink -> PaginationHeaders { paginationHeadersLink, ..} ) <$> f paginationHeadersLink+{-# INLINE paginationHeadersLinkL #-}++-- | 'paginationHeadersXTotalCount' Lens+paginationHeadersXTotalCountL :: Lens_' PaginationHeaders (Maybe Text)+paginationHeadersXTotalCountL f PaginationHeaders{..} = (\paginationHeadersXTotalCount -> PaginationHeaders { paginationHeadersXTotalCount, ..} ) <$> f paginationHeadersXTotalCount+{-# INLINE paginationHeadersXTotalCountL #-}++++-- * RejectOAuth2Request++-- | 'rejectOAuth2RequestError' Lens+rejectOAuth2RequestErrorL :: Lens_' RejectOAuth2Request (Maybe Text)+rejectOAuth2RequestErrorL f RejectOAuth2Request{..} = (\rejectOAuth2RequestError -> RejectOAuth2Request { rejectOAuth2RequestError, ..} ) <$> f rejectOAuth2RequestError+{-# INLINE rejectOAuth2RequestErrorL #-}++-- | 'rejectOAuth2RequestErrorDebug' Lens+rejectOAuth2RequestErrorDebugL :: Lens_' RejectOAuth2Request (Maybe Text)+rejectOAuth2RequestErrorDebugL f RejectOAuth2Request{..} = (\rejectOAuth2RequestErrorDebug -> RejectOAuth2Request { rejectOAuth2RequestErrorDebug, ..} ) <$> f rejectOAuth2RequestErrorDebug+{-# INLINE rejectOAuth2RequestErrorDebugL #-}++-- | 'rejectOAuth2RequestErrorDescription' Lens+rejectOAuth2RequestErrorDescriptionL :: Lens_' RejectOAuth2Request (Maybe Text)+rejectOAuth2RequestErrorDescriptionL f RejectOAuth2Request{..} = (\rejectOAuth2RequestErrorDescription -> RejectOAuth2Request { rejectOAuth2RequestErrorDescription, ..} ) <$> f rejectOAuth2RequestErrorDescription+{-# INLINE rejectOAuth2RequestErrorDescriptionL #-}++-- | 'rejectOAuth2RequestErrorHint' Lens+rejectOAuth2RequestErrorHintL :: Lens_' RejectOAuth2Request (Maybe Text)+rejectOAuth2RequestErrorHintL f RejectOAuth2Request{..} = (\rejectOAuth2RequestErrorHint -> RejectOAuth2Request { rejectOAuth2RequestErrorHint, ..} ) <$> f rejectOAuth2RequestErrorHint+{-# INLINE rejectOAuth2RequestErrorHintL #-}++-- | 'rejectOAuth2RequestStatusCode' Lens+rejectOAuth2RequestStatusCodeL :: Lens_' RejectOAuth2Request (Maybe Integer)+rejectOAuth2RequestStatusCodeL f RejectOAuth2Request{..} = (\rejectOAuth2RequestStatusCode -> RejectOAuth2Request { rejectOAuth2RequestStatusCode, ..} ) <$> f rejectOAuth2RequestStatusCode+{-# INLINE rejectOAuth2RequestStatusCodeL #-}++++-- * TokenPagination++-- | 'tokenPaginationPageSize' Lens+tokenPaginationPageSizeL :: Lens_' TokenPagination (Maybe Integer)+tokenPaginationPageSizeL f TokenPagination{..} = (\tokenPaginationPageSize -> TokenPagination { tokenPaginationPageSize, ..} ) <$> f tokenPaginationPageSize+{-# INLINE tokenPaginationPageSizeL #-}++-- | 'tokenPaginationPageToken' Lens+tokenPaginationPageTokenL :: Lens_' TokenPagination (Maybe Text)+tokenPaginationPageTokenL f TokenPagination{..} = (\tokenPaginationPageToken -> TokenPagination { tokenPaginationPageToken, ..} ) <$> f tokenPaginationPageToken+{-# INLINE tokenPaginationPageTokenL #-}++++-- * TokenPaginationHeaders++-- | 'tokenPaginationHeadersLink' Lens+tokenPaginationHeadersLinkL :: Lens_' TokenPaginationHeaders (Maybe Text)+tokenPaginationHeadersLinkL f TokenPaginationHeaders{..} = (\tokenPaginationHeadersLink -> TokenPaginationHeaders { tokenPaginationHeadersLink, ..} ) <$> f tokenPaginationHeadersLink+{-# INLINE tokenPaginationHeadersLinkL #-}++-- | 'tokenPaginationHeadersXTotalCount' Lens+tokenPaginationHeadersXTotalCountL :: Lens_' TokenPaginationHeaders (Maybe Text)+tokenPaginationHeadersXTotalCountL f TokenPaginationHeaders{..} = (\tokenPaginationHeadersXTotalCount -> TokenPaginationHeaders { tokenPaginationHeadersXTotalCount, ..} ) <$> f tokenPaginationHeadersXTotalCount+{-# INLINE tokenPaginationHeadersXTotalCountL #-}++++-- * TokenPaginationRequestParameters++-- | 'tokenPaginationRequestParametersPageSize' Lens+tokenPaginationRequestParametersPageSizeL :: Lens_' TokenPaginationRequestParameters (Maybe Integer)+tokenPaginationRequestParametersPageSizeL f TokenPaginationRequestParameters{..} = (\tokenPaginationRequestParametersPageSize -> TokenPaginationRequestParameters { tokenPaginationRequestParametersPageSize, ..} ) <$> f tokenPaginationRequestParametersPageSize+{-# INLINE tokenPaginationRequestParametersPageSizeL #-}++-- | 'tokenPaginationRequestParametersPageToken' Lens+tokenPaginationRequestParametersPageTokenL :: Lens_' TokenPaginationRequestParameters (Maybe Text)+tokenPaginationRequestParametersPageTokenL f TokenPaginationRequestParameters{..} = (\tokenPaginationRequestParametersPageToken -> TokenPaginationRequestParameters { tokenPaginationRequestParametersPageToken, ..} ) <$> f tokenPaginationRequestParametersPageToken+{-# INLINE tokenPaginationRequestParametersPageTokenL #-}++++-- * TokenPaginationResponseHeaders++-- | 'tokenPaginationResponseHeadersLink' Lens+tokenPaginationResponseHeadersLinkL :: Lens_' TokenPaginationResponseHeaders (Maybe Text)+tokenPaginationResponseHeadersLinkL f TokenPaginationResponseHeaders{..} = (\tokenPaginationResponseHeadersLink -> TokenPaginationResponseHeaders { tokenPaginationResponseHeadersLink, ..} ) <$> f tokenPaginationResponseHeadersLink+{-# INLINE tokenPaginationResponseHeadersLinkL #-}++-- | 'tokenPaginationResponseHeadersXTotalCount' Lens+tokenPaginationResponseHeadersXTotalCountL :: Lens_' TokenPaginationResponseHeaders (Maybe Integer)+tokenPaginationResponseHeadersXTotalCountL f TokenPaginationResponseHeaders{..} = (\tokenPaginationResponseHeadersXTotalCount -> TokenPaginationResponseHeaders { tokenPaginationResponseHeadersXTotalCount, ..} ) <$> f tokenPaginationResponseHeadersXTotalCount+{-# INLINE tokenPaginationResponseHeadersXTotalCountL #-}++++-- * TrustOAuth2JwtGrantIssuer++-- | 'trustOAuth2JwtGrantIssuerAllowAnySubject' Lens+trustOAuth2JwtGrantIssuerAllowAnySubjectL :: Lens_' TrustOAuth2JwtGrantIssuer (Maybe Bool)+trustOAuth2JwtGrantIssuerAllowAnySubjectL f TrustOAuth2JwtGrantIssuer{..} = (\trustOAuth2JwtGrantIssuerAllowAnySubject -> TrustOAuth2JwtGrantIssuer { trustOAuth2JwtGrantIssuerAllowAnySubject, ..} ) <$> f trustOAuth2JwtGrantIssuerAllowAnySubject+{-# INLINE trustOAuth2JwtGrantIssuerAllowAnySubjectL #-}++-- | 'trustOAuth2JwtGrantIssuerExpiresAt' Lens+trustOAuth2JwtGrantIssuerExpiresAtL :: Lens_' TrustOAuth2JwtGrantIssuer (DateTime)+trustOAuth2JwtGrantIssuerExpiresAtL f TrustOAuth2JwtGrantIssuer{..} = (\trustOAuth2JwtGrantIssuerExpiresAt -> TrustOAuth2JwtGrantIssuer { trustOAuth2JwtGrantIssuerExpiresAt, ..} ) <$> f trustOAuth2JwtGrantIssuerExpiresAt+{-# INLINE trustOAuth2JwtGrantIssuerExpiresAtL #-}++-- | 'trustOAuth2JwtGrantIssuerIssuer' Lens+trustOAuth2JwtGrantIssuerIssuerL :: Lens_' TrustOAuth2JwtGrantIssuer (Text)+trustOAuth2JwtGrantIssuerIssuerL f TrustOAuth2JwtGrantIssuer{..} = (\trustOAuth2JwtGrantIssuerIssuer -> TrustOAuth2JwtGrantIssuer { trustOAuth2JwtGrantIssuerIssuer, ..} ) <$> f trustOAuth2JwtGrantIssuerIssuer+{-# INLINE trustOAuth2JwtGrantIssuerIssuerL #-}++-- | 'trustOAuth2JwtGrantIssuerJwk' Lens+trustOAuth2JwtGrantIssuerJwkL :: Lens_' TrustOAuth2JwtGrantIssuer (JsonWebKey)+trustOAuth2JwtGrantIssuerJwkL f TrustOAuth2JwtGrantIssuer{..} = (\trustOAuth2JwtGrantIssuerJwk -> TrustOAuth2JwtGrantIssuer { trustOAuth2JwtGrantIssuerJwk, ..} ) <$> f trustOAuth2JwtGrantIssuerJwk+{-# INLINE trustOAuth2JwtGrantIssuerJwkL #-}++-- | 'trustOAuth2JwtGrantIssuerScope' Lens+trustOAuth2JwtGrantIssuerScopeL :: Lens_' TrustOAuth2JwtGrantIssuer ([Text])+trustOAuth2JwtGrantIssuerScopeL f TrustOAuth2JwtGrantIssuer{..} = (\trustOAuth2JwtGrantIssuerScope -> TrustOAuth2JwtGrantIssuer { trustOAuth2JwtGrantIssuerScope, ..} ) <$> f trustOAuth2JwtGrantIssuerScope+{-# INLINE trustOAuth2JwtGrantIssuerScopeL #-}++-- | 'trustOAuth2JwtGrantIssuerSubject' Lens+trustOAuth2JwtGrantIssuerSubjectL :: Lens_' TrustOAuth2JwtGrantIssuer (Maybe Text)+trustOAuth2JwtGrantIssuerSubjectL f TrustOAuth2JwtGrantIssuer{..} = (\trustOAuth2JwtGrantIssuerSubject -> TrustOAuth2JwtGrantIssuer { trustOAuth2JwtGrantIssuerSubject, ..} ) <$> f trustOAuth2JwtGrantIssuerSubject+{-# INLINE trustOAuth2JwtGrantIssuerSubjectL #-}++++-- * TrustedOAuth2JwtGrantIssuer++-- | 'trustedOAuth2JwtGrantIssuerAllowAnySubject' Lens+trustedOAuth2JwtGrantIssuerAllowAnySubjectL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Bool)+trustedOAuth2JwtGrantIssuerAllowAnySubjectL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerAllowAnySubject -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerAllowAnySubject, ..} ) <$> f trustedOAuth2JwtGrantIssuerAllowAnySubject+{-# INLINE trustedOAuth2JwtGrantIssuerAllowAnySubjectL #-}++-- | 'trustedOAuth2JwtGrantIssuerCreatedAt' Lens+trustedOAuth2JwtGrantIssuerCreatedAtL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe DateTime)+trustedOAuth2JwtGrantIssuerCreatedAtL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerCreatedAt -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerCreatedAt, ..} ) <$> f trustedOAuth2JwtGrantIssuerCreatedAt+{-# INLINE trustedOAuth2JwtGrantIssuerCreatedAtL #-}++-- | 'trustedOAuth2JwtGrantIssuerExpiresAt' Lens+trustedOAuth2JwtGrantIssuerExpiresAtL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe DateTime)+trustedOAuth2JwtGrantIssuerExpiresAtL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerExpiresAt -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerExpiresAt, ..} ) <$> f trustedOAuth2JwtGrantIssuerExpiresAt+{-# INLINE trustedOAuth2JwtGrantIssuerExpiresAtL #-}++-- | 'trustedOAuth2JwtGrantIssuerId' Lens+trustedOAuth2JwtGrantIssuerIdL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Text)+trustedOAuth2JwtGrantIssuerIdL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerId -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerId, ..} ) <$> f trustedOAuth2JwtGrantIssuerId+{-# INLINE trustedOAuth2JwtGrantIssuerIdL #-}++-- | 'trustedOAuth2JwtGrantIssuerIssuer' Lens+trustedOAuth2JwtGrantIssuerIssuerL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Text)+trustedOAuth2JwtGrantIssuerIssuerL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerIssuer -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerIssuer, ..} ) <$> f trustedOAuth2JwtGrantIssuerIssuer+{-# INLINE trustedOAuth2JwtGrantIssuerIssuerL #-}++-- | 'trustedOAuth2JwtGrantIssuerPublicKey' Lens+trustedOAuth2JwtGrantIssuerPublicKeyL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe TrustedOAuth2JwtGrantJsonWebKey)+trustedOAuth2JwtGrantIssuerPublicKeyL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerPublicKey -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerPublicKey, ..} ) <$> f trustedOAuth2JwtGrantIssuerPublicKey+{-# INLINE trustedOAuth2JwtGrantIssuerPublicKeyL #-}++-- | 'trustedOAuth2JwtGrantIssuerScope' Lens+trustedOAuth2JwtGrantIssuerScopeL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe [Text])+trustedOAuth2JwtGrantIssuerScopeL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerScope -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerScope, ..} ) <$> f trustedOAuth2JwtGrantIssuerScope+{-# INLINE trustedOAuth2JwtGrantIssuerScopeL #-}++-- | 'trustedOAuth2JwtGrantIssuerSubject' Lens+trustedOAuth2JwtGrantIssuerSubjectL :: Lens_' TrustedOAuth2JwtGrantIssuer (Maybe Text)+trustedOAuth2JwtGrantIssuerSubjectL f TrustedOAuth2JwtGrantIssuer{..} = (\trustedOAuth2JwtGrantIssuerSubject -> TrustedOAuth2JwtGrantIssuer { trustedOAuth2JwtGrantIssuerSubject, ..} ) <$> f trustedOAuth2JwtGrantIssuerSubject+{-# INLINE trustedOAuth2JwtGrantIssuerSubjectL #-}++++-- * TrustedOAuth2JwtGrantJsonWebKey++-- | 'trustedOAuth2JwtGrantJsonWebKeyKid' Lens+trustedOAuth2JwtGrantJsonWebKeyKidL :: Lens_' TrustedOAuth2JwtGrantJsonWebKey (Maybe Text)+trustedOAuth2JwtGrantJsonWebKeyKidL f TrustedOAuth2JwtGrantJsonWebKey{..} = (\trustedOAuth2JwtGrantJsonWebKeyKid -> TrustedOAuth2JwtGrantJsonWebKey { trustedOAuth2JwtGrantJsonWebKeyKid, ..} ) <$> f trustedOAuth2JwtGrantJsonWebKeyKid+{-# INLINE trustedOAuth2JwtGrantJsonWebKeyKidL #-}++-- | 'trustedOAuth2JwtGrantJsonWebKeySet' Lens+trustedOAuth2JwtGrantJsonWebKeySetL :: Lens_' TrustedOAuth2JwtGrantJsonWebKey (Maybe Text)+trustedOAuth2JwtGrantJsonWebKeySetL f TrustedOAuth2JwtGrantJsonWebKey{..} = (\trustedOAuth2JwtGrantJsonWebKeySet -> TrustedOAuth2JwtGrantJsonWebKey { trustedOAuth2JwtGrantJsonWebKeySet, ..} ) <$> f trustedOAuth2JwtGrantJsonWebKeySet+{-# INLINE trustedOAuth2JwtGrantJsonWebKeySetL #-}++++-- * Version++-- | 'versionVersion' Lens+versionVersionL :: Lens_' Version (Maybe Text)+versionVersionL f Version{..} = (\versionVersion -> Version { versionVersion, ..} ) <$> f versionVersion+{-# INLINE versionVersionL #-}++
openapi.yaml view
@@ -1,3561 +1,4339 @@-openapi: 3.0.1-info:- description: Welcome to the ORY Hydra HTTP API documentation. You will find documentation- for all HTTP APIs here.- title: ORY Hydra- version: latest-servers:-- url: /-paths:- /.well-known/jwks.json:- get:- description: "This endpoint returns JSON Web Keys to be used as public keys\- \ for verifying OpenID Connect ID Tokens and,\nif enabled, OAuth 2.0 JWT Access\- \ Tokens. This endpoint can be used with client libraries like\n[node-jwks-rsa](https://github.com/auth0/node-jwks-rsa)\- \ among others."- operationId: wellKnown- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKeySet'- description: JSONWebKeySet- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: JSON Web Keys Discovery- tags:- - public- /.well-known/openid-configuration:- get:- description: "The well known endpoint an be used to retrieve information for\- \ OpenID Connect clients. We encourage you to not roll\nyour own OpenID Connect\- \ client but to use an OpenID Connect client library instead. You can learn\- \ more on this\nflow at https://openid.net/specs/openid-connect-discovery-1_0.html\- \ .\n\nPopular libraries for OpenID Connect clients include oidc-client-js\- \ (JavaScript), go-oidc (Golang), and others.\nFor a full list of clients\- \ go here: https://openid.net/developers/certified/"- operationId: discoverOpenIDConfiguration- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/wellKnown'- description: wellKnown- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: OpenID Connect Discovery- tags:- - public- /clients:- get:- description: "This endpoint lists all clients in the database, and never returns\- \ client secrets. As a default it lists the first 100 clients. The `limit`\- \ parameter can be used to retrieve more clients, but it has an upper bound\- \ at 500 objects. Pagination should be used to retrieve more than 500 objects.\n\- \nOAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows.\- \ Usually, OAuth 2.0 clients are generated for applications which want to\- \ consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra,\- \ you will need an OAuth 2.0 Client as well. Make sure that this endpoint\- \ is well protected and only callable by first-party components.\nThe \"Link\"\- \ header is also included in successful responses, which contains one or more\- \ links for pagination, formatted like so: '<https://hydra-url/admin/clients?limit={limit}&offset={offset}>;\- \ rel=\"{page}\"', where page is one of the following applicable pages: 'first',\- \ 'next', 'last', and 'previous'.\nMultiple links can be included in this\- \ header, and will be separated by a comma."- operationId: listOAuth2Clients- parameters:- - description: "The maximum amount of policies returned, upper bound is 500\- \ policies"- in: query- name: limit- schema:- format: int64- type: integer- - description: The offset from where to start looking.- in: query- name: offset- schema:- format: int64- type: integer- responses:- "200":- content:- application/json:- schema:- items:- $ref: '#/components/schemas/oAuth2Client'- type: array- description: A list of clients.- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: List OAuth 2.0 Clients- tags:- - admin- post:- description: "Create a new OAuth 2.0 client If you pass `client_secret` the\- \ secret will be used, otherwise a random secret will be generated. The secret\- \ will be returned in the response and you will not be able to retrieve it\- \ later on. Write the secret down and keep it somwhere safe.\n\nOAuth 2.0\- \ clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually,\- \ OAuth 2.0 clients are generated for applications which want to consume your\- \ OAuth 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will\- \ need an OAuth 2.0 Client as well. Make sure that this endpoint is well protected\- \ and only callable by first-party components."- operationId: createOAuth2Client- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/oAuth2Client'- required: true- responses:- "201":- content:- application/json:- schema:- $ref: '#/components/schemas/oAuth2Client'- description: oAuth2Client- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "409":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Create an OAuth 2.0 Client- tags:- - admin- x-codegen-request-body-name: Body- /clients/{id}:- delete:- description: "Delete an existing OAuth 2.0 Client by its ID.\n\nOAuth 2.0 clients\- \ are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0\- \ clients are generated for applications which want to consume your OAuth\- \ 2.0 or OpenID Connect capabilities. To manage ORY Hydra, you will need an\- \ OAuth 2.0 Client as well. Make sure that this endpoint is well protected\- \ and only callable by first-party components."- operationId: deleteOAuth2Client- parameters:- - description: The id of the OAuth 2.0 Client.- in: path- name: id- required: true- schema:- type: string- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Deletes an OAuth 2.0 Client- tags:- - admin- get:- description: "Get an OAUth 2.0 client by its ID. This endpoint never returns\- \ passwords.\n\nOAuth 2.0 clients are used to perform OAuth 2.0 and OpenID\- \ Connect flows. Usually, OAuth 2.0 clients are generated for applications\- \ which want to consume your OAuth 2.0 or OpenID Connect capabilities. To\- \ manage ORY Hydra, you will need an OAuth 2.0 Client as well. Make sure that\- \ this endpoint is well protected and only callable by first-party components."- operationId: getOAuth2Client- parameters:- - description: The id of the OAuth 2.0 Client.- in: path- name: id- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/oAuth2Client'- description: oAuth2Client- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Get an OAuth 2.0 Client.- tags:- - admin- put:- description: "Update an existing OAuth 2.0 Client. If you pass `client_secret`\- \ the secret will be updated and returned via the API. This is the only time\- \ you will be able to retrieve the client secret, so write it down and keep\- \ it safe.\n\nOAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect\- \ flows. Usually, OAuth 2.0 clients are generated for applications which want\- \ to consume your OAuth 2.0 or OpenID Connect capabilities. To manage ORY\- \ Hydra, you will need an OAuth 2.0 Client as well. Make sure that this endpoint\- \ is well protected and only callable by first-party components."- operationId: updateOAuth2Client- parameters:- - in: path- name: id- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/oAuth2Client'- required: true- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/oAuth2Client'- description: oAuth2Client- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Update an OAuth 2.0 Client- tags:- - admin- x-codegen-request-body-name: Body- /health/alive:- get:- description: "This endpoint returns a 200 status code when the HTTP server is\- \ up running.\nThis status does currently not include checks whether the database\- \ connection is working.\n\nIf the service supports TLS Edge Termination,\- \ this endpoint does not require the\n`X-Forwarded-Proto` header to be set.\n\- \nBe aware that if you are running multiple nodes of this service, the health\- \ status will never\nrefer to the cluster state, only to a single instance."- operationId: isInstanceAlive- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/healthStatus'- description: healthStatus- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Check Alive Status- tags:- - admin- /health/ready:- get:- description: "This endpoint returns a 200 status code when the HTTP server is\- \ up running and the environment dependencies (e.g.\nthe database) are responsive\- \ as well.\n\nIf the service supports TLS Edge Termination, this endpoint\- \ does not require the\n`X-Forwarded-Proto` header to be set.\n\nBe aware\- \ that if you are running multiple nodes of this service, the health status\- \ will never\nrefer to the cluster state, only to a single instance."- operationId: isInstanceReady- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/healthStatus'- description: healthStatus- "503":- content:- application/json:- schema:- $ref: '#/components/schemas/healthNotReadyStatus'- description: healthNotReadyStatus- summary: Check Readiness Status- tags:- - public- /keys/{set}:- delete:- description: "Use this endpoint to delete a complete JSON Web Key Set and all\- \ the keys in that set.\n\nA JSON Web Key (JWK) is a JavaScript Object Notation\- \ (JSON) data structure that represents a cryptographic key. A JWK Set is\- \ a JSON data structure that represents a set of JWKs. A JSON Web Key is identified\- \ by its set and key id. ORY Hydra uses this functionality to store cryptographic\- \ keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens),\- \ and allows storing user-defined keys as well."- operationId: deleteJsonWebKeySet- parameters:- - description: The set- in: path- name: set- required: true- schema:- type: string- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "403":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Delete a JSON Web Key Set- tags:- - admin- get:- description: "This endpoint can be used to retrieve JWK Sets stored in ORY Hydra.\n\- \nA JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure\- \ that represents a cryptographic key. A JWK Set is a JSON data structure\- \ that represents a set of JWKs. A JSON Web Key is identified by its set and\- \ key id. ORY Hydra uses this functionality to store cryptographic keys used\- \ for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows\- \ storing user-defined keys as well."- operationId: getJsonWebKeySet- parameters:- - description: The set- in: path- name: set- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKeySet'- description: JSONWebKeySet- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "403":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Retrieve a JSON Web Key Set- tags:- - admin- post:- description: "This endpoint is capable of generating JSON Web Key Sets for you.\- \ There a different strategies available, such as symmetric cryptographic\- \ keys (HS256, HS512) and asymetric cryptographic keys (RS256, ECDSA). If\- \ the specified JSON Web Key Set does not exist, it will be created.\n\nA\- \ JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure\- \ that represents a cryptographic key. A JWK Set is a JSON data structure\- \ that represents a set of JWKs. A JSON Web Key is identified by its set and\- \ key id. ORY Hydra uses this functionality to store cryptographic keys used\- \ for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows\- \ storing user-defined keys as well."- operationId: createJsonWebKeySet- parameters:- - description: The set- in: path- name: set- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/jsonWebKeySetGeneratorRequest'- required: false- responses:- "201":- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKeySet'- description: JSONWebKeySet- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "403":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Generate a New JSON Web Key- tags:- - admin- x-codegen-request-body-name: Body- put:- description: "Use this method if you do not want to let Hydra generate the JWKs\- \ for you, but instead save your own.\n\nA JSON Web Key (JWK) is a JavaScript\- \ Object Notation (JSON) data structure that represents a cryptographic key.\- \ A JWK Set is a JSON data structure that represents a set of JWKs. A JSON\- \ Web Key is identified by its set and key id. ORY Hydra uses this functionality\- \ to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID\- \ Connect ID tokens), and allows storing user-defined keys as well."- operationId: updateJsonWebKeySet- parameters:- - description: The set- in: path- name: set- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKeySet'- required: false- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKeySet'- description: JSONWebKeySet- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "403":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Update a JSON Web Key Set- tags:- - admin- x-codegen-request-body-name: Body- /keys/{set}/{kid}:- delete:- description: "Use this endpoint to delete a single JSON Web Key.\n\nA JSON Web\- \ Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents\- \ a cryptographic key. A JWK Set is a JSON data structure that represents\- \ a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra\- \ uses this functionality to store cryptographic keys used for TLS and JSON\- \ Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined\- \ keys as well."- operationId: deleteJsonWebKey- parameters:- - description: The kid of the desired key- in: path- name: kid- required: true- schema:- type: string- - description: The set- in: path- name: set- required: true- schema:- type: string- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "403":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Delete a JSON Web Key- tags:- - admin- get:- description: "This endpoint returns a singular JSON Web Key, identified by the\- \ set and the specific key ID (kid)."- operationId: getJsonWebKey- parameters:- - description: The kid of the desired key- in: path- name: kid- required: true- schema:- type: string- - description: The set- in: path- name: set- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKeySet'- description: JSONWebKeySet- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Fetch a JSON Web Key- tags:- - admin- put:- description: "Use this method if you do not want to let Hydra generate the JWKs\- \ for you, but instead save your own.\n\nA JSON Web Key (JWK) is a JavaScript\- \ Object Notation (JSON) data structure that represents a cryptographic key.\- \ A JWK Set is a JSON data structure that represents a set of JWKs. A JSON\- \ Web Key is identified by its set and key id. ORY Hydra uses this functionality\- \ to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID\- \ Connect ID tokens), and allows storing user-defined keys as well."- operationId: updateJsonWebKey- parameters:- - description: The kid of the desired key- in: path- name: kid- required: true- schema:- type: string- - description: The set- in: path- name: set- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKey'- required: false- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/JSONWebKey'- description: JSONWebKey- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "403":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Update a JSON Web Key- tags:- - admin- x-codegen-request-body-name: Body- /metrics/prometheus:- get:- description: "If you're using k8s, you can then add annotations to your deployment\- \ like so:\n\n```\nmetadata:\nannotations:\nprometheus.io/port: \"4445\"\n\- prometheus.io/path: \"/metrics/prometheus\"\n```\n\nIf the service supports\- \ TLS Edge Termination, this endpoint does not require the\n`X-Forwarded-Proto`\- \ header to be set."- operationId: prometheus- responses:- "200":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- summary: Get Snapshot Metrics from the Hydra Service.- tags:- - admin- /oauth2/auth:- get:- description: "This endpoint is not documented here because you should never\- \ use your own implementation to perform OAuth2 flows.\nOAuth2 is a very popular\- \ protocol and a library for your programming language will exists.\n\nTo\- \ learn more about this flow please refer to the specification: https://tools.ietf.org/html/rfc6749"- operationId: oauthAuth- responses:- "302":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: The OAuth 2.0 Authorize Endpoint- tags:- - public- /oauth2/auth/requests/consent:- get:- description: "When an authorization code, hybrid, or implicit OAuth 2.0 Flow\- \ is initiated, ORY Hydra asks the login provider\nto authenticate the subject\- \ and then tell ORY Hydra now about it. If the subject authenticated, he/she\- \ must now be asked if\nthe OAuth 2.0 Client which initiated the flow should\- \ be allowed to access the resources on the subject's behalf.\n\nThe consent\- \ provider which handles this request and is a web app implemented and hosted\- \ by you. It shows a subject interface which asks the subject to\ngrant or\- \ deny the client access to the requested scope (\"Application my-dropbox-app\- \ wants write access to all your private files\").\n\nThe consent challenge\- \ is appended to the consent provider's URL to which the subject's user-agent\- \ (browser) is redirected to. The consent\nprovider uses that challenge to\- \ fetch information on the OAuth2 request and then tells ORY Hydra if the\- \ subject accepted\nor rejected the request."- operationId: getConsentRequest- parameters:- - in: query- name: consent_challenge- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/consentRequest'- description: consentRequest- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "409":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Get Consent Request Information- tags:- - admin- /oauth2/auth/requests/consent/accept:- put:- description: "When an authorization code, hybrid, or implicit OAuth 2.0 Flow\- \ is initiated, ORY Hydra asks the login provider\nto authenticate the subject\- \ and then tell ORY Hydra now about it. If the subject authenticated, he/she\- \ must now be asked if\nthe OAuth 2.0 Client which initiated the flow should\- \ be allowed to access the resources on the subject's behalf.\n\nThe consent\- \ provider which handles this request and is a web app implemented and hosted\- \ by you. It shows a subject interface which asks the subject to\ngrant or\- \ deny the client access to the requested scope (\"Application my-dropbox-app\- \ wants write access to all your private files\").\n\nThe consent challenge\- \ is appended to the consent provider's URL to which the subject's user-agent\- \ (browser) is redirected to. The consent\nprovider uses that challenge to\- \ fetch information on the OAuth2 request and then tells ORY Hydra if the\- \ subject accepted\nor rejected the request.\n\nThis endpoint tells ORY Hydra\- \ that the subject has authorized the OAuth 2.0 client to access resources\- \ on his/her behalf.\nThe consent provider includes additional information,\- \ such as session data for access and ID tokens, and if the\nconsent request\- \ should be used as basis for future requests.\n\nThe response contains a\- \ redirect URL which the consent provider should redirect the user-agent to."- operationId: acceptConsentRequest- parameters:- - in: query- name: consent_challenge- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/acceptConsentRequest'- required: false- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/completedRequest'- description: completedRequest- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Accept a Consent Request- tags:- - admin- x-codegen-request-body-name: Body- /oauth2/auth/requests/consent/reject:- put:- description: "When an authorization code, hybrid, or implicit OAuth 2.0 Flow\- \ is initiated, ORY Hydra asks the login provider\nto authenticate the subject\- \ and then tell ORY Hydra now about it. If the subject authenticated, he/she\- \ must now be asked if\nthe OAuth 2.0 Client which initiated the flow should\- \ be allowed to access the resources on the subject's behalf.\n\nThe consent\- \ provider which handles this request and is a web app implemented and hosted\- \ by you. It shows a subject interface which asks the subject to\ngrant or\- \ deny the client access to the requested scope (\"Application my-dropbox-app\- \ wants write access to all your private files\").\n\nThe consent challenge\- \ is appended to the consent provider's URL to which the subject's user-agent\- \ (browser) is redirected to. The consent\nprovider uses that challenge to\- \ fetch information on the OAuth2 request and then tells ORY Hydra if the\- \ subject accepted\nor rejected the request.\n\nThis endpoint tells ORY Hydra\- \ that the subject has not authorized the OAuth 2.0 client to access resources\- \ on his/her behalf.\nThe consent provider must include a reason why the consent\- \ was not granted.\n\nThe response contains a redirect URL which the consent\- \ provider should redirect the user-agent to."- operationId: rejectConsentRequest- parameters:- - in: query- name: consent_challenge- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/rejectRequest'- required: false- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/completedRequest'- description: completedRequest- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Reject a Consent Request- tags:- - admin- x-codegen-request-body-name: Body- /oauth2/auth/requests/login:- get:- description: "When an authorization code, hybrid, or implicit OAuth 2.0 Flow\- \ is initiated, ORY Hydra asks the login provider\n(sometimes called \"identity\- \ provider\") to authenticate the subject and then tell ORY Hydra now about\- \ it. The login\nprovider is an web-app you write and host, and it must be\- \ able to authenticate (\"show the subject a login screen\")\na subject (in\- \ OAuth2 the proper name for subject is \"resource owner\").\n\nThe authentication\- \ challenge is appended to the login provider URL to which the subject's user-agent\- \ (browser) is redirected to. The login\nprovider uses that challenge to fetch\- \ information on the OAuth2 request and then accept or reject the requested\- \ authentication process."- operationId: getLoginRequest- parameters:- - in: query- name: login_challenge- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/loginRequest'- description: loginRequest- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "409":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Get a Login Request- tags:- - admin- /oauth2/auth/requests/login/accept:- put:- description: "When an authorization code, hybrid, or implicit OAuth 2.0 Flow\- \ is initiated, ORY Hydra asks the login provider\n(sometimes called \"identity\- \ provider\") to authenticate the subject and then tell ORY Hydra now about\- \ it. The login\nprovider is an web-app you write and host, and it must be\- \ able to authenticate (\"show the subject a login screen\")\na subject (in\- \ OAuth2 the proper name for subject is \"resource owner\").\n\nThe authentication\- \ challenge is appended to the login provider URL to which the subject's user-agent\- \ (browser) is redirected to. The login\nprovider uses that challenge to fetch\- \ information on the OAuth2 request and then accept or reject the requested\- \ authentication process.\n\nThis endpoint tells ORY Hydra that the subject\- \ has successfully authenticated and includes additional information such\- \ as\nthe subject's ID and if ORY Hydra should remember the subject's subject\- \ agent for future authentication attempts by setting\na cookie.\n\nThe response\- \ contains a redirect URL which the login provider should redirect the user-agent\- \ to."- operationId: acceptLoginRequest- parameters:- - in: query- name: login_challenge- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/acceptLoginRequest'- required: false- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/completedRequest'- description: completedRequest- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Accept a Login Request- tags:- - admin- x-codegen-request-body-name: Body- /oauth2/auth/requests/login/reject:- put:- description: "When an authorization code, hybrid, or implicit OAuth 2.0 Flow\- \ is initiated, ORY Hydra asks the login provider\n(sometimes called \"identity\- \ provider\") to authenticate the subject and then tell ORY Hydra now about\- \ it. The login\nprovider is an web-app you write and host, and it must be\- \ able to authenticate (\"show the subject a login screen\")\na subject (in\- \ OAuth2 the proper name for subject is \"resource owner\").\n\nThe authentication\- \ challenge is appended to the login provider URL to which the subject's user-agent\- \ (browser) is redirected to. The login\nprovider uses that challenge to fetch\- \ information on the OAuth2 request and then accept or reject the requested\- \ authentication process.\n\nThis endpoint tells ORY Hydra that the subject\- \ has not authenticated and includes a reason why the authentication\nwas\- \ be denied.\n\nThe response contains a redirect URL which the login provider\- \ should redirect the user-agent to."- operationId: rejectLoginRequest- parameters:- - in: query- name: login_challenge- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/rejectRequest'- required: false- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/completedRequest'- description: completedRequest- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Reject a Login Request- tags:- - admin- x-codegen-request-body-name: Body- /oauth2/auth/requests/logout:- get:- description: Use this endpoint to fetch a logout request.- operationId: getLogoutRequest- parameters:- - in: query- name: logout_challenge- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/logoutRequest'- description: logoutRequest- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Get a Logout Request- tags:- - admin- /oauth2/auth/requests/logout/accept:- put:- description: "When a user or an application requests ORY Hydra to log out a\- \ user, this endpoint is used to confirm that logout request.\nNo body is\- \ required.\n\nThe response contains a redirect URL which the consent provider\- \ should redirect the user-agent to."- operationId: acceptLogoutRequest- parameters:- - in: query- name: logout_challenge- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/completedRequest'- description: completedRequest- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Accept a Logout Request- tags:- - admin- /oauth2/auth/requests/logout/reject:- put:- description: "When a user or an application requests ORY Hydra to log out a\- \ user, this endpoint is used to deny that logout request.\nNo body is required.\n\- \nThe response is empty as the logout provider has to chose what action to\- \ perform next."- operationId: rejectLogoutRequest- parameters:- - in: query- name: logout_challenge- required: true- schema:- type: string- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/rejectRequest'- application/x-www-form-urlencoded:- schema:- $ref: '#/components/schemas/rejectRequest'- required: false- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "404":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Reject a Logout Request- tags:- - admin- x-codegen-request-body-name: Body- /oauth2/auth/sessions/consent:- delete:- description: |-- This endpoint revokes a subject's granted consent sessions for a specific OAuth 2.0 Client and invalidates all- associated OAuth 2.0 Access Tokens.- operationId: revokeConsentSessions- parameters:- - description: The subject (Subject) who's consent sessions should be deleted.- in: query- name: subject- required: true- schema:- type: string- - description: "If set, deletes only those consent sessions by the Subject that\- \ have been granted to the specified OAuth 2.0 Client ID"- in: query- name: client- schema:- type: string- - description: "If set to `?all=true`, deletes all consent sessions by the Subject\- \ that have been granted."- in: query- name: all- schema:- type: boolean- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Revokes Consent Sessions of a Subject for a Specific OAuth 2.0 Client- tags:- - admin- get:- description: "This endpoint lists all subject's granted consent sessions, including\- \ client and granted scope.\nIf the subject is unknown or has not granted\- \ any consent sessions yet, the endpoint returns an\nempty JSON array with\- \ status code 200 OK.\n\n\nThe \"Link\" header is also included in successful\- \ responses, which contains one or more links for pagination, formatted like\- \ so: '<https://hydra-url/admin/oauth2/auth/sessions/consent?subject={user}&limit={limit}&offset={offset}>;\- \ rel=\"{page}\"', where page is one of the following applicable pages: 'first',\- \ 'next', 'last', and 'previous'.\nMultiple links can be included in this\- \ header, and will be separated by a comma."- operationId: listSubjectConsentSessions- parameters:- - in: query- name: subject- required: true- schema:- type: string- responses:- "200":- content:- application/json:- schema:- items:- $ref: '#/components/schemas/PreviousConsentSession'- type: array- description: A list of used consent requests.- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Lists All Consent Sessions of a Subject- tags:- - admin- /oauth2/auth/sessions/login:- delete:- description: "This endpoint invalidates a subject's authentication session.\- \ After revoking the authentication session, the subject\nhas to re-authenticate\- \ at ORY Hydra. This endpoint does not invalidate any tokens and does not\- \ work with OpenID Connect\nFront- or Back-channel logout."- operationId: revokeAuthenticationSession- parameters:- - in: query- name: subject- required: true- schema:- type: string- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: |-- Invalidates All Login Sessions of a Certain User- Invalidates a Subject's Authentication Session- tags:- - admin- /oauth2/flush:- post:- description: "This endpoint flushes expired OAuth2 access tokens from the database.\- \ You can set a time after which no tokens will be\nnot be touched, in case\- \ you want to keep recent tokens for auditing. Refresh tokens can not be flushed\- \ as they are deleted\nautomatically when performing the refresh flow."- operationId: flushInactiveOAuth2Tokens- requestBody:- content:- application/json:- schema:- $ref: '#/components/schemas/flushInactiveOAuth2TokensRequest'- required: false- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Flush Expired OAuth2 Access Tokens- tags:- - admin- x-codegen-request-body-name: Body- /oauth2/introspect:- post:- description: "The introspection endpoint allows to check if a token (both refresh\- \ and access) is active or not. An active token\nis neither expired nor revoked.\- \ If a token is active, additional information on the token will be included.\- \ You can\nset additional data for a token by setting `accessTokenExtra` during\- \ the consent flow.\n\nFor more information [read this blog post](https://www.oauth.com/oauth2-servers/token-introspection-endpoint/)."- operationId: introspectOAuth2Token- requestBody:- content:- application/x-www-form-urlencoded:- schema:- $ref: '#/components/schemas/introspectOAuth2Token_request'- required: true- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/oAuth2TokenIntrospection'- description: oAuth2TokenIntrospection- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Introspect OAuth2 Tokens- tags:- - admin- /oauth2/revoke:- post:- description: "Revoking a token (both access and refresh) means that the tokens\- \ will be invalid. A revoked access token can no\nlonger be used to make access\- \ requests, and a revoked refresh token can no longer be used to refresh an\- \ access token.\nRevoking a refresh token also invalidates the access token\- \ that was created with it. A token may only be revoked by\nthe client the\- \ token was generated for."- operationId: revokeOAuth2Token- requestBody:- content:- application/x-www-form-urlencoded:- schema:- $ref: '#/components/schemas/revokeOAuth2Token_request'- required: true- responses:- "200":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- security:- - basic: []- - oauth2: []- summary: Revoke OAuth2 Tokens- tags:- - public- /oauth2/sessions/logout:- get:- description: |-- This endpoint initiates and completes user logout at ORY Hydra and initiates OpenID Connect Front-/Back-channel logout:-- https://openid.net/specs/openid-connect-frontchannel-1_0.html- https://openid.net/specs/openid-connect-backchannel-1_0.html- operationId: disconnectUser- responses:- "302":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- summary: OpenID Connect Front-Backchannel Enabled Logout- tags:- - public- /oauth2/token:- post:- description: "The client makes a request to the token endpoint by sending the\n\- following parameters using the \"application/x-www-form-urlencoded\" HTTP\n\- request entity-body.\n\n> Do not implement a client for this endpoint yourself.\- \ Use a library. There are many libraries\n> available for any programming\- \ language. You can find a list of libraries here: https://oauth.net/code/\n\- >\n> Do note that Hydra SDK does not implement this endpoint properly. Use\- \ one of the libraries listed above!"- operationId: oauth2Token- requestBody:- content:- application/x-www-form-urlencoded:- schema:- $ref: '#/components/schemas/oauth2Token_request'- required: true- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/oauth2TokenResponse'- description: oauth2TokenResponse- "400":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- security:- - basic: []- - oauth2: []- summary: The OAuth 2.0 Token Endpoint- tags:- - public- /oauth2/tokens:- delete:- description: This endpoint deletes OAuth2 access tokens issued for a client- from the database- operationId: deleteOAuth2Token- parameters:- - in: query- name: client_id- required: true- schema:- type: string- responses:- "204":- content: {}- description: "Empty responses are sent when, for example, resources are\- \ deleted. The HTTP status code for empty responses is\ntypically 201."- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- summary: Delete OAuth2 Access Tokens from a Client- tags:- - admin- /userinfo:- get:- description: "This endpoint returns the payload of the ID Token, including the\- \ idTokenExtra values, of\nthe provided OAuth 2.0 Access Token.\n\nFor more\- \ information please [refer to the spec](http://openid.net/specs/openid-connect-core-1_0.html#UserInfo)."- operationId: userinfo- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/userinfoResponse'- description: userinfoResponse- "401":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- "500":- content:- application/json:- schema:- $ref: '#/components/schemas/genericError'- description: genericError- security:- - oauth2: []- summary: OpenID Connect Userinfo- tags:- - public- /version:- get:- description: "This endpoint returns the service version typically notated using\- \ semantic versioning.\n\nIf the service supports TLS Edge Termination, this\- \ endpoint does not require the\n`X-Forwarded-Proto` header to be set."- operationId: getVersion- responses:- "200":- content:- application/json:- schema:- $ref: '#/components/schemas/version'- description: version- summary: Get Service Version- tags:- - admin-components:- schemas:- ContainerWaitOKBodyError:- description: "ContainerWaitOKBodyError container waiting error, if any"- properties:- Message:- description: Details of an error- type: string- type: object- JSONRawMessage:- title: "JSONRawMessage represents a json.RawMessage that works well with JSON,\- \ SQL, and Swagger."- type: object- JSONWebKey:- description: |-- It is important that this model object is named JSONWebKey for- "swagger generate spec" to generate only on definition of a- JSONWebKey.- example:- d: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE- e: AQAB- crv: P-256- use: sig- kid: 1603dfe0af8f4596- x5c:- - x5c- - x5c- k: GawgguFyGrWKav7AX4VKUg- dp: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0- dq: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk- "n": vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0- p: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ- kty: RSA- q: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ- qi: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU- x: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU- "y": x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0- alg: RS256- properties:- alg:- description: "The \"alg\" (algorithm) parameter identifies the algorithm\- \ intended for\nuse with the key. The values used should either be registered\- \ in the\nIANA \"JSON Web Signature and Encryption Algorithms\" registry\n\- established by [JWA] or be a value that contains a Collision-\nResistant\- \ Name."- example: RS256- type: string- crv:- example: P-256- type: string- d:- example: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE- type: string- dp:- example: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0- type: string- dq:- example: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk- type: string- e:- example: AQAB- type: string- k:- example: GawgguFyGrWKav7AX4VKUg- type: string- kid:- description: "The \"kid\" (key ID) parameter is used to match a specific\- \ key. This\nis used, for instance, to choose among a set of keys within\- \ a JWK Set\nduring key rollover. The structure of the \"kid\" value\- \ is\nunspecified. When \"kid\" values are used within a JWK Set, different\n\- keys within the JWK Set SHOULD use distinct \"kid\" values. (One\nexample\- \ in which different keys might use the same \"kid\" value is if\nthey\- \ have different \"kty\" (key type) values but are considered to be\n\- equivalent alternatives by the application using them.) The \"kid\"\n\- value is a case-sensitive string."- example: 1603dfe0af8f4596- type: string- kty:- description: "The \"kty\" (key type) parameter identifies the cryptographic\- \ algorithm\nfamily used with the key, such as \"RSA\" or \"EC\". \"kty\"\- \ values should\neither be registered in the IANA \"JSON Web Key Types\"\- \ registry\nestablished by [JWA] or be a value that contains a Collision-\n\- Resistant Name. The \"kty\" value is a case-sensitive string."- example: RSA- type: string- "n":- example: vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0- type: string- p:- example: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ- type: string- q:- example: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ- type: string- qi:- example: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU- type: string- use:- description: |-- Use ("public key use") 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).- example: sig- type: string- x:- example: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU- type: string- x5c:- description: "The \"x5c\" (X.509 certificate chain) parameter contains a\- \ chain of one\nor more PKIX certificates [RFC5280]. The certificate\- \ chain is\nrepresented as a JSON array of certificate value strings.\- \ Each\nstring in the array is a base64-encoded (Section 4 of [RFC4648]\- \ --\nnot base64url-encoded) DER [ITU.X690.1994] PKIX certificate value.\n\- The PKIX certificate containing the key value MUST be the first\ncertificate."- items:- type: string- type: array- "y":- example: x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0- type: string- required:- - alg- - kid- - kty- - use- type: object- JSONWebKeySet:- description: "It is important that this model object is named JSONWebKeySet\- \ for\n\"swagger generate spec\" to generate only on definition of a\nJSONWebKeySet.\- \ Since one with the same name is previously defined as\nclient.Client.JSONWebKeys\- \ and this one is last, this one will be\neffectively written in the swagger\- \ spec."- example:- keys:- - d: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE- e: AQAB- crv: P-256- use: sig- kid: 1603dfe0af8f4596- x5c:- - x5c- - x5c- k: GawgguFyGrWKav7AX4VKUg- dp: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0- dq: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk- "n": vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0- p: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ- kty: RSA- q: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ- qi: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU- x: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU- "y": x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0- alg: RS256- - d: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE- e: AQAB- crv: P-256- use: sig- kid: 1603dfe0af8f4596- x5c:- - x5c- - x5c- k: GawgguFyGrWKav7AX4VKUg- dp: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0- dq: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk- "n": vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0- p: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ- kty: RSA- q: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ- qi: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU- x: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU- "y": x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0- alg: RS256- properties:- keys:- description: "The value of the \"keys\" parameter is an array of JWK values.\- \ By\ndefault, the order of the JWK values within the array does not\- \ imply\nan order of preference among them, although applications of JWK\- \ Sets\ncan choose to assign a meaning to the order for their purposes,\- \ if\ndesired."- items:- $ref: '#/components/schemas/JSONWebKey'- type: array- type: object- JoseJSONWebKeySet:- type: object- NullTime:- format: date-time- title: NullTime implements sql.NullTime functionality.- type: string- PluginConfig:- properties:- Args:- $ref: '#/components/schemas/PluginConfigArgs'- Description:- description: description- type: string- DockerVersion:- description: Docker Version used to create the plugin- type: string- Documentation:- description: documentation- type: string- Entrypoint:- description: entrypoint- items:- type: string- type: array- Env:- description: env- items:- $ref: '#/components/schemas/PluginEnv'- type: array- Interface:- $ref: '#/components/schemas/PluginConfigInterface'- IpcHost:- description: ipc host- type: boolean- Linux:- $ref: '#/components/schemas/PluginConfigLinux'- Mounts:- description: mounts- items:- $ref: '#/components/schemas/PluginMount'- type: array- Network:- $ref: '#/components/schemas/PluginConfigNetwork'- PidHost:- description: pid host- type: boolean- PropagatedMount:- description: propagated mount- type: string- User:- $ref: '#/components/schemas/PluginConfigUser'- WorkDir:- description: work dir- type: string- rootfs:- $ref: '#/components/schemas/PluginConfigRootfs'- required:- - Args- - Description- - Documentation- - Entrypoint- - Env- - Interface- - IpcHost- - Linux- - Mounts- - Network- - PidHost- - PropagatedMount- - WorkDir- title: PluginConfig The config of a plugin.- type: object- PluginConfigArgs:- description: PluginConfigArgs plugin config args- properties:- Description:- description: description- type: string- Name:- description: name- type: string- Settable:- description: settable- items:- type: string- type: array- Value:- description: value- items:- type: string- type: array- required:- - Description- - Name- - Settable- - Value- type: object- PluginConfigInterface:- description: PluginConfigInterface The interface between Docker and the plugin- properties:- ProtocolScheme:- description: Protocol to use for clients connecting to the plugin.- type: string- Socket:- description: socket- type: string- Types:- description: types- items:- $ref: '#/components/schemas/PluginInterfaceType'- type: array- required:- - Socket- - Types- type: object- PluginConfigLinux:- description: PluginConfigLinux plugin config linux- properties:- AllowAllDevices:- description: allow all devices- type: boolean- Capabilities:- description: capabilities- items:- type: string- type: array- Devices:- description: devices- items:- $ref: '#/components/schemas/PluginDevice'- type: array- required:- - AllowAllDevices- - Capabilities- - Devices- type: object- PluginConfigNetwork:- description: PluginConfigNetwork plugin config network- properties:- Type:- description: type- type: string- required:- - Type- type: object- PluginConfigRootfs:- description: PluginConfigRootfs plugin config rootfs- properties:- diff_ids:- description: diff ids- items:- type: string- type: array- type:- description: type- type: string- type: object- PluginConfigUser:- description: PluginConfigUser plugin config user- properties:- GID:- description: g ID- format: uint32- type: integer- UID:- description: UID- format: uint32- type: integer- type: object- PluginDevice:- description: PluginDevice plugin device- properties:- Description:- description: description- type: string- Name:- description: name- type: string- Path:- description: path- type: string- Settable:- description: settable- items:- type: string- type: array- required:- - Description- - Name- - Path- - Settable- type: object- PluginEnv:- description: PluginEnv plugin env- properties:- Description:- description: description- type: string- Name:- description: name- type: string- Settable:- description: settable- items:- type: string- type: array- Value:- description: value- type: string- required:- - Description- - Name- - Settable- - Value- type: object- PluginInterfaceType:- description: PluginInterfaceType plugin interface type- properties:- Capability:- description: capability- type: string- Prefix:- description: prefix- type: string- Version:- description: version- type: string- required:- - Capability- - Prefix- - Version- type: object- PluginMount:- description: PluginMount plugin mount- properties:- Description:- description: description- type: string- Destination:- description: destination- type: string- Name:- description: name- type: string- Options:- description: options- items:- type: string- type: array- Settable:- description: settable- items:- type: string- type: array- Source:- description: source- type: string- Type:- description: type- type: string- required:- - Description- - Destination- - Name- - Options- - Settable- - Source- - Type- type: object- PluginSettings:- properties:- Args:- description: args- items:- type: string- type: array- Devices:- description: devices- items:- $ref: '#/components/schemas/PluginDevice'- type: array- Env:- description: env- items:- type: string- type: array- Mounts:- description: mounts- items:- $ref: '#/components/schemas/PluginMount'- type: array- required:- - Args- - Devices- - Env- - Mounts- title: PluginSettings Settings that can be modified by users.- type: object- PreviousConsentSession:- description: "The response used to return used consent requests\nsame as HandledLoginRequest,\- \ just with consent_request exposed as json"- example:- remember: true- consent_request:- requested_access_token_audience:- - requested_access_token_audience- - requested_access_token_audience- acr: acr- login_challenge: login_challenge- subject: subject- context: "{}"- oidc_context:- login_hint: login_hint- ui_locales:- - ui_locales- - ui_locales- id_token_hint_claims: "{}"- acr_values:- - acr_values- - acr_values- display: display- challenge: challenge- client:- metadata: "{}"- token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg- client_uri: client_uri- jwks: "{}"- logo_uri: logo_uri- created_at: 2000-01-23T04:56:07.000+00:00- allowed_cors_origins:- - allowed_cors_origins- - allowed_cors_origins- client_id: client_id- token_endpoint_auth_method: token_endpoint_auth_method- userinfo_signed_response_alg: userinfo_signed_response_alg- updated_at: 2000-01-23T04:56:07.000+00:00- scope: scope- request_uris:- - request_uris- - request_uris- client_secret: client_secret- backchannel_logout_session_required: true- backchannel_logout_uri: backchannel_logout_uri- client_name: client_name- policy_uri: policy_uri- owner: owner- audience:- - audience- - audience- post_logout_redirect_uris:- - post_logout_redirect_uris- - post_logout_redirect_uris- grant_types:- - grant_types- - grant_types- subject_type: subject_type- redirect_uris:- - redirect_uris- - redirect_uris- sector_identifier_uri: sector_identifier_uri- frontchannel_logout_session_required: true- frontchannel_logout_uri: frontchannel_logout_uri- client_secret_expires_at: 0- jwks_uri: jwks_uri- request_object_signing_alg: request_object_signing_alg- tos_uri: tos_uri- contacts:- - contacts- - contacts- response_types:- - response_types- - response_types- skip: true- login_session_id: login_session_id- request_url: request_url- requested_scope:- - requested_scope- - requested_scope- session:- access_token: "{}"- id_token: "{}"- grant_access_token_audience:- - grant_access_token_audience- - grant_access_token_audience- handled_at: 2000-01-23T04:56:07.000+00:00- grant_scope:- - grant_scope- - grant_scope- remember_for: 0- properties:- consent_request:- $ref: '#/components/schemas/consentRequest'- grant_access_token_audience:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- grant_scope:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- handled_at:- format: date-time- title: NullTime implements sql.NullTime functionality.- type: string- remember:- description: "Remember, if set to true, tells ORY Hydra to remember this\- \ consent authorization and reuse it if the same\nclient asks the same\- \ user for the same, or a subset of, scope."- type: boolean- remember_for:- description: "RememberFor sets how long the consent authorization should\- \ be remembered for in seconds. If set to `0`, the\nauthorization will\- \ be remembered indefinitely."- format: int64- type: integer- session:- $ref: '#/components/schemas/consentRequestSession'- type: object- StringSlicePipeDelimiter:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL string.- type: array- Volume:- description: Volume volume- properties:- CreatedAt:- description: Date/Time the volume was created.- type: string- Driver:- description: Name of the volume driver used by the volume.- type: string- Labels:- additionalProperties:- type: string- description: User-defined key/value metadata.- type: object- Mountpoint:- description: Mount path of the volume on the host.- type: string- Name:- description: Name of the volume.- type: string- Options:- additionalProperties:- type: string- description: The driver specific options used when creating the volume.- type: object- Scope:- description: "The level at which the volume exists. Either `global` for\- \ cluster-wide, or `local` for machine level."- type: string- Status:- description: "Low-level details about the volume, provided by the volume\- \ driver.\nDetails are returned as a map with key/value pairs:\n`{\"key\"\- :\"value\",\"key2\":\"value2\"}`.\n\nThe `Status` field is optional, and\- \ is omitted if the volume driver\ndoes not support this feature."- properties: {}- type: object- UsageData:- $ref: '#/components/schemas/VolumeUsageData'- required:- - Driver- - Labels- - Mountpoint- - Name- - Options- - Scope- type: object- VolumeUsageData:- description: "VolumeUsageData Usage details about the volume. This information\- \ is used by the\n`GET /system/df` endpoint, and omitted in other endpoints."- properties:- RefCount:- description: |-- The number of containers referencing this volume. This field- is set to `-1` if the reference-count is not available.- format: int64- type: integer- Size:- description: "Amount of disk space used by the volume (in bytes). This information\n\- is only available for volumes created with the `\"local\"` volume\ndriver.\- \ For volumes created with other volume drivers, this field\nis set to\- \ `-1` (\"not available\")"- format: int64- type: integer- required:- - RefCount- - Size- type: object- acceptConsentRequest:- properties:- grant_access_token_audience:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- grant_scope:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- handled_at:- format: date-time- title: NullTime implements sql.NullTime functionality.- type: string- remember:- description: "Remember, if set to true, tells ORY Hydra to remember this\- \ consent authorization and reuse it if the same\nclient asks the same\- \ user for the same, or a subset of, scope."- type: boolean- remember_for:- description: "RememberFor sets how long the consent authorization should\- \ be remembered for in seconds. If set to `0`, the\nauthorization will\- \ be remembered indefinitely."- format: int64- type: integer- session:- $ref: '#/components/schemas/consentRequestSession'- title: The request payload used to accept a consent request.- type: object- acceptLoginRequest:- properties:- acr:- description: "ACR sets the Authentication AuthorizationContext Class Reference\- \ value for this authentication session. You can use it\nto express that,\- \ for example, a user authenticated using two factor authentication."- type: string- context:- title: "JSONRawMessage represents a json.RawMessage that works well with\- \ JSON, SQL, and Swagger."- type: object- force_subject_identifier:- description: "ForceSubjectIdentifier forces the \"pairwise\" user ID of\- \ the end-user that authenticated. The \"pairwise\" user ID refers to\- \ the\n(Pairwise Identifier Algorithm)[http://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg]\- \ of the OpenID\nConnect specification. It allows you to set an obfuscated\- \ subject (\"user\") identifier that is unique to the client.\n\nPlease\- \ note that this changes the user ID on endpoint /userinfo and sub claim\- \ of the ID Token. It does not change the\nsub claim in the OAuth 2.0\- \ Introspection.\n\nPer default, ORY Hydra handles this value with its\- \ own algorithm. In case you want to set this yourself\nyou can use this\- \ field. Please note that setting this field has no effect if `pairwise`\- \ is not configured in\nORY Hydra or the OAuth 2.0 Client does not expect\- \ a pairwise identifier (set via `subject_type` key in the client's\n\- configuration).\n\nPlease also be aware that ORY Hydra is unable to properly\- \ compute this value during authentication. This implies\nthat you have\- \ to compute this value on every authentication process (probably depending\- \ on the client ID or some\nother unique value).\n\nIf you fail to compute\- \ the proper value, then authentication processes which have id_token_hint\- \ set might fail."- type: string- remember:- description: "Remember, if set to true, tells ORY Hydra to remember this\- \ user by telling the user agent (browser) to store\na cookie with authentication\- \ data. If the same user performs another OAuth 2.0 Authorization Request,\- \ he/she\nwill not be asked to log in again."- type: boolean- remember_for:- description: "RememberFor sets how long the authentication should be remembered\- \ for in seconds. If set to `0`, the\nauthorization will be remembered\- \ for the duration of the browser session (using a session cookie)."- format: int64- type: integer- subject:- description: Subject is the user ID of the end-user that authenticated.- type: string- required:- - subject- title: HandledLoginRequest is the request payload used to accept a login request.- type: object- completedRequest:- example:- redirect_to: redirect_to- properties:- redirect_to:- description: RedirectURL is the URL which you should redirect the user to- once the authentication process is completed.- type: string- required:- - redirect_to- title: The response payload sent when accepting or rejecting a login or consent- request.- type: object- consentRequest:- example:- requested_access_token_audience:- - requested_access_token_audience- - requested_access_token_audience- acr: acr- login_challenge: login_challenge- subject: subject- context: "{}"- oidc_context:- login_hint: login_hint- ui_locales:- - ui_locales- - ui_locales- id_token_hint_claims: "{}"- acr_values:- - acr_values- - acr_values- display: display- challenge: challenge- client:- metadata: "{}"- token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg- client_uri: client_uri- jwks: "{}"- logo_uri: logo_uri- created_at: 2000-01-23T04:56:07.000+00:00- allowed_cors_origins:- - allowed_cors_origins- - allowed_cors_origins- client_id: client_id- token_endpoint_auth_method: token_endpoint_auth_method- userinfo_signed_response_alg: userinfo_signed_response_alg- updated_at: 2000-01-23T04:56:07.000+00:00- scope: scope- request_uris:- - request_uris- - request_uris- client_secret: client_secret- backchannel_logout_session_required: true- backchannel_logout_uri: backchannel_logout_uri- client_name: client_name- policy_uri: policy_uri- owner: owner- audience:- - audience- - audience- post_logout_redirect_uris:- - post_logout_redirect_uris- - post_logout_redirect_uris- grant_types:- - grant_types- - grant_types- subject_type: subject_type- redirect_uris:- - redirect_uris- - redirect_uris- sector_identifier_uri: sector_identifier_uri- frontchannel_logout_session_required: true- frontchannel_logout_uri: frontchannel_logout_uri- client_secret_expires_at: 0- jwks_uri: jwks_uri- request_object_signing_alg: request_object_signing_alg- tos_uri: tos_uri- contacts:- - contacts- - contacts- response_types:- - response_types- - response_types- skip: true- login_session_id: login_session_id- request_url: request_url- requested_scope:- - requested_scope- - requested_scope- properties:- acr:- description: "ACR represents the Authentication AuthorizationContext Class\- \ Reference value for this authentication session. You can use it\nto\- \ express that, for example, a user authenticated using two factor authentication."- type: string- challenge:- description: |-- ID is the identifier ("authorization challenge") of the consent authorization request. It is used to- identify the session.- type: string- client:- $ref: '#/components/schemas/oAuth2Client'- context:- title: "JSONRawMessage represents a json.RawMessage that works well with\- \ JSON, SQL, and Swagger."- type: object- login_challenge:- description: |-- LoginChallenge is the login challenge this consent challenge belongs to. It can be used to associate- a login and consent request in the login & consent app.- type: string- login_session_id:- description: |-- LoginSessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag)- this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false)- this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC Front-/Back-- channel logout. It's value can generally be used to associate consecutive login requests by a certain user.- type: string- oidc_context:- $ref: '#/components/schemas/openIDConnectContext'- request_url:- description: "RequestURL is the original OAuth 2.0 Authorization URL requested\- \ by the OAuth 2.0 client. It is the URL which\ninitiates the OAuth 2.0\- \ Authorization Code or OAuth 2.0 Implicit flow. This URL is typically\- \ not needed, but\nmight come in handy if you want to deal with additional\- \ request parameters."- type: string- requested_access_token_audience:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- requested_scope:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- skip:- description: "Skip, if true, implies that the client has requested the same\- \ scopes from the same user previously.\nIf true, you must not ask the\- \ user to grant the requested scopes. You must however either allow or\- \ deny the\nconsent request using the usual API call."- type: boolean- subject:- description: "Subject is the user ID of the end-user that authenticated.\- \ Now, that end user needs to grant or deny the scope\nrequested by the\- \ OAuth 2.0 client."- type: string- required:- - challenge- title: Contains information on an ongoing consent request.- type: object- consentRequestSession:- example:- access_token: "{}"- id_token: "{}"- properties:- access_token:- description: "AccessToken sets session data for the access and refresh token,\- \ as well as any future tokens issued by the\nrefresh grant. Keep in mind\- \ that this data will be available to anyone performing OAuth 2.0 Challenge\- \ Introspection.\nIf only your services can perform OAuth 2.0 Challenge\- \ Introspection, this is usually fine. But if third parties\ncan access\- \ that endpoint as well, sensitive data from the session might be exposed\- \ to them. Use with care!"- properties: {}- type: object- id_token:- description: |-- IDToken sets session data for the OpenID Connect ID token. Keep in mind that the session'id payloads are readable- by anyone that has access to the ID Challenge. Use with care!- properties: {}- type: object- title: Used to pass session data to a consent request.- type: object- flushInactiveOAuth2TokensRequest:- properties:- notAfter:- description: |-- NotAfter sets after which point tokens should not be flushed. This is useful when you want to keep a history- of recently issued tokens for auditing.- format: date-time- type: string- type: object- genericError:- description: "Error responses are sent when an error (e.g. unauthorized, bad\- \ request, ...) occurred."- properties:- debug:- description: Debug contains debug information. This is usually not available- and has to be enabled.- example: The database adapter was unable to find the element- type: string- error:- description: Name is the error name.- example: The requested resource could not be found- type: string- error_description:- description: Description contains further information on the nature of the- error.- example: Object with ID 12345 does not exist- type: string- status_code:- description: "Code represents the error status code (404, 403, 401, ...)."- example: 404- format: int64- type: integer- required:- - error- title: Error response- type: object- healthNotReadyStatus:- properties:- errors:- additionalProperties:- type: string- description: Errors contains a list of errors that caused the not ready- status.- type: object- type: object- healthStatus:- example:- status: status- properties:- status:- description: Status always contains "ok".- type: string- type: object- jsonWebKeySetGeneratorRequest:- properties:- alg:- description: "The algorithm to be used for creating the key. Supports \"\- RS256\", \"ES512\", \"HS512\", and \"HS256\""- type: string- kid:- description: The kid of the key to be created- type: string- use:- description: |-- 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. Valid values are "enc" and "sig".- type: string- required:- - alg- - kid- - use- type: object- loginRequest:- example:- requested_access_token_audience:- - requested_access_token_audience- - requested_access_token_audience- subject: subject- oidc_context:- login_hint: login_hint- ui_locales:- - ui_locales- - ui_locales- id_token_hint_claims: "{}"- acr_values:- - acr_values- - acr_values- display: display- challenge: challenge- client:- metadata: "{}"- token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg- client_uri: client_uri- jwks: "{}"- logo_uri: logo_uri- created_at: 2000-01-23T04:56:07.000+00:00- allowed_cors_origins:- - allowed_cors_origins- - allowed_cors_origins- client_id: client_id- token_endpoint_auth_method: token_endpoint_auth_method- userinfo_signed_response_alg: userinfo_signed_response_alg- updated_at: 2000-01-23T04:56:07.000+00:00- scope: scope- request_uris:- - request_uris- - request_uris- client_secret: client_secret- backchannel_logout_session_required: true- backchannel_logout_uri: backchannel_logout_uri- client_name: client_name- policy_uri: policy_uri- owner: owner- audience:- - audience- - audience- post_logout_redirect_uris:- - post_logout_redirect_uris- - post_logout_redirect_uris- grant_types:- - grant_types- - grant_types- subject_type: subject_type- redirect_uris:- - redirect_uris- - redirect_uris- sector_identifier_uri: sector_identifier_uri- frontchannel_logout_session_required: true- frontchannel_logout_uri: frontchannel_logout_uri- client_secret_expires_at: 0- jwks_uri: jwks_uri- request_object_signing_alg: request_object_signing_alg- tos_uri: tos_uri- contacts:- - contacts- - contacts- response_types:- - response_types- - response_types- session_id: session_id- skip: true- request_url: request_url- requested_scope:- - requested_scope- - requested_scope- properties:- challenge:- description: |-- ID is the identifier ("login challenge") of the login request. It is used to- identify the session.- type: string- client:- $ref: '#/components/schemas/oAuth2Client'- oidc_context:- $ref: '#/components/schemas/openIDConnectContext'- request_url:- description: "RequestURL is the original OAuth 2.0 Authorization URL requested\- \ by the OAuth 2.0 client. It is the URL which\ninitiates the OAuth 2.0\- \ Authorization Code or OAuth 2.0 Implicit flow. This URL is typically\- \ not needed, but\nmight come in handy if you want to deal with additional\- \ request parameters."- type: string- requested_access_token_audience:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- requested_scope:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- session_id:- description: |-- SessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag)- this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false)- this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC Front-/Back-- channel logout. It's value can generally be used to associate consecutive login requests by a certain user.- type: string- skip:- description: "Skip, if true, implies that the client has requested the same\- \ scopes from the same user previously.\nIf true, you can skip asking\- \ the user to grant the requested scopes, and simply forward the user\- \ to the redirect URL.\n\nThis feature allows you to update / set session\- \ information."- type: boolean- subject:- description: "Subject is the user ID of the end-user that authenticated.\- \ Now, that end user needs to grant or deny the scope\nrequested by the\- \ OAuth 2.0 client. If this value is set and `skip` is true, you MUST\- \ include this subject type\nwhen accepting the login request, or the\- \ request will fail."- type: string- required:- - challenge- - client- - request_url- - requested_access_token_audience- - requested_scope- - skip- - subject- title: Contains information on an ongoing login request.- type: object- logoutRequest:- example:- subject: subject- rp_initiated: true- request_url: request_url- sid: sid- properties:- request_url:- description: RequestURL is the original Logout URL requested.- type: string- rp_initiated:- description: "RPInitiated is set to true if the request was initiated by\- \ a Relying Party (RP), also known as an OAuth 2.0 Client."- type: boolean- sid:- description: SessionID is the login session ID that was requested to log- out.- type: string- subject:- description: Subject is the user for whom the logout was request.- type: string- title: Contains information about an ongoing logout request.- type: object- oAuth2Client:- example:- metadata: "{}"- token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg- client_uri: client_uri- jwks: "{}"- logo_uri: logo_uri- created_at: 2000-01-23T04:56:07.000+00:00- allowed_cors_origins:- - allowed_cors_origins- - allowed_cors_origins- client_id: client_id- token_endpoint_auth_method: token_endpoint_auth_method- userinfo_signed_response_alg: userinfo_signed_response_alg- updated_at: 2000-01-23T04:56:07.000+00:00- scope: scope- request_uris:- - request_uris- - request_uris- client_secret: client_secret- backchannel_logout_session_required: true- backchannel_logout_uri: backchannel_logout_uri- client_name: client_name- policy_uri: policy_uri- owner: owner- audience:- - audience- - audience- post_logout_redirect_uris:- - post_logout_redirect_uris- - post_logout_redirect_uris- grant_types:- - grant_types- - grant_types- subject_type: subject_type- redirect_uris:- - redirect_uris- - redirect_uris- sector_identifier_uri: sector_identifier_uri- frontchannel_logout_session_required: true- frontchannel_logout_uri: frontchannel_logout_uri- client_secret_expires_at: 0- jwks_uri: jwks_uri- request_object_signing_alg: request_object_signing_alg- tos_uri: tos_uri- contacts:- - contacts- - contacts- response_types:- - response_types- - response_types- properties:- allowed_cors_origins:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- audience:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- backchannel_logout_session_required:- description: "Boolean value specifying whether the RP requires that a sid\- \ (session ID) Claim be included in the Logout\nToken to identify the\- \ RP session with the OP when the backchannel_logout_uri is used.\nIf\- \ omitted, the default value is false."- type: boolean- backchannel_logout_uri:- description: RP URL that will cause the RP to log itself out when sent a- Logout Token by the OP.- type: string- client_id:- description: ID is the id for this client.- type: string- client_name:- description: |-- Name is the human-readable string name of the client to be presented to the- end-user during authorization.- type: string- client_secret:- description: "Secret is the client's secret. The secret will be included\- \ in the create request as cleartext, and then\nnever again. The secret\- \ is stored using BCrypt so it is impossible to recover it. Tell your\- \ users\nthat they need to write the secret down as it will not be made\- \ available again."- type: string- client_secret_expires_at:- description: |-- SecretExpiresAt is an integer holding the time at which the client- secret will expire or 0 if it will not expire. The time is- represented as the number of seconds from 1970-01-01T00:00:00Z as- measured in UTC until the date/time of expiration.-- This feature is currently not supported and it's value will always- be set to 0.- format: int64- type: integer- client_uri:- description: "ClientURI is an URL string of a web page providing information\- \ about the client.\nIf present, the server SHOULD display this URL to\- \ the end-user in\na clickable fashion."- type: string- contacts:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- created_at:- description: CreatedAt returns the timestamp of the client's creation.- format: date-time- type: string- frontchannel_logout_session_required:- description: "Boolean value specifying whether the RP requires that iss\- \ (issuer) and sid (session ID) query parameters be\nincluded to identify\- \ the RP session with the OP when the frontchannel_logout_uri is used.\n\- If omitted, the default value is false."- type: boolean- frontchannel_logout_uri:- description: "RP URL that will cause the RP to log itself out when rendered\- \ in an iframe by the OP. An iss (issuer) query\nparameter and a sid (session\- \ ID) query parameter MAY be included by the OP to enable the RP to validate\- \ the\nrequest and to determine which of the potentially multiple sessions\- \ is to be logged out; if either is\nincluded, both MUST be."- type: string- grant_types:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- jwks:- type: object- jwks_uri:- description: "URL for the Client's JSON Web Key Set [JWK] document. If the\- \ Client signs requests to the Server, it contains\nthe signing key(s)\- \ the Server uses to validate signatures from the Client. The JWK Set\- \ MAY also contain the\nClient's encryption keys(s), which are used by\- \ the Server to encrypt responses to the Client. When both signing\nand\- \ encryption keys are made available, a use (Key Use) parameter value\- \ is REQUIRED for all keys in the referenced\nJWK Set to indicate each\- \ key's intended usage. Although some algorithms allow the same key to\- \ be used for both\nsignatures and encryption, doing so is NOT RECOMMENDED,\- \ as it is less secure. The JWK x5c parameter MAY be used\nto provide\- \ X.509 representations of keys provided. When used, the bare key values\- \ MUST still be present and MUST\nmatch those in the certificate."- type: string- logo_uri:- description: LogoURI is an URL string that references a logo for the client.- type: string- metadata:- title: "JSONRawMessage represents a json.RawMessage that works well with\- \ JSON, SQL, and Swagger."- type: object- owner:- description: Owner is a string identifying the owner of the OAuth 2.0 Client.- type: string- policy_uri:- description: "PolicyURI is a URL string that points to a human-readable\- \ privacy policy document\nthat describes how the deployment organization\- \ collects, uses,\nretains, and discloses personal data."- type: string- post_logout_redirect_uris:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- redirect_uris:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- request_object_signing_alg:- description: "JWS [JWS] alg algorithm [JWA] that MUST be used for signing\- \ Request Objects sent to the OP. All Request Objects\nfrom this Client\- \ MUST be rejected, if not signed with this algorithm."- type: string- request_uris:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- response_types:- items:- type: string- title: StringSlicePipeDelimiter de/encodes the string slice to/from a SQL- string.- type: array- scope:- description: "Scope is a string containing a space-separated list of scope\- \ values (as\ndescribed in Section 3.3 of OAuth 2.0 [RFC6749]) that the\- \ client\ncan use when requesting access tokens."- pattern: "([a-zA-Z0-9\\.\\*]+\\s?)+"- type: string- sector_identifier_uri:- description: |-- URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a- file with a single JSON array of redirect_uri values.- type: string- subject_type:- description: |-- SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a- list of the supported subject_type values for this server. Valid types include `pairwise` and `public`.- type: string- token_endpoint_auth_method:- description: "Requested Client Authentication method for the Token Endpoint.\- \ The options are client_secret_post,\nclient_secret_basic, private_key_jwt,\- \ and none."- type: string- token_endpoint_auth_signing_alg:- description: Requested Client Authentication signing algorithm for the Token- Endpoint.- type: string- tos_uri:- description: |-- TermsOfServiceURI is a URL string that points to a human-readable terms of service- document for the client that describes a contractual relationship- between the end-user and the client that the end-user accepts when- authorizing the client.- type: string- updated_at:- description: UpdatedAt returns the timestamp of the last update.- format: date-time- type: string- userinfo_signed_response_alg:- description: "JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses.\- \ If this is specified, the response will be JWT\n[JWT] serialized, and\- \ signed using JWS. The default, if omitted, is for the UserInfo Response\- \ to return the Claims\nas a UTF-8 encoded JSON object using the application/json\- \ content-type."- type: string- title: Client represents an OAuth 2.0 Client.- type: object- oAuth2TokenIntrospection:- description: https://tools.ietf.org/html/rfc7662- example:- ext: "{}"- sub: sub- iss: iss- active: true- obfuscated_subject: obfuscated_subject- token_type: token_type- client_id: client_id- aud:- - aud- - aud- nbf: 1- token_use: token_use- scope: scope- exp: 0- iat: 6- username: username- properties:- active:- description: "Active is a boolean indicator of whether or not the presented\- \ token\nis currently active. The specifics of a token's \"active\" state\n\- will vary depending on the implementation of the authorization\nserver\- \ and the information it keeps about its tokens, but a \"true\"\nvalue\- \ return for the \"active\" property will generally indicate\nthat a given\- \ token has been issued by this authorization server,\nhas not been revoked\- \ by the resource owner, and is within its\ngiven time window of validity\- \ (e.g., after its issuance time and\nbefore its expiration time)."- type: boolean- aud:- description: Audience contains a list of the token's intended audiences.- items:- type: string- type: array- client_id:- description: |-- ID is aclient identifier for the OAuth 2.0 client that- requested this token.- type: string- exp:- description: "Expires at is an integer timestamp, measured in the number\- \ of seconds\nsince January 1 1970 UTC, indicating when this token will\- \ expire."- format: int64- type: integer- ext:- description: Extra is arbitrary data set by the session.- properties: {}- type: object- iat:- description: "Issued at is an integer timestamp, measured in the number\- \ of seconds\nsince January 1 1970 UTC, indicating when this token was\n\- originally issued."- format: int64- type: integer- iss:- description: IssuerURL is a string representing the issuer of this token- type: string- nbf:- description: "NotBefore is an integer timestamp, measured in the number\- \ of seconds\nsince January 1 1970 UTC, indicating when this token is\- \ not to be\nused before."- format: int64- type: integer- obfuscated_subject:- description: |-- ObfuscatedSubject is set when the subject identifier algorithm was set to "pairwise" during authorization.- It is the `sub` value of the ID Token that was issued.- type: string- scope:- description: |-- Scope is a JSON string containing a space-separated list of- scopes associated with this token.- type: string- sub:- description: "Subject of the token, as defined in JWT [RFC7519].\nUsually\- \ a machine-readable identifier of the resource owner who\nauthorized\- \ this token."- type: string- token_type:- description: "TokenType is the introspected token's type, typically `Bearer`."- type: string- token_use:- description: "TokenUse is the introspected token's use, for example `access_token`\- \ or `refresh_token`."- type: string- username:- description: |-- Username is a human-readable identifier for the resource owner who- authorized this token.- type: string- required:- - active- title: "Introspection contains an access token's session data as specified by\- \ IETF RFC 7662, see:"- type: object- oauth2TokenResponse:- description: The Access Token Response- example:- access_token: access_token- refresh_token: refresh_token- scope: scope- id_token: id_token- token_type: token_type- expires_in: 0- properties:- access_token:- type: string- expires_in:- format: int64- type: integer- id_token:- type: string- refresh_token:- type: string- scope:- type: string- token_type:- type: string- type: object- openIDConnectContext:- example:- login_hint: login_hint- ui_locales:- - ui_locales- - ui_locales- id_token_hint_claims: "{}"- acr_values:- - acr_values- - acr_values- display: display- properties:- acr_values:- description: "ACRValues is the Authentication AuthorizationContext Class\- \ Reference requested in the OAuth 2.0 Authorization request.\nIt is a\- \ parameter defined by OpenID Connect and expresses which level of authentication\- \ (e.g. 2FA) is required.\n\nOpenID Connect defines it as follows:\n>\- \ Requested Authentication AuthorizationContext Class Reference values.\- \ Space-separated string that specifies the acr values\nthat the Authorization\- \ Server is being requested to use for processing this Authentication\- \ Request, with the\nvalues appearing in order of preference. The Authentication\- \ AuthorizationContext Class satisfied by the authentication\nperformed\- \ is returned as the acr Claim Value, as specified in Section 2. The acr\- \ Claim is requested as a\nVoluntary Claim by this parameter."- items:- type: string- type: array- display:- description: "Display is a string value that specifies how the Authorization\- \ Server displays the authentication and consent user interface pages\- \ to the End-User.\nThe defined values are:\npage: The Authorization Server\- \ SHOULD display the authentication and consent UI consistent with a full\- \ User Agent page view. If the display parameter is not specified, this\- \ is the default display mode.\npopup: The Authorization Server SHOULD\- \ display the authentication and consent UI consistent with a popup User\- \ Agent window. The popup User Agent window should be of an appropriate\- \ size for a login-focused dialog and should not obscure the entire window\- \ that it is popping up over.\ntouch: The Authorization Server SHOULD\- \ display the authentication and consent UI consistent with a device that\- \ leverages a touch interface.\nwap: The Authorization Server SHOULD display\- \ the authentication and consent UI consistent with a \"feature phone\"\- \ type display.\n\nThe Authorization Server MAY also attempt to detect\- \ the capabilities of the User Agent and present an appropriate display."- type: string- id_token_hint_claims:- description: |-- IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a hint about the- End-User's current or past authenticated session with the Client.- properties: {}- type: object- login_hint:- description: |-- LoginHint hints about the login identifier the End-User might use to log in (if necessary).- This hint can be used by an RP if it first asks the End-User for their e-mail address (or other identifier)- and then wants to pass that value as a hint to the discovered authorization service. This value MAY also be a- phone number in the format specified for the phone_number Claim. The use of this parameter is optional.- type: string- ui_locales:- description: "UILocales is the End-User'id preferred languages and scripts\- \ for the user interface, represented as a\nspace-separated list of BCP47\- \ [RFC5646] language tag values, ordered by preference. For instance,\- \ the value\n\"fr-CA fr en\" represents a preference for French as spoken\- \ in Canada, then French (without a region designation),\nfollowed by\- \ English (without a region designation). An error SHOULD NOT result if\- \ some or all of the requested\nlocales are not supported by the OpenID\- \ Provider."- items:- type: string- type: array- title: Contains optional information about the OpenID Connect request.- type: object- rejectRequest:- properties:- error:- description: "The error should follow the OAuth2 error format (e.g. `invalid_request`,\- \ `login_required`).\n\nDefaults to `request_denied`."- type: string- error_debug:- description: |-- Debug contains information to help resolve the problem as a developer. Usually not exposed- to the public but only in the server logs.- type: string- error_description:- description: Description of the error in a human readable format.- type: string- error_hint:- description: Hint to help resolve the error.- type: string- status_code:- description: |-- Represents the HTTP status code of the error (e.g. 401 or 403)-- Defaults to 400- format: int64- type: integer- title: The request payload used to accept a login or consent request.- type: object- userinfoResponse:- description: The userinfo response- example:- sub: sub- website: website- zoneinfo: zoneinfo- birthdate: birthdate- email_verified: true- gender: gender- profile: profile- phone_number_verified: true- preferred_username: preferred_username- given_name: given_name- locale: locale- middle_name: middle_name- picture: picture- updated_at: 0- name: name- nickname: nickname- phone_number: phone_number- family_name: family_name- email: email- properties:- birthdate:- description: "End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑\- 2004] YYYY-MM-DD format. The year MAY be 0000, indicating that it is omitted.\- \ To represent only the year, YYYY format is allowed. Note that depending\- \ on the underlying platform's date related function, providing just year\- \ can result in varying month and day, so the implementers need to take\- \ this factor into account to correctly process the dates."- type: string- email:- description: "End-User's preferred e-mail address. Its value MUST conform\- \ to the RFC 5322 [RFC5322] addr-spec syntax. The RP MUST NOT rely upon\- \ this value being unique, as discussed in Section 5.7."- type: string- email_verified:- description: "True if the End-User's e-mail address has been verified; otherwise\- \ false. When this Claim Value is true, this means that the OP took affirmative\- \ steps to ensure that this e-mail address was controlled by the End-User\- \ at the time the verification was performed. The means by which an e-mail\- \ address is verified is context-specific, and dependent upon the trust\- \ framework or contractual agreements within which the parties are operating."- type: boolean- family_name:- description: "Surname(s) or last name(s) of the End-User. Note that in some\- \ cultures, people can have multiple family names or no family name; all\- \ can be present, with the names being separated by space characters."- type: string- gender:- description: End-User's gender. Values defined by this specification are- female and male. Other values MAY be used when neither of the defined- values are applicable.- type: string- given_name:- description: "Given name(s) or first name(s) of the End-User. Note that\- \ in some cultures, people can have multiple given names; all can be present,\- \ with the names being separated by space characters."- type: string- locale:- description: "End-User's locale, represented as a BCP47 [RFC5646] language\- \ tag. This is typically an ISO 639-1 Alpha-2 [ISO639‑1] language code\- \ in lowercase and an ISO 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase,\- \ separated by a dash. For example, en-US or fr-CA. As a compatibility\- \ note, some implementations have used an underscore as the separator\- \ rather than a dash, for example, en_US; Relying Parties MAY choose to\- \ accept this locale syntax as well."- type: string- middle_name:- description: "Middle name(s) of the End-User. Note that in some cultures,\- \ people can have multiple middle names; all can be present, with the\- \ names being separated by space characters. Also note that in some cultures,\- \ middle names are not used."- type: string- name:- description: "End-User's full name in displayable form including all name\- \ parts, possibly including titles and suffixes, ordered according to\- \ the End-User's locale and preferences."- type: string- nickname:- description: "Casual name of the End-User that may or may not be the same\- \ as the given_name. For instance, a nickname value of Mike might be returned\- \ alongside a given_name value of Michael."- type: string- phone_number:- description: "End-User's preferred telephone number. E.164 [E.164] is RECOMMENDED\- \ as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2)\- \ 687 2400. If the phone number contains an extension, it is RECOMMENDED\- \ that the extension be represented using the RFC 3966 [RFC3966] extension\- \ syntax, for example, +1 (604) 555-1234;ext=5678."- type: string- phone_number_verified:- description: "True if the End-User's phone number has been verified; otherwise\- \ false. When this Claim Value is true, this means that the OP took affirmative\- \ steps to ensure that this phone number was controlled by the End-User\- \ at the time the verification was performed. The means by which a phone\- \ number is verified is context-specific, and dependent upon the trust\- \ framework or contractual agreements within which the parties are operating.\- \ When true, the phone_number Claim MUST be in E.164 format and any extensions\- \ MUST be represented in RFC 3966 format."- type: boolean- picture:- description: "URL of the End-User's profile picture. This URL MUST refer\- \ to an image file (for example, a PNG, JPEG, or GIF image file), rather\- \ than to a Web page containing an image. Note that this URL SHOULD specifically\- \ reference a profile photo of the End-User suitable for displaying when\- \ describing the End-User, rather than an arbitrary photo taken by the\- \ End-User."- type: string- preferred_username:- description: "Non-unique shorthand name by which the End-User wishes to\- \ be referred to at the RP, such as janedoe or j.doe. This value MAY be\- \ any valid JSON string including special characters such as @, /, or\- \ whitespace."- type: string- profile:- description: URL of the End-User's profile page. The contents of this Web- page SHOULD be about the End-User.- type: string- sub:- description: Subject - Identifier for the End-User at the IssuerURL.- type: string- updated_at:- description: Time the End-User's information was last updated. Its value- is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z- as measured in UTC until the date/time.- format: int64- type: integer- website:- description: URL of the End-User's Web page or blog. This Web page SHOULD- contain information published by the End-User or an organization that- the End-User is affiliated with.- type: string- zoneinfo:- description: "String from zoneinfo [zoneinfo] time zone database representing\- \ the End-User's time zone. For example, Europe/Paris or America/Los_Angeles."- type: string- type: object- version:- example:- version: version- properties:- version:- description: Version is the service's version.- type: string- type: object- wellKnown:- description: |-- It includes links to several endpoints (e.g. /oauth2/token) and exposes information on supported signature algorithms- among others.- example:- request_parameter_supported: true- claims_parameter_supported: true- backchannel_logout_supported: true- scopes_supported:- - scopes_supported- - scopes_supported- issuer: https://playground.ory.sh/ory-hydra/public/- authorization_endpoint: https://playground.ory.sh/ory-hydra/public/oauth2/auth- claims_supported:- - claims_supported- - claims_supported- userinfo_signing_alg_values_supported:- - userinfo_signing_alg_values_supported- - userinfo_signing_alg_values_supported- token_endpoint_auth_methods_supported:- - token_endpoint_auth_methods_supported- - token_endpoint_auth_methods_supported- backchannel_logout_session_supported: true- response_modes_supported:- - response_modes_supported- - response_modes_supported- token_endpoint: https://playground.ory.sh/ory-hydra/public/oauth2/token- response_types_supported:- - response_types_supported- - response_types_supported- request_uri_parameter_supported: true- grant_types_supported:- - grant_types_supported- - grant_types_supported- end_session_endpoint: end_session_endpoint- revocation_endpoint: revocation_endpoint- userinfo_endpoint: userinfo_endpoint- frontchannel_logout_supported: true- require_request_uri_registration: true- frontchannel_logout_session_supported: true- jwks_uri: https://playground.ory.sh/ory-hydra/public/.well-known/jwks.json- subject_types_supported:- - subject_types_supported- - subject_types_supported- id_token_signing_alg_values_supported:- - id_token_signing_alg_values_supported- - id_token_signing_alg_values_supported- registration_endpoint: https://playground.ory.sh/ory-hydra/admin/client- request_object_signing_alg_values_supported:- - request_object_signing_alg_values_supported- - request_object_signing_alg_values_supported- properties:- authorization_endpoint:- description: URL of the OP's OAuth 2.0 Authorization Endpoint.- example: https://playground.ory.sh/ory-hydra/public/oauth2/auth- type: string- backchannel_logout_session_supported:- description: "Boolean value specifying whether the OP can pass a sid (session\- \ ID) Claim in the Logout Token to identify the RP\nsession with the OP.\- \ If supported, the sid Claim is also included in ID Tokens issued by\- \ the OP"- type: boolean- backchannel_logout_supported:- description: "Boolean value specifying whether the OP supports back-channel\- \ logout, with true indicating support."- type: boolean- claims_parameter_supported:- description: "Boolean value specifying whether the OP supports use of the\- \ claims parameter, with true indicating support."- type: boolean- claims_supported:- description: "JSON array containing a list of the Claim Names of the Claims\- \ that the OpenID Provider MAY be able to supply\nvalues for. Note that\- \ for privacy or other reasons, this might not be an exhaustive list."- items:- type: string- type: array- end_session_endpoint:- description: URL at the OP to which an RP can perform a redirect to request- that the End-User be logged out at the OP.- type: string- frontchannel_logout_session_supported:- description: "Boolean value specifying whether the OP can pass iss (issuer)\- \ and sid (session ID) query parameters to identify\nthe RP session with\- \ the OP when the frontchannel_logout_uri is used. If supported, the sid\- \ Claim is also\nincluded in ID Tokens issued by the OP."- type: boolean- frontchannel_logout_supported:- description: "Boolean value specifying whether the OP supports HTTP-based\- \ logout, with true indicating support."- type: boolean- grant_types_supported:- description: JSON array containing a list of the OAuth 2.0 Grant Type values- that this OP supports.- items:- type: string- type: array- id_token_signing_alg_values_supported:- description: |-- JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token- to encode the Claims in a JWT.- items:- type: string- type: array- issuer:- description: "URL using the https scheme with no query or fragment component\- \ that the OP asserts as its IssuerURL Identifier.\nIf IssuerURL discovery\- \ is supported , this value MUST be identical to the issuer value returned\n\- by WebFinger. This also MUST be identical to the iss Claim value in ID\- \ Tokens issued from this IssuerURL."- example: https://playground.ory.sh/ory-hydra/public/- type: string- jwks_uri:- description: "URL of the OP's JSON Web Key Set [JWK] document. This contains\- \ the signing key(s) the RP uses to validate\nsignatures from the OP.\- \ The JWK Set MAY also contain the Server's encryption key(s), which are\- \ used by RPs\nto encrypt requests to the Server. When both signing and\- \ encryption keys are made available, a use (Key Use)\nparameter value\- \ is REQUIRED for all keys in the referenced JWK Set to indicate each\- \ key's intended usage.\nAlthough some algorithms allow the same key to\- \ be used for both signatures and encryption, doing so is\nNOT RECOMMENDED,\- \ as it is less secure. The JWK x5c parameter MAY be used to provide X.509\- \ representations of\nkeys provided. When used, the bare key values MUST\- \ still be present and MUST match those in the certificate."- example: https://playground.ory.sh/ory-hydra/public/.well-known/jwks.json- type: string- registration_endpoint:- description: URL of the OP's Dynamic Client Registration Endpoint.- example: https://playground.ory.sh/ory-hydra/admin/client- type: string- request_object_signing_alg_values_supported:- description: "JSON array containing a list of the JWS signing algorithms\- \ (alg values) supported by the OP for Request Objects,\nwhich are described\- \ in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. These algorithms\- \ are used both when\nthe Request Object is passed by value (using the\- \ request parameter) and when it is passed by reference\n(using the request_uri\- \ parameter)."- items:- type: string- type: array- request_parameter_supported:- description: "Boolean value specifying whether the OP supports use of the\- \ request parameter, with true indicating support."- type: boolean- request_uri_parameter_supported:- description: "Boolean value specifying whether the OP supports use of the\- \ request_uri parameter, with true indicating support."- type: boolean- require_request_uri_registration:- description: |-- Boolean value specifying whether the OP requires any request_uri values used to be pre-registered- using the request_uris registration parameter.- type: boolean- response_modes_supported:- description: JSON array containing a list of the OAuth 2.0 response_mode- values that this OP supports.- items:- type: string- type: array- response_types_supported:- description: "JSON array containing a list of the OAuth 2.0 response_type\- \ values that this OP supports. Dynamic OpenID\nProviders MUST support\- \ the code, id_token, and the token id_token Response Type values."- items:- type: string- type: array- revocation_endpoint:- description: URL of the authorization server's OAuth 2.0 revocation endpoint.- type: string- scopes_supported:- description: "SON array containing a list of the OAuth 2.0 [RFC6749] scope\- \ values that this server supports. The server MUST\nsupport the openid\- \ scope value. Servers MAY choose not to advertise some supported scope\- \ values even when this parameter is used"- items:- type: string- type: array- subject_types_supported:- description: |-- JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include- pairwise and public.- items:- type: string- type: array- token_endpoint:- description: URL of the OP's OAuth 2.0 Token Endpoint- example: https://playground.ory.sh/ory-hydra/public/oauth2/token- type: string- token_endpoint_auth_methods_supported:- description: "JSON array containing a list of Client Authentication methods\- \ supported by this Token Endpoint. The options are\nclient_secret_post,\- \ client_secret_basic, client_secret_jwt, and private_key_jwt, as described\- \ in Section 9 of OpenID Connect Core 1.0"- items:- type: string- type: array- userinfo_endpoint:- description: URL of the OP's UserInfo Endpoint.- type: string- userinfo_signing_alg_values_supported:- description: "JSON array containing a list of the JWS [JWS] signing algorithms\- \ (alg values) [JWA] supported by the UserInfo Endpoint to encode the\- \ Claims in a JWT [JWT]."- items:- type: string- type: array- required:- - authorization_endpoint- - id_token_signing_alg_values_supported- - issuer- - jwks_uri- - response_types_supported- - subject_types_supported- - token_endpoint- title: WellKnown represents important OpenID Connect discovery metadata- type: object- introspectOAuth2Token_request:- properties:- token:- description: "The string value of the token. For access tokens, this\nis\- \ the \"access_token\" value returned from the token endpoint\ndefined\- \ in OAuth 2.0. For refresh tokens, this is the \"refresh_token\"\nvalue\- \ returned."- type: string- scope:- description: "An optional, space separated list of required scopes. If the\- \ access token was not granted one of the\nscopes, the result of active\- \ will be false."- type: string- required:- - token- revokeOAuth2Token_request:- properties:- token:- type: string- required:- - token- oauth2Token_request:- properties:- grant_type:- type: string- code:- type: string- refresh_token:- type: string- redirect_uri:- type: string- client_id:- type: string- required:- - grant_type- securitySchemes:- basic:- scheme: basic- type: http- oauth2:- flows:- authorizationCode:- authorizationUrl: https://hydra.demo.ory.sh/oauth2/auth- scopes:- offline: A scope required when requesting refresh tokens (alias for `offline_access`)- offline_access: A scope required when requesting refresh tokens- openid: Request an OpenID Connect ID Token- tokenUrl: https://hydra.demo.ory.sh/oauth2/token- type: oauth2-x-forwarded-proto: string-x-request-id: string-x-original-swagger-version: "2.0"+openapi: 3.0.3+info:+ contact:+ email: hi@ory.sh+ description: |+ Documentation for all of Ory Hydra's APIs.+ license:+ name: Apache 2.0+ title: Ory Hydra API+ version: ""+servers:+- url: /+tags:+- description: OAuth 2.0+ name: oAuth2+- description: OpenID Connect+ name: oidc+- description: JSON Web Keys+ name: jwk+- description: Well-Known Endpoints+ name: wellknown+- description: Service Metadata+ name: metadata+paths:+ /.well-known/jwks.json:+ get:+ description: |-+ This endpoint returns JSON Web Keys required to verifying OpenID Connect ID Tokens and,+ if enabled, OAuth 2.0 JWT Access Tokens. This endpoint can be used with client libraries like+ [node-jwks-rsa](https://github.com/auth0/node-jwks-rsa) among others.+ operationId: discoverJsonWebKeys+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKeySet'+ description: jsonWebKeySet+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Discover Well-Known JSON Web Keys+ tags:+ - wellknown+ /.well-known/openid-configuration:+ get:+ description: |-+ A mechanism for an OpenID Connect Relying Party to discover the End-User's OpenID Provider and obtain information needed to interact with it, including its OAuth 2.0 endpoint locations.++ Popular libraries for OpenID Connect clients include oidc-client-js (JavaScript), go-oidc (Golang), and others.+ For a full list of clients go here: https://openid.net/developers/certified/+ operationId: discoverOidcConfiguration+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oidcConfiguration'+ description: oidcConfiguration+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: OpenID Connect Discovery+ tags:+ - oidc+ /admin/clients:+ get:+ description: |-+ This endpoint lists all clients in the database, and never returns client secrets.+ As a default it lists the first 100 clients.+ operationId: listOAuth2Clients+ parameters:+ - description: |-+ Items per Page++ This is the number of items per page to return.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ explode: true+ in: query+ name: page_size+ required: false+ schema:+ default: 250+ format: int64+ maximum: 500+ minimum: 1+ type: integer+ style: form+ - description: |-+ Next Page Token++ The next page token.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ explode: true+ in: query+ name: page_token+ required: false+ schema:+ default: "1"+ minimum: 1+ type: string+ style: form+ - description: The name of the clients to filter by.+ explode: true+ in: query+ name: client_name+ required: false+ schema:+ type: string+ style: form+ - description: The owner of the clients to filter by.+ explode: true+ in: query+ name: owner+ required: false+ schema:+ type: string+ style: form+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/oAuth2Client'+ type: array+ description: Paginated OAuth2 Client List Response+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ summary: List OAuth 2.0 Clients+ tags:+ - oAuth2+ post:+ description: |-+ Create a new OAuth 2.0 client. If you pass `client_secret` the secret is used, otherwise a random secret+ is generated. The secret is echoed in the response. It is not possible to retrieve it later on.+ operationId: createOAuth2Client+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: OAuth 2.0 Client Request Body+ required: true+ x-originalParamName: Body+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ "400":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Bad Request Error Response+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ summary: Create OAuth 2.0 Client+ tags:+ - oAuth2+ /admin/clients/{id}:+ delete:+ description: |-+ Delete an existing OAuth 2.0 Client by its ID.++ OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are+ generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.++ Make sure that this endpoint is well protected and only callable by first-party components.+ operationId: deleteOAuth2Client+ parameters:+ - description: The id of the OAuth 2.0 Client.+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ summary: Delete OAuth 2.0 Client+ tags:+ - oAuth2+ get:+ description: |-+ Get an OAuth 2.0 client by its ID. This endpoint never returns the client secret.++ OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are+ generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+ operationId: getOAuth2Client+ parameters:+ - description: The id of the OAuth 2.0 Client.+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ summary: Get an OAuth 2.0 Client+ tags:+ - oAuth2+ patch:+ description: |-+ Patch an existing OAuth 2.0 Client using JSON Patch. If you pass `client_secret`+ the secret will be updated and returned via the API. This is the+ only time you will be able to retrieve the client secret, so write it down and keep it safe.++ OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are+ generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+ operationId: patchOAuth2Client+ parameters:+ - description: The id of the OAuth 2.0 Client.+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonPatchDocument'+ description: OAuth 2.0 Client JSON Patch Body+ required: true+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ "404":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Not Found Error Response+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ summary: Patch OAuth 2.0 Client+ tags:+ - oAuth2+ put:+ description: |-+ Replaces an existing OAuth 2.0 Client with the payload you send. If you pass `client_secret` the secret is used,+ otherwise the existing secret is used.++ If set, the secret is echoed in the response. It is not possible to retrieve it later on.++ OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are+ generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+ operationId: setOAuth2Client+ parameters:+ - description: OAuth 2.0 Client ID+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: OAuth 2.0 Client Request Body+ required: true+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ "400":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Bad Request Error Response+ "404":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Not Found Error Response+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ summary: Set OAuth 2.0 Client+ tags:+ - oAuth2+ /admin/clients/{id}/lifespans:+ put:+ description: Set lifespans of different token types issued for this OAuth 2.0+ client. Does not modify other fields.+ operationId: setOAuth2ClientLifespans+ parameters:+ - description: OAuth 2.0 Client ID+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2ClientTokenLifespans'+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ summary: Set OAuth2 Client Token Lifespans+ tags:+ - oAuth2+ /admin/keys/{set}:+ delete:+ description: |-+ Use this endpoint to delete a complete JSON Web Key Set and all the keys in that set.++ A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+ operationId: deleteJsonWebKeySet+ parameters:+ - description: The JSON Web Key Set+ explode: false+ in: path+ name: set+ required: true+ schema:+ type: string+ style: simple+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Delete JSON Web Key Set+ tags:+ - jwk+ get:+ description: |-+ This endpoint can be used to retrieve JWK Sets stored in ORY Hydra.++ A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+ operationId: getJsonWebKeySet+ parameters:+ - description: JSON Web Key Set ID+ explode: false+ in: path+ name: set+ required: true+ schema:+ type: string+ style: simple+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKeySet'+ description: jsonWebKeySet+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Retrieve a JSON Web Key Set+ tags:+ - jwk+ post:+ description: |-+ This endpoint is capable of generating JSON Web Key Sets for you. There a different strategies available, such as symmetric cryptographic keys (HS256, HS512) and asymetric cryptographic keys (RS256, ECDSA). If the specified JSON Web Key Set does not exist, it will be created.++ A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+ operationId: createJsonWebKeySet+ parameters:+ - description: The JSON Web Key Set ID+ explode: false+ in: path+ name: set+ required: true+ schema:+ type: string+ style: simple+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/createJsonWebKeySet'+ required: true+ x-originalParamName: Body+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKeySet'+ description: jsonWebKeySet+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Create JSON Web Key+ tags:+ - jwk+ put:+ description: |-+ Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own.++ A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+ operationId: setJsonWebKeySet+ parameters:+ - description: The JSON Web Key Set ID+ explode: false+ in: path+ name: set+ required: true+ schema:+ type: string+ style: simple+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKeySet'+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKeySet'+ description: jsonWebKeySet+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Update a JSON Web Key Set+ tags:+ - jwk+ /admin/keys/{set}/{kid}:+ delete:+ description: |-+ Use this endpoint to delete a single JSON Web Key.++ A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A+ JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses+ this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens),+ and allows storing user-defined keys as well.+ operationId: deleteJsonWebKey+ parameters:+ - description: The JSON Web Key Set+ explode: false+ in: path+ name: set+ required: true+ schema:+ type: string+ style: simple+ - description: The JSON Web Key ID (kid)+ explode: false+ in: path+ name: kid+ required: true+ schema:+ type: string+ style: simple+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Delete JSON Web Key+ tags:+ - jwk+ get:+ description: This endpoint returns a singular JSON Web Key contained in a set.+ It is identified by the set and the specific key ID (kid).+ operationId: getJsonWebKey+ parameters:+ - description: JSON Web Key Set ID+ explode: false+ in: path+ name: set+ required: true+ schema:+ type: string+ style: simple+ - description: JSON Web Key ID+ explode: false+ in: path+ name: kid+ required: true+ schema:+ type: string+ style: simple+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKeySet'+ description: jsonWebKeySet+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Get JSON Web Key+ tags:+ - jwk+ put:+ description: |-+ Use this method if you do not want to let Hydra generate the JWKs for you, but instead save your own.++ A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. A JWK Set is a JSON data structure that represents a set of JWKs. A JSON Web Key is identified by its set and key id. ORY Hydra uses this functionality to store cryptographic keys used for TLS and JSON Web Tokens (such as OpenID Connect ID tokens), and allows storing user-defined keys as well.+ operationId: setJsonWebKey+ parameters:+ - description: The JSON Web Key Set ID+ explode: false+ in: path+ name: set+ required: true+ schema:+ type: string+ style: simple+ - description: JSON Web Key ID+ explode: false+ in: path+ name: kid+ required: true+ schema:+ type: string+ style: simple+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKey'+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/jsonWebKey'+ description: jsonWebKey+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Set JSON Web Key+ tags:+ - jwk+ /admin/oauth2/auth/requests/consent:+ get:+ description: |-+ When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider+ to authenticate the subject and then tell Ory now about it. If the subject authenticated, he/she must now be asked if+ the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf.++ The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent+ provider uses that challenge to fetch information on the OAuth2 request and then tells Ory if the subject accepted+ or rejected the request.++ The default consent provider is available via the Ory Managed Account Experience. To customize the consent provider, please+ head over to the OAuth 2.0 documentation.+ operationId: getOAuth2ConsentRequest+ parameters:+ - description: OAuth 2.0 Consent Request Challenge+ explode: true+ in: query+ name: consent_challenge+ required: true+ schema:+ type: string+ style: form+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2ConsentRequest'+ description: oAuth2ConsentRequest+ "410":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Get OAuth 2.0 Consent Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/consent/accept:+ put:+ description: |-+ When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider+ to authenticate the subject and then tell Ory now about it. If the subject authenticated, he/she must now be asked if+ the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf.++ The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent+ provider uses that challenge to fetch information on the OAuth2 request and then tells Ory if the subject accepted+ or rejected the request.++ This endpoint tells Ory that the subject has authorized the OAuth 2.0 client to access resources on his/her behalf.+ The consent provider includes additional information, such as session data for access and ID tokens, and if the+ consent request should be used as basis for future requests.++ The response contains a redirect URL which the consent provider should redirect the user-agent to.++ The default consent provider is available via the Ory Managed Account Experience. To customize the consent provider, please+ head over to the OAuth 2.0 documentation.+ operationId: acceptOAuth2ConsentRequest+ parameters:+ - description: OAuth 2.0 Consent Request Challenge+ explode: true+ in: query+ name: consent_challenge+ required: true+ schema:+ type: string+ style: form+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/acceptOAuth2ConsentRequest'+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Accept OAuth 2.0 Consent Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/consent/reject:+ put:+ description: |-+ When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider+ to authenticate the subject and then tell Ory now about it. If the subject authenticated, he/she must now be asked if+ the OAuth 2.0 Client which initiated the flow should be allowed to access the resources on the subject's behalf.++ The consent challenge is appended to the consent provider's URL to which the subject's user-agent (browser) is redirected to. The consent+ provider uses that challenge to fetch information on the OAuth2 request and then tells Ory if the subject accepted+ or rejected the request.++ This endpoint tells Ory that the subject has not authorized the OAuth 2.0 client to access resources on his/her behalf.+ The consent provider must include a reason why the consent was not granted.++ The response contains a redirect URL which the consent provider should redirect the user-agent to.++ The default consent provider is available via the Ory Managed Account Experience. To customize the consent provider, please+ head over to the OAuth 2.0 documentation.+ operationId: rejectOAuth2ConsentRequest+ parameters:+ - description: OAuth 2.0 Consent Request Challenge+ explode: true+ in: query+ name: consent_challenge+ required: true+ schema:+ type: string+ style: form+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/rejectOAuth2Request'+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Reject OAuth 2.0 Consent Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/login:+ get:+ description: |-+ When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider+ to authenticate the subject and then tell the Ory OAuth2 Service about it.++ Per default, the login provider is Ory itself. You may use a different login provider which needs to be a web-app+ you write and host, and it must be able to authenticate ("show the subject a login screen")+ a subject (in OAuth2 the proper name for subject is "resource owner").++ The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login+ provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process.+ operationId: getOAuth2LoginRequest+ parameters:+ - description: OAuth 2.0 Login Request Challenge+ explode: true+ in: query+ name: login_challenge+ required: true+ schema:+ type: string+ style: form+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2LoginRequest'+ description: oAuth2LoginRequest+ "410":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Get OAuth 2.0 Login Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/login/accept:+ put:+ description: |-+ When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider+ to authenticate the subject and then tell the Ory OAuth2 Service about it.++ The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login+ provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process.++ This endpoint tells Ory that the subject has successfully authenticated and includes additional information such as+ the subject's ID and if Ory should remember the subject's subject agent for future authentication attempts by setting+ a cookie.++ The response contains a redirect URL which the login provider should redirect the user-agent to.+ operationId: acceptOAuth2LoginRequest+ parameters:+ - description: OAuth 2.0 Login Request Challenge+ explode: true+ in: query+ name: login_challenge+ required: true+ schema:+ type: string+ style: form+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/acceptOAuth2LoginRequest'+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Accept OAuth 2.0 Login Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/login/reject:+ put:+ description: |-+ When an authorization code, hybrid, or implicit OAuth 2.0 Flow is initiated, Ory asks the login provider+ to authenticate the subject and then tell the Ory OAuth2 Service about it.++ The authentication challenge is appended to the login provider URL to which the subject's user-agent (browser) is redirected to. The login+ provider uses that challenge to fetch information on the OAuth2 request and then accept or reject the requested authentication process.++ This endpoint tells Ory that the subject has not authenticated and includes a reason why the authentication+ was denied.++ The response contains a redirect URL which the login provider should redirect the user-agent to.+ operationId: rejectOAuth2LoginRequest+ parameters:+ - description: OAuth 2.0 Login Request Challenge+ explode: true+ in: query+ name: login_challenge+ required: true+ schema:+ type: string+ style: form+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/rejectOAuth2Request'+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Reject OAuth 2.0 Login Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/logout:+ get:+ description: Use this endpoint to fetch an Ory OAuth 2.0 logout request.+ operationId: getOAuth2LogoutRequest+ parameters:+ - explode: true+ in: query+ name: logout_challenge+ required: true+ schema:+ type: string+ style: form+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2LogoutRequest'+ description: oAuth2LogoutRequest+ "410":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Get OAuth 2.0 Session Logout Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/logout/accept:+ put:+ description: |-+ When a user or an application requests Ory OAuth 2.0 to remove the session state of a subject, this endpoint is used to confirm that logout request.++ The response contains a redirect URL which the consent provider should redirect the user-agent to.+ operationId: acceptOAuth2LogoutRequest+ parameters:+ - description: OAuth 2.0 Logout Request Challenge+ explode: true+ in: query+ name: logout_challenge+ required: true+ schema:+ type: string+ style: form+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2RedirectTo'+ description: oAuth2RedirectTo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Accept OAuth 2.0 Session Logout Request+ tags:+ - oAuth2+ /admin/oauth2/auth/requests/logout/reject:+ put:+ description: |-+ When a user or an application requests Ory OAuth 2.0 to remove the session state of a subject, this endpoint is used to deny that logout request.+ No HTTP request body is required.++ The response is empty as the logout provider has to chose what action to perform next.+ operationId: rejectOAuth2LogoutRequest+ parameters:+ - explode: true+ in: query+ name: logout_challenge+ required: true+ schema:+ type: string+ style: form+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Reject OAuth 2.0 Session Logout Request+ tags:+ - oAuth2+ /admin/oauth2/auth/sessions/consent:+ delete:+ description: |-+ This endpoint revokes a subject's granted consent sessions and invalidates all+ associated OAuth 2.0 Access Tokens. You may also only revoke sessions for a specific OAuth 2.0 Client ID.+ operationId: revokeOAuth2ConsentSessions+ parameters:+ - description: |-+ OAuth 2.0 Consent Subject++ The subject whose consent sessions should be deleted.+ explode: true+ in: query+ name: subject+ required: true+ schema:+ type: string+ style: form+ - description: |-+ OAuth 2.0 Client ID++ If set, deletes only those consent sessions that have been granted to the specified OAuth 2.0 Client ID.+ explode: true+ in: query+ name: client+ required: false+ schema:+ type: string+ style: form+ - description: |-+ Revoke All Consent Sessions++ If set to `true` deletes all consent sessions by the Subject that have been granted.+ explode: true+ in: query+ name: all+ required: false+ schema:+ type: boolean+ style: form+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Revoke OAuth 2.0 Consent Sessions of a Subject+ tags:+ - oAuth2+ get:+ description: |-+ This endpoint lists all subject's granted consent sessions, including client and granted scope.+ If the subject is unknown or has not granted any consent sessions yet, the endpoint returns an+ empty JSON array with status code 200 OK.+ operationId: listOAuth2ConsentSessions+ parameters:+ - description: |-+ Items per Page++ This is the number of items per page to return.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ explode: true+ in: query+ name: page_size+ required: false+ schema:+ default: 250+ format: int64+ maximum: 500+ minimum: 1+ type: integer+ style: form+ - description: |-+ Next Page Token++ The next page token.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ explode: true+ in: query+ name: page_token+ required: false+ schema:+ default: "1"+ minimum: 1+ type: string+ style: form+ - description: The subject to list the consent sessions for.+ explode: true+ in: query+ name: subject+ required: true+ schema:+ type: string+ style: form+ - description: The login session id to list the consent sessions for.+ explode: true+ in: query+ name: login_session_id+ required: false+ schema:+ type: string+ style: form+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2ConsentSessions'+ description: oAuth2ConsentSessions+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: List OAuth 2.0 Consent Sessions of a Subject+ tags:+ - oAuth2+ /admin/oauth2/auth/sessions/login:+ delete:+ description: |-+ This endpoint invalidates a subject's authentication session. After revoking the authentication session, the subject+ has to re-authenticate at the Ory OAuth2 Provider. This endpoint does not invalidate any tokens and+ does not work with OpenID Connect Front- or Back-channel logout.+ operationId: revokeOAuth2LoginSessions+ parameters:+ - description: |-+ OAuth 2.0 Subject++ The subject to revoke authentication sessions for.+ explode: true+ in: query+ name: subject+ required: true+ schema:+ type: string+ style: form+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Revokes All OAuth 2.0 Login Sessions of a Subject+ tags:+ - oAuth2+ /admin/oauth2/introspect:+ post:+ description: |-+ The introspection endpoint allows to check if a token (both refresh and access) is active or not. An active token+ is neither expired nor revoked. If a token is active, additional information on the token will be included. You can+ set additional data for a token by setting `session.access_token` during the consent flow.+ operationId: introspectOAuth2Token+ requestBody:+ content:+ application/x-www-form-urlencoded:+ schema:+ $ref: '#/components/schemas/introspectOAuth2Token_request'+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/introspectedOAuth2Token'+ description: introspectedOAuth2Token+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Introspect OAuth2 Access and Refresh Tokens+ tags:+ - oAuth2+ /admin/oauth2/tokens:+ delete:+ description: This endpoint deletes OAuth2 access tokens issued to an OAuth 2.0+ Client from the database.+ operationId: deleteOAuth2Token+ parameters:+ - description: OAuth 2.0 Client ID+ explode: true+ in: query+ name: client_id+ required: true+ schema:+ type: string+ style: form+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: Delete OAuth 2.0 Access Tokens from specific OAuth 2.0 Client+ tags:+ - oAuth2+ /admin/trust/grants/jwt-bearer/issuers:+ get:+ description: Use this endpoint to list all trusted JWT Bearer Grant Type Issuers.+ operationId: listTrustedOAuth2JwtGrantIssuers+ parameters:+ - explode: true+ in: query+ name: MaxItems+ required: false+ schema:+ format: int64+ type: integer+ style: form+ - explode: true+ in: query+ name: DefaultItems+ required: false+ schema:+ format: int64+ type: integer+ style: form+ - description: "If optional \"issuer\" is supplied, only jwt-bearer grants with\+ \ this issuer will be returned."+ explode: true+ in: query+ name: issuer+ required: false+ schema:+ type: string+ style: form+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/trustedOAuth2JwtGrantIssuers'+ description: trustedOAuth2JwtGrantIssuers+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ summary: List Trusted OAuth2 JWT Bearer Grant Type Issuers+ tags:+ - oAuth2+ post:+ description: |-+ Use this endpoint to establish a trust relationship for a JWT issuer+ to perform JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication+ and Authorization Grants [RFC7523](https://datatracker.ietf.org/doc/html/rfc7523).+ operationId: trustOAuth2JwtGrantIssuer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/trustOAuth2JwtGrantIssuer'+ x-originalParamName: Body+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/trustedOAuth2JwtGrantIssuer'+ description: trustedOAuth2JwtGrantIssuer+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ summary: Trust OAuth2 JWT Bearer Grant Type Issuer+ tags:+ - oAuth2+ /admin/trust/grants/jwt-bearer/issuers/{id}:+ delete:+ description: |-+ Use this endpoint to delete trusted JWT Bearer Grant Type Issuer. The ID is the one returned when you+ created the trust relationship.++ Once deleted, the associated issuer will no longer be able to perform the JSON Web Token (JWT) Profile+ for OAuth 2.0 Client Authentication and Authorization Grant.+ operationId: deleteTrustedOAuth2JwtGrantIssuer+ parameters:+ - description: The id of the desired grant+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ summary: Delete Trusted OAuth2 JWT Bearer Grant Type Issuer+ tags:+ - oAuth2+ get:+ description: |-+ Use this endpoint to get a trusted JWT Bearer Grant Type Issuer. The ID is the one returned when you+ created the trust relationship.+ operationId: getTrustedOAuth2JwtGrantIssuer+ parameters:+ - description: The id of the desired grant+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/trustedOAuth2JwtGrantIssuer'+ description: trustedOAuth2JwtGrantIssuer+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ summary: Get Trusted OAuth2 JWT Bearer Grant Type Issuer+ tags:+ - oAuth2+ /health/alive:+ get:+ description: |-+ This endpoint returns a HTTP 200 status code when Ory Hydra is accepting incoming+ HTTP requests. This status does currently not include checks whether the database connection is working.++ If the service supports TLS Edge Termination, this endpoint does not require the+ `X-Forwarded-Proto` header to be set.++ Be aware that if you are running multiple nodes of this service, the health status will never+ refer to the cluster state, only to a single instance.+ operationId: isAlive+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/healthStatus'+ description: Ory Hydra is ready to accept connections.+ "500":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ summary: Check HTTP Server Status+ tags:+ - metadata+ /health/ready:+ get:+ description: |-+ This endpoint returns a HTTP 200 status code when Ory Hydra is up running and the environment dependencies (e.g.+ the database) are responsive as well.++ If the service supports TLS Edge Termination, this endpoint does not require the+ `X-Forwarded-Proto` header to be set.++ Be aware that if you are running multiple nodes of Ory Hydra, the health status will never+ refer to the cluster state, only to a single instance.+ operationId: isReady+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/isReady_200_response'+ description: Ory Hydra is ready to accept requests.+ "503":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/isReady_503_response'+ description: Ory Kratos is not yet ready to accept requests.+ summary: Check HTTP Server and Database Status+ tags:+ - metadata+ /oauth2/auth:+ get:+ description: |-+ Use open source libraries to perform OAuth 2.0 and OpenID Connect+ available for any programming language. You can find a list of libraries at https://oauth.net/code/++ The Ory SDK is not yet able to this endpoint properly.+ operationId: oAuth2Authorize+ responses:+ "302":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ summary: OAuth 2.0 Authorize Endpoint+ tags:+ - oAuth2+ /oauth2/register:+ post:+ description: |-+ This endpoint behaves like the administrative counterpart (`createOAuth2Client`) but is capable of facing the+ public internet directly and can be used in self-service. It implements the OpenID Connect+ Dynamic Client Registration Protocol. This feature needs to be enabled in the configuration. This endpoint+ is disabled by default. It can be enabled by an administrator.++ Please note that using this endpoint you are not able to choose the `client_secret` nor the `client_id` as those+ values will be server generated when specifying `token_endpoint_auth_method` as `client_secret_basic` or+ `client_secret_post`.++ The `client_secret` will be returned in the response and you will not be able to retrieve it later on.+ Write the secret down and keep it somewhere safe.+ operationId: createOidcDynamicClient+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: Dynamic Client Registration Request Body+ required: true+ x-originalParamName: Body+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ "400":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Bad Request Error Response+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ summary: Register OAuth2 Client using OpenID Dynamic Client Registration+ tags:+ - oidc+ /oauth2/register/{id}:+ delete:+ description: |-+ This endpoint behaves like the administrative counterpart (`deleteOAuth2Client`) but is capable of facing the+ public internet directly and can be used in self-service. It implements the OpenID Connect+ Dynamic Client Registration Protocol. This feature needs to be enabled in the configuration. This endpoint+ is disabled by default. It can be enabled by an administrator.++ To use this endpoint, you will need to present the client's authentication credentials. If the OAuth2 Client+ uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query.+ If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header.++ OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are+ generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+ operationId: deleteOidcDynamicClient+ parameters:+ - description: The id of the OAuth 2.0 Client.+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ responses:+ "204":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/genericError'+ description: genericError+ security:+ - bearer: []+ summary: Delete OAuth 2.0 Client using the OpenID Dynamic Client Registration+ Management Protocol+ tags:+ - oidc+ get:+ description: |-+ This endpoint behaves like the administrative counterpart (`getOAuth2Client`) but is capable of facing the+ public internet directly and can be used in self-service. It implements the OpenID Connect+ Dynamic Client Registration Protocol.++ To use this endpoint, you will need to present the client's authentication credentials. If the OAuth2 Client+ uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query.+ If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header.+ operationId: getOidcDynamicClient+ parameters:+ - description: The id of the OAuth 2.0 Client.+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ security:+ - bearer: []+ summary: Get OAuth2 Client using OpenID Dynamic Client Registration+ tags:+ - oidc+ put:+ description: |-+ This endpoint behaves like the administrative counterpart (`setOAuth2Client`) but is capable of facing the+ public internet directly to be used by third parties. It implements the OpenID Connect+ Dynamic Client Registration Protocol.++ This feature is disabled per default. It can be enabled by a system administrator.++ If you pass `client_secret` the secret is used, otherwise the existing secret is used. If set, the secret is echoed in the response.+ It is not possible to retrieve it later on.++ To use this endpoint, you will need to present the client's authentication credentials. If the OAuth2 Client+ uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query.+ If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header.++ OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are+ generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+ operationId: setOidcDynamicClient+ parameters:+ - description: OAuth 2.0 Client ID+ explode: false+ in: path+ name: id+ required: true+ schema:+ type: string+ style: simple+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: OAuth 2.0 Client Request Body+ required: true+ x-originalParamName: Body+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2Client'+ description: oAuth2Client+ "404":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Not Found Error Response+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ security:+ - bearer: []+ summary: Set OAuth2 Client using OpenID Dynamic Client Registration+ tags:+ - oidc+ /oauth2/revoke:+ post:+ description: |-+ Revoking a token (both access and refresh) means that the tokens will be invalid. A revoked access token can no+ longer be used to make access requests, and a revoked refresh token can no longer be used to refresh an access token.+ Revoking a refresh token also invalidates the access token that was created with it. A token may only be revoked by+ the client the token was generated for.+ operationId: revokeOAuth2Token+ requestBody:+ content:+ application/x-www-form-urlencoded:+ schema:+ $ref: '#/components/schemas/revokeOAuth2Token_request'+ responses:+ "200":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ security:+ - basic: []+ - oauth2: []+ summary: Revoke OAuth 2.0 Access or Refresh Token+ tags:+ - oAuth2+ /oauth2/sessions/logout:+ get:+ description: |-+ This endpoint initiates and completes user logout at the Ory OAuth2 & OpenID provider and initiates OpenID Connect Front- / Back-channel logout:++ https://openid.net/specs/openid-connect-frontchannel-1_0.html+ https://openid.net/specs/openid-connect-backchannel-1_0.html++ Back-channel logout is performed asynchronously and does not affect logout flow.+ operationId: revokeOidcSession+ responses:+ "302":+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ summary: OpenID Connect Front- and Back-channel Enabled Logout+ tags:+ - oidc+ /oauth2/token:+ post:+ description: |-+ Use open source libraries to perform OAuth 2.0 and OpenID Connect+ available for any programming language. You can find a list of libraries here https://oauth.net/code/++ The Ory SDK is not yet able to this endpoint properly.+ operationId: oauth2TokenExchange+ requestBody:+ content:+ application/x-www-form-urlencoded:+ schema:+ $ref: '#/components/schemas/oauth2TokenExchange_request'+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oAuth2TokenExchange'+ description: oAuth2TokenExchange+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ security:+ - basic: []+ - oauth2: []+ summary: The OAuth 2.0 Token Endpoint+ tags:+ - oAuth2+ /userinfo:+ get:+ description: |-+ This endpoint returns the payload of the ID Token, including `session.id_token` values, of+ the provided OAuth 2.0 Access Token's consent request.++ In the case of authentication error, a WWW-Authenticate header might be set in the response+ with more information about the error. See [the spec](https://datatracker.ietf.org/doc/html/rfc6750#section-3)+ for more details about header format.+ operationId: getOidcUserInfo+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/oidcUserInfo'+ description: oidcUserInfo+ default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: errorOAuth2+ security:+ - oauth2: []+ summary: OpenID Connect Userinfo+ tags:+ - oidc+ /version:+ get:+ description: |-+ This endpoint returns the version of Ory Hydra.++ If the service supports TLS Edge Termination, this endpoint does not require the+ `X-Forwarded-Proto` header to be set.++ Be aware that if you are running multiple nodes of this service, the version will never+ refer to the cluster state, only to a single instance.+ operationId: getVersion+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/getVersion_200_response'+ description: Returns the Ory Hydra version.+ summary: Return Running Software Version.+ tags:+ - metadata+components:+ responses:+ emptyResponse:+ description: |-+ Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is+ typically 201.+ errorOAuth2BadRequest:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Bad Request Error Response+ errorOAuth2Default:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Default Error Response+ errorOAuth2NotFound:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/errorOAuth2'+ description: Not Found Error Response+ listOAuth2Clients:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/oAuth2Client'+ type: array+ description: Paginated OAuth2 Client List Response+ schemas:+ JSONRawMessage:+ title: "JSONRawMessage represents a json.RawMessage that works well with JSON,\+ \ SQL, and Swagger."+ NullBool:+ nullable: true+ type: boolean+ NullDuration:+ description: "Specify a time duration in milliseconds, seconds, minutes, hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ NullInt:+ nullable: true+ type: integer+ NullString:+ nullable: true+ type: string+ NullTime:+ format: date-time+ nullable: true+ type: string+ NullUUID:+ format: uuid4+ nullable: true+ type: string+ StringSliceJSONFormat:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ Time:+ format: date-time+ type: string+ UUID:+ format: uuid4+ type: string+ acceptOAuth2ConsentRequest:+ properties:+ grant_access_token_audience:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ grant_scope:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ handled_at:+ format: date-time+ title: NullTime implements sql.NullTime functionality.+ type: string+ remember:+ description: |-+ Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same+ client asks the same user for the same, or a subset of, scope.+ type: boolean+ remember_for:+ description: |-+ RememberFor sets how long the consent authorization should be remembered for in seconds. If set to `0`, the+ authorization will be remembered indefinitely.+ format: int64+ type: integer+ session:+ $ref: '#/components/schemas/acceptOAuth2ConsentRequestSession'+ title: The request payload used to accept a consent request.+ type: object+ acceptOAuth2ConsentRequestSession:+ example:+ access_token: ""+ id_token: ""+ properties:+ access_token:+ description: |-+ AccessToken sets session data for the access and refresh token, as well as any future tokens issued by the+ refresh grant. Keep in mind that this data will be available to anyone performing OAuth 2.0 Challenge Introspection.+ If only your services can perform OAuth 2.0 Challenge Introspection, this is usually fine. But if third parties+ can access that endpoint as well, sensitive data from the session might be exposed to them. Use with care!+ id_token:+ description: |-+ IDToken sets session data for the OpenID Connect ID token. Keep in mind that the session'id payloads are readable+ by anyone that has access to the ID Challenge. Use with care!+ title: Pass session data to a consent request.+ type: object+ acceptOAuth2LoginRequest:+ properties:+ acr:+ description: |-+ ACR sets the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it+ to express that, for example, a user authenticated using two factor authentication.+ type: string+ amr:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ context:+ title: "JSONRawMessage represents a json.RawMessage that works well with\+ \ JSON, SQL, and Swagger."+ force_subject_identifier:+ description: |-+ ForceSubjectIdentifier forces the "pairwise" user ID of the end-user that authenticated. The "pairwise" user ID refers to the+ (Pairwise Identifier Algorithm)[http://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg] of the OpenID+ Connect specification. It allows you to set an obfuscated subject ("user") identifier that is unique to the client.++ Please note that this changes the user ID on endpoint /userinfo and sub claim of the ID Token. It does not change the+ sub claim in the OAuth 2.0 Introspection.++ Per default, ORY Hydra handles this value with its own algorithm. In case you want to set this yourself+ you can use this field. Please note that setting this field has no effect if `pairwise` is not configured in+ ORY Hydra or the OAuth 2.0 Client does not expect a pairwise identifier (set via `subject_type` key in the client's+ configuration).++ Please also be aware that ORY Hydra is unable to properly compute this value during authentication. This implies+ that you have to compute this value on every authentication process (probably depending on the client ID or some+ other unique value).++ If you fail to compute the proper value, then authentication processes which have id_token_hint set might fail.+ type: string+ remember:+ description: |-+ Remember, if set to true, tells ORY Hydra to remember this user by telling the user agent (browser) to store+ a cookie with authentication data. If the same user performs another OAuth 2.0 Authorization Request, he/she+ will not be asked to log in again.+ type: boolean+ remember_for:+ description: |-+ RememberFor sets how long the authentication should be remembered for in seconds. If set to `0`, the+ authorization will be remembered for the duration of the browser session (using a session cookie).+ format: int64+ type: integer+ subject:+ description: Subject is the user ID of the end-user that authenticated.+ type: string+ required:+ - subject+ title: HandledLoginRequest is the request payload used to accept a login request.+ type: object+ createJsonWebKeySet:+ description: Create JSON Web Key Set Request Body+ properties:+ alg:+ description: |-+ JSON Web Key Algorithm++ The algorithm to be used for creating the key. Supports `RS256`, `ES256`, `ES512`, `HS512`, and `HS256`.+ type: string+ kid:+ description: |-+ JSON Web Key ID++ The Key ID of the key to be created.+ type: string+ use:+ description: |-+ JSON Web Key Use++ 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. Valid values are "enc" and "sig".+ type: string+ required:+ - alg+ - kid+ - use+ type: object+ errorOAuth2:+ description: Error+ example:+ error_debug: error_debug+ status_code: 401+ error_description: error_description+ error: error+ error_hint: The redirect URL is not allowed.+ properties:+ error:+ description: Error+ type: string+ error_debug:+ description: |-+ Error Debug Information++ Only available in dev mode.+ type: string+ error_description:+ description: Error Description+ type: string+ error_hint:+ description: |-+ Error Hint++ Helps the user identify the error cause.+ example: The redirect URL is not allowed.+ type: string+ status_code:+ description: HTTP Status Code+ example: 401+ format: int64+ type: integer+ type: object+ genericError:+ properties:+ code:+ description: The status code+ example: 404+ format: int64+ type: integer+ debug:+ description: |-+ Debug information++ This field is often not exposed to protect against leaking+ sensitive information.+ example: SQL field "foo" is not a bool.+ type: string+ details:+ description: Further error details+ id:+ description: |-+ The error ID++ Useful when trying to identify various errors in application logic.+ type: string+ message:+ description: |-+ Error message++ The error's message.+ example: The resource could not be found+ type: string+ reason:+ description: A human-readable reason for the error+ example: User with ID 1234 does not exist.+ type: string+ request:+ description: |-+ The request ID++ The request ID is often exposed internally in order to trace+ errors across service architectures. This is often a UUID.+ example: d7ef54b1-ec15-46e6-bccb-524b82c035e6+ type: string+ status:+ description: The status description+ example: Not Found+ type: string+ required:+ - message+ type: object+ healthNotReadyStatus:+ properties:+ errors:+ additionalProperties:+ type: string+ description: Errors contains a list of errors that caused the not ready+ status.+ type: object+ type: object+ healthStatus:+ example:+ status: status+ properties:+ status:+ description: Status always contains "ok".+ type: string+ type: object+ introspectedOAuth2Token:+ description: |-+ Introspection contains an access token's session data as specified by+ [IETF RFC 7662](https://tools.ietf.org/html/rfc7662)+ example:+ ext:+ key: ""+ sub: sub+ iss: iss+ active: true+ obfuscated_subject: obfuscated_subject+ token_type: token_type+ client_id: client_id+ aud:+ - aud+ - aud+ nbf: 1+ token_use: token_use+ scope: scope+ exp: 0+ iat: 6+ username: username+ properties:+ active:+ description: |-+ Active is a boolean indicator of whether or not the presented token+ is currently active. The specifics of a token's "active" state+ will vary depending on the implementation of the authorization+ server and the information it keeps about its tokens, but a "true"+ value return for the "active" property will generally indicate+ that a given token has been issued by this authorization server,+ has not been revoked by the resource owner, and is within its+ given time window of validity (e.g., after its issuance time and+ before its expiration time).+ type: boolean+ aud:+ description: Audience contains a list of the token's intended audiences.+ items:+ type: string+ type: array+ client_id:+ description: |-+ ID is aclient identifier for the OAuth 2.0 client that+ requested this token.+ type: string+ exp:+ description: |-+ Expires at is an integer timestamp, measured in the number of seconds+ since January 1 1970 UTC, indicating when this token will expire.+ format: int64+ type: integer+ ext:+ additionalProperties: {}+ description: Extra is arbitrary data set by the session.+ type: object+ iat:+ description: |-+ Issued at is an integer timestamp, measured in the number of seconds+ since January 1 1970 UTC, indicating when this token was+ originally issued.+ format: int64+ type: integer+ iss:+ description: IssuerURL is a string representing the issuer of this token+ type: string+ nbf:+ description: |-+ NotBefore is an integer timestamp, measured in the number of seconds+ since January 1 1970 UTC, indicating when this token is not to be+ used before.+ format: int64+ type: integer+ obfuscated_subject:+ description: |-+ ObfuscatedSubject is set when the subject identifier algorithm was set to "pairwise" during authorization.+ It is the `sub` value of the ID Token that was issued.+ type: string+ scope:+ description: |-+ Scope is a JSON string containing a space-separated list of+ scopes associated with this token.+ type: string+ sub:+ description: |-+ Subject of the token, as defined in JWT [RFC7519].+ Usually a machine-readable identifier of the resource owner who+ authorized this token.+ type: string+ token_type:+ description: "TokenType is the introspected token's type, typically `Bearer`."+ type: string+ token_use:+ description: "TokenUse is the introspected token's use, for example `access_token`\+ \ or `refresh_token`."+ type: string+ username:+ description: |-+ Username is a human-readable identifier for the resource owner who+ authorized this token.+ type: string+ required:+ - active+ type: object+ jsonPatch:+ description: A JSONPatch document as defined by RFC 6902+ properties:+ from:+ description: |-+ This field is used together with operation "move" and uses JSON Pointer notation.++ Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5).+ example: /name+ type: string+ op:+ description: "The operation to be performed. One of \"add\", \"remove\"\+ , \"replace\", \"move\", \"copy\", or \"test\"."+ example: replace+ type: string+ path:+ description: |-+ The path to the target path. Uses JSON pointer notation.++ Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5).+ example: /name+ type: string+ value:+ description: |-+ The value to be used within the operations.++ Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5).+ example: foobar+ required:+ - op+ - path+ type: object+ jsonPatchDocument:+ description: A JSONPatchDocument request+ items:+ $ref: '#/components/schemas/jsonPatch'+ type: array+ jsonWebKey:+ example:+ d: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE+ e: AQAB+ crv: P-256+ use: sig+ kid: 1603dfe0af8f4596+ x5c:+ - x5c+ - x5c+ k: GawgguFyGrWKav7AX4VKUg+ dp: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0+ dq: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk+ "n": vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0+ p: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ+ kty: RSA+ q: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ+ qi: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU+ x: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU+ "y": x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0+ alg: RS256+ properties:+ alg:+ description: |-+ 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.+ example: RS256+ type: string+ crv:+ example: P-256+ type: string+ d:+ example: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE+ type: string+ dp:+ example: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0+ type: string+ dq:+ example: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk+ type: string+ e:+ example: AQAB+ type: string+ k:+ example: GawgguFyGrWKav7AX4VKUg+ type: string+ kid:+ description: |-+ 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.+ example: 1603dfe0af8f4596+ type: string+ kty:+ description: |-+ 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.+ example: RSA+ type: string+ "n":+ example: vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0+ type: string+ p:+ example: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ+ type: string+ q:+ example: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ+ type: string+ qi:+ example: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU+ type: string+ use:+ description: |-+ Use ("public key use") 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).+ example: sig+ type: string+ x:+ example: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU+ type: string+ x5c:+ description: |-+ 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.+ items:+ type: string+ type: array+ "y":+ example: x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0+ type: string+ required:+ - alg+ - kid+ - kty+ - use+ type: object+ jsonWebKeySet:+ description: JSON Web Key Set+ example:+ keys:+ - d: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE+ e: AQAB+ crv: P-256+ use: sig+ kid: 1603dfe0af8f4596+ x5c:+ - x5c+ - x5c+ k: GawgguFyGrWKav7AX4VKUg+ dp: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0+ dq: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk+ "n": vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0+ p: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ+ kty: RSA+ q: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ+ qi: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU+ x: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU+ "y": x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0+ alg: RS256+ - d: T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpgNKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYVWFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE+ e: AQAB+ crv: P-256+ use: sig+ kid: 1603dfe0af8f4596+ x5c:+ - x5c+ - x5c+ k: GawgguFyGrWKav7AX4VKUg+ dp: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0+ dq: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk+ "n": vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4Jzruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJLBWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yFp_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUXt23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCFDMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0+ p: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmSeMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ+ kty: RSA+ q: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ+ qi: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU+ x: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU+ "y": x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0+ alg: RS256+ properties:+ keys:+ description: |-+ List of JSON Web Keys++ The value of the "keys" parameter is an array of JSON Web Key (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.+ items:+ $ref: '#/components/schemas/jsonWebKey'+ type: array+ type: object+ nullDuration:+ nullable: true+ pattern: "^[0-9]+(ns|us|ms|s|m|h)$"+ type: string+ nullInt64:+ nullable: true+ type: integer+ nullTime:+ format: date-time+ title: NullTime implements sql.NullTime functionality.+ type: string+ oAuth2Client:+ description: |-+ OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are+ generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.+ example:+ metadata: ""+ token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg+ client_uri: client_uri+ jwt_bearer_grant_access_token_lifespan: jwt_bearer_grant_access_token_lifespan+ jwks: ""+ logo_uri: logo_uri+ created_at: 2000-01-23T04:56:07.000+00:00+ registration_client_uri: registration_client_uri+ allowed_cors_origins:+ - allowed_cors_origins+ - allowed_cors_origins+ refresh_token_grant_access_token_lifespan: refresh_token_grant_access_token_lifespan+ registration_access_token: registration_access_token+ client_id: client_id+ token_endpoint_auth_method: token_endpoint_auth_method+ userinfo_signed_response_alg: userinfo_signed_response_alg+ authorization_code_grant_id_token_lifespan: authorization_code_grant_id_token_lifespan+ authorization_code_grant_refresh_token_lifespan: authorization_code_grant_refresh_token_lifespan+ client_credentials_grant_access_token_lifespan: client_credentials_grant_access_token_lifespan+ updated_at: 2000-01-23T04:56:07.000+00:00+ scope: scope1 scope-2 scope.3 scope:4+ request_uris:+ - request_uris+ - request_uris+ client_secret: client_secret+ backchannel_logout_session_required: true+ backchannel_logout_uri: backchannel_logout_uri+ client_name: client_name+ policy_uri: policy_uri+ owner: owner+ audience:+ - audience+ - audience+ authorization_code_grant_access_token_lifespan: authorization_code_grant_access_token_lifespan+ post_logout_redirect_uris:+ - post_logout_redirect_uris+ - post_logout_redirect_uris+ grant_types:+ - grant_types+ - grant_types+ subject_type: subject_type+ refresh_token_grant_refresh_token_lifespan: refresh_token_grant_refresh_token_lifespan+ redirect_uris:+ - redirect_uris+ - redirect_uris+ sector_identifier_uri: sector_identifier_uri+ frontchannel_logout_session_required: true+ frontchannel_logout_uri: frontchannel_logout_uri+ refresh_token_grant_id_token_lifespan: refresh_token_grant_id_token_lifespan+ implicit_grant_id_token_lifespan: implicit_grant_id_token_lifespan+ client_secret_expires_at: 0+ implicit_grant_access_token_lifespan: implicit_grant_access_token_lifespan+ jwks_uri: jwks_uri+ request_object_signing_alg: request_object_signing_alg+ tos_uri: tos_uri+ contacts:+ - contacts+ - contacts+ response_types:+ - response_types+ - response_types+ properties:+ allowed_cors_origins:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ audience:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ authorization_code_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ authorization_code_grant_id_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ authorization_code_grant_refresh_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ backchannel_logout_session_required:+ description: |-+ OpenID Connect Back-Channel Logout Session Required++ Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout+ Token to identify the RP session with the OP when the backchannel_logout_uri is used.+ If omitted, the default value is false.+ type: boolean+ backchannel_logout_uri:+ description: |-+ OpenID Connect Back-Channel Logout URI++ RP URL that will cause the RP to log itself out when sent a Logout Token by the OP.+ type: string+ client_credentials_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ client_id:+ description: |-+ OAuth 2.0 Client ID++ The ID is autogenerated and immutable.+ type: string+ client_name:+ description: |-+ OAuth 2.0 Client Name++ The human-readable name of the client to be presented to the+ end-user during authorization.+ type: string+ client_secret:+ description: |-+ OAuth 2.0 Client Secret++ The secret will be included in the create request as cleartext, and then+ never again. The secret is kept in hashed format and is not recoverable once lost.+ type: string+ client_secret_expires_at:+ description: |-+ OAuth 2.0 Client Secret Expires At++ The field is currently not supported and its value is always 0.+ format: int64+ type: integer+ client_uri:+ description: |-+ OAuth 2.0 Client URI++ ClientURI is a URL string of a web page providing information about the client.+ If present, the server SHOULD display this URL to the end-user in+ a clickable fashion.+ type: string+ contacts:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ created_at:+ description: |-+ OAuth 2.0 Client Creation Date++ CreatedAt returns the timestamp of the client's creation.+ format: date-time+ type: string+ frontchannel_logout_session_required:+ description: |-+ OpenID Connect Front-Channel Logout Session Required++ Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be+ included to identify the RP session with the OP when the frontchannel_logout_uri is used.+ If omitted, the default value is false.+ type: boolean+ frontchannel_logout_uri:+ description: |-+ OpenID Connect Front-Channel Logout URI++ RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query+ parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the+ request and to determine which of the potentially multiple sessions is to be logged out; if either is+ included, both MUST be.+ type: string+ grant_types:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ implicit_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ implicit_grant_id_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ jwks:+ description: |-+ OAuth 2.0 Client JSON Web Key Set++ Client's JSON Web Key Set [JWK] document, passed by value. The semantics of the jwks parameter are the same as+ the jwks_uri parameter, other than that the JWK Set is passed by value, rather than by reference. This parameter+ is intended only to be used by Clients that, for some reason, are unable to use the jwks_uri parameter, for+ instance, by native applications that might not have a location to host the contents of the JWK Set. If a Client+ can use jwks_uri, it MUST NOT use jwks. One significant downside of jwks is that it does not enable key rotation+ (which jwks_uri does, as described in Section 10 of OpenID Connect Core 1.0 [OpenID.Core]). The jwks_uri and jwks+ parameters MUST NOT be used together.+ jwks_uri:+ description: |-+ OAuth 2.0 Client JSON Web Key Set URL++ URL for the Client's JSON Web Key Set [JWK] document. If the Client signs requests to the Server, it contains+ the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the+ Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing+ and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced+ JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both+ signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used+ to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST+ match those in the certificate.+ type: string+ jwt_bearer_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ logo_uri:+ description: |-+ OAuth 2.0 Client Logo URI++ A URL string referencing the client's logo.+ type: string+ metadata:+ title: "JSONRawMessage represents a json.RawMessage that works well with\+ \ JSON, SQL, and Swagger."+ owner:+ description: |-+ OAuth 2.0 Client Owner++ Owner is a string identifying the owner of the OAuth 2.0 Client.+ type: string+ policy_uri:+ description: |-+ OAuth 2.0 Client Policy URI++ PolicyURI is a URL string that points to a human-readable privacy policy document+ that describes how the deployment organization collects, uses,+ retains, and discloses personal data.+ type: string+ post_logout_redirect_uris:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ redirect_uris:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ refresh_token_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ refresh_token_grant_id_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ refresh_token_grant_refresh_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ registration_access_token:+ description: |-+ OpenID Connect Dynamic Client Registration Access Token++ RegistrationAccessToken can be used to update, get, or delete the OAuth2 Client. It is sent when creating a client+ using Dynamic Client Registration.+ type: string+ registration_client_uri:+ description: |-+ OpenID Connect Dynamic Client Registration URL++ RegistrationClientURI is the URL used to update, get, or delete the OAuth2 Client.+ type: string+ request_object_signing_alg:+ description: |-+ OpenID Connect Request Object Signing Algorithm++ JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP. All Request Objects+ from this Client MUST be rejected, if not signed with this algorithm.+ type: string+ request_uris:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ response_types:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ scope:+ description: |-+ OAuth 2.0 Client Scope++ Scope is a string containing a space-separated list of scope values (as+ described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client+ can use when requesting access tokens.+ example: scope1 scope-2 scope.3 scope:4+ type: string+ sector_identifier_uri:+ description: |-+ OpenID Connect Sector Identifier URI++ URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a+ file with a single JSON array of redirect_uri values.+ type: string+ subject_type:+ description: |-+ OpenID Connect Subject Type++ The `subject_types_supported` Discovery parameter contains a+ list of the supported subject_type values for this server. Valid types include `pairwise` and `public`.+ type: string+ token_endpoint_auth_method:+ description: |-+ OAuth 2.0 Token Endpoint Authentication Method++ Requested Client Authentication method for the Token Endpoint. The options are:++ `client_secret_post`: (default) Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` in the HTTP body.+ `client_secret_basic`: Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` encoded in the HTTP Authorization header.+ `private_key_jwt`: Use JSON Web Tokens to authenticate the client.+ `none`: Used for public clients (native apps, mobile apps) which can not have secrets.+ type: string+ token_endpoint_auth_signing_alg:+ description: |-+ OAuth 2.0 Token Endpoint Signing Algorithm++ Requested Client Authentication signing algorithm for the Token Endpoint.+ type: string+ tos_uri:+ description: |-+ OAuth 2.0 Client Terms of Service URI++ A URL string pointing to a human-readable terms of service+ document for the client that describes a contractual relationship+ between the end-user and the client that the end-user accepts when+ authorizing the client.+ type: string+ updated_at:+ description: |-+ OAuth 2.0 Client Last Update Date++ UpdatedAt returns the timestamp of the last update.+ format: date-time+ type: string+ userinfo_signed_response_alg:+ description: |-+ OpenID Connect Request Userinfo Signed Response Algorithm++ JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT+ [JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims+ as a UTF-8 encoded JSON object using the application/json content-type.+ type: string+ title: OAuth 2.0 Client+ type: object+ oAuth2ClientTokenLifespans:+ description: Lifespans of different token types issued for this OAuth 2.0 Client.+ properties:+ authorization_code_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ authorization_code_grant_id_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ authorization_code_grant_refresh_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ client_credentials_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ implicit_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ implicit_grant_id_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ jwt_bearer_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ refresh_token_grant_access_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ refresh_token_grant_id_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ refresh_token_grant_refresh_token_lifespan:+ description: "Specify a time duration in milliseconds, seconds, minutes,\+ \ hours."+ pattern: "^([0-9]+(ns|us|ms|s|m|h))*$"+ title: Time duration+ type: string+ title: OAuth 2.0 Client Token Lifespans+ type: object+ oAuth2ConsentRequest:+ example:+ requested_access_token_audience:+ - requested_access_token_audience+ - requested_access_token_audience+ login_challenge: login_challenge+ subject: subject+ amr:+ - amr+ - amr+ oidc_context:+ login_hint: login_hint+ ui_locales:+ - ui_locales+ - ui_locales+ id_token_hint_claims:+ key: ""+ acr_values:+ - acr_values+ - acr_values+ display: display+ skip: true+ request_url: request_url+ acr: acr+ context: ""+ challenge: challenge+ client:+ metadata: ""+ token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg+ client_uri: client_uri+ jwt_bearer_grant_access_token_lifespan: jwt_bearer_grant_access_token_lifespan+ jwks: ""+ logo_uri: logo_uri+ created_at: 2000-01-23T04:56:07.000+00:00+ registration_client_uri: registration_client_uri+ allowed_cors_origins:+ - allowed_cors_origins+ - allowed_cors_origins+ refresh_token_grant_access_token_lifespan: refresh_token_grant_access_token_lifespan+ registration_access_token: registration_access_token+ client_id: client_id+ token_endpoint_auth_method: token_endpoint_auth_method+ userinfo_signed_response_alg: userinfo_signed_response_alg+ authorization_code_grant_id_token_lifespan: authorization_code_grant_id_token_lifespan+ authorization_code_grant_refresh_token_lifespan: authorization_code_grant_refresh_token_lifespan+ client_credentials_grant_access_token_lifespan: client_credentials_grant_access_token_lifespan+ updated_at: 2000-01-23T04:56:07.000+00:00+ scope: scope1 scope-2 scope.3 scope:4+ request_uris:+ - request_uris+ - request_uris+ client_secret: client_secret+ backchannel_logout_session_required: true+ backchannel_logout_uri: backchannel_logout_uri+ client_name: client_name+ policy_uri: policy_uri+ owner: owner+ audience:+ - audience+ - audience+ authorization_code_grant_access_token_lifespan: authorization_code_grant_access_token_lifespan+ post_logout_redirect_uris:+ - post_logout_redirect_uris+ - post_logout_redirect_uris+ grant_types:+ - grant_types+ - grant_types+ subject_type: subject_type+ refresh_token_grant_refresh_token_lifespan: refresh_token_grant_refresh_token_lifespan+ redirect_uris:+ - redirect_uris+ - redirect_uris+ sector_identifier_uri: sector_identifier_uri+ frontchannel_logout_session_required: true+ frontchannel_logout_uri: frontchannel_logout_uri+ refresh_token_grant_id_token_lifespan: refresh_token_grant_id_token_lifespan+ implicit_grant_id_token_lifespan: implicit_grant_id_token_lifespan+ client_secret_expires_at: 0+ implicit_grant_access_token_lifespan: implicit_grant_access_token_lifespan+ jwks_uri: jwks_uri+ request_object_signing_alg: request_object_signing_alg+ tos_uri: tos_uri+ contacts:+ - contacts+ - contacts+ response_types:+ - response_types+ - response_types+ login_session_id: login_session_id+ requested_scope:+ - requested_scope+ - requested_scope+ properties:+ acr:+ description: |-+ ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it+ to express that, for example, a user authenticated using two factor authentication.+ type: string+ amr:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ challenge:+ description: |-+ ID is the identifier ("authorization challenge") of the consent authorization request. It is used to+ identify the session.+ type: string+ client:+ $ref: '#/components/schemas/oAuth2Client'+ context:+ title: "JSONRawMessage represents a json.RawMessage that works well with\+ \ JSON, SQL, and Swagger."+ login_challenge:+ description: |-+ LoginChallenge is the login challenge this consent challenge belongs to. It can be used to associate+ a login and consent request in the login & consent app.+ type: string+ login_session_id:+ description: |-+ LoginSessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag)+ this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false)+ this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC Front-/Back-+ channel logout. It's value can generally be used to associate consecutive login requests by a certain user.+ type: string+ oidc_context:+ $ref: '#/components/schemas/oAuth2ConsentRequestOpenIDConnectContext'+ request_url:+ description: |-+ RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which+ initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but+ might come in handy if you want to deal with additional request parameters.+ type: string+ requested_access_token_audience:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ requested_scope:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ skip:+ description: |-+ Skip, if true, implies that the client has requested the same scopes from the same user previously.+ If true, you must not ask the user to grant the requested scopes. You must however either allow or deny the+ consent request using the usual API call.+ type: boolean+ subject:+ description: |-+ Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope+ requested by the OAuth 2.0 client.+ type: string+ required:+ - challenge+ title: Contains information on an ongoing consent request.+ type: object+ oAuth2ConsentRequestOpenIDConnectContext:+ example:+ login_hint: login_hint+ ui_locales:+ - ui_locales+ - ui_locales+ id_token_hint_claims:+ key: ""+ acr_values:+ - acr_values+ - acr_values+ display: display+ properties:+ acr_values:+ description: |-+ ACRValues is the Authentication AuthorizationContext Class Reference requested in the OAuth 2.0 Authorization request.+ It is a parameter defined by OpenID Connect and expresses which level of authentication (e.g. 2FA) is required.++ OpenID Connect defines it as follows:+ > Requested Authentication AuthorizationContext Class Reference values. Space-separated string that specifies the acr values+ that the Authorization Server is being requested to use for processing this Authentication Request, with the+ values appearing in order of preference. The Authentication AuthorizationContext Class satisfied by the authentication+ performed is returned as the acr Claim Value, as specified in Section 2. The acr Claim is requested as a+ Voluntary Claim by this parameter.+ items:+ type: string+ type: array+ display:+ description: |-+ Display is a string value that specifies how the Authorization Server displays the authentication and consent user interface pages to the End-User.+ The defined values are:+ page: The Authorization Server SHOULD display the authentication and consent UI consistent with a full User Agent page view. If the display parameter is not specified, this is the default display mode.+ popup: The Authorization Server SHOULD display the authentication and consent UI consistent with a popup User Agent window. The popup User Agent window should be of an appropriate size for a login-focused dialog and should not obscure the entire window that it is popping up over.+ touch: The Authorization Server SHOULD display the authentication and consent UI consistent with a device that leverages a touch interface.+ wap: The Authorization Server SHOULD display the authentication and consent UI consistent with a "feature phone" type display.++ The Authorization Server MAY also attempt to detect the capabilities of the User Agent and present an appropriate display.+ type: string+ id_token_hint_claims:+ additionalProperties: {}+ description: |-+ IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a hint about the+ End-User's current or past authenticated session with the Client.+ type: object+ login_hint:+ description: |-+ LoginHint hints about the login identifier the End-User might use to log in (if necessary).+ This hint can be used by an RP if it first asks the End-User for their e-mail address (or other identifier)+ and then wants to pass that value as a hint to the discovered authorization service. This value MAY also be a+ phone number in the format specified for the phone_number Claim. The use of this parameter is optional.+ type: string+ ui_locales:+ description: |-+ UILocales is the End-User'id preferred languages and scripts for the user interface, represented as a+ space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For instance, the value+ "fr-CA fr en" represents a preference for French as spoken in Canada, then French (without a region designation),+ followed by English (without a region designation). An error SHOULD NOT result if some or all of the requested+ locales are not supported by the OpenID Provider.+ items:+ type: string+ type: array+ title: Contains optional information about the OpenID Connect request.+ type: object+ oAuth2ConsentSession:+ description: A completed OAuth 2.0 Consent Session.+ example:+ remember: true+ consent_request:+ requested_access_token_audience:+ - requested_access_token_audience+ - requested_access_token_audience+ login_challenge: login_challenge+ subject: subject+ amr:+ - amr+ - amr+ oidc_context:+ login_hint: login_hint+ ui_locales:+ - ui_locales+ - ui_locales+ id_token_hint_claims:+ key: ""+ acr_values:+ - acr_values+ - acr_values+ display: display+ skip: true+ request_url: request_url+ acr: acr+ context: ""+ challenge: challenge+ client:+ metadata: ""+ token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg+ client_uri: client_uri+ jwt_bearer_grant_access_token_lifespan: jwt_bearer_grant_access_token_lifespan+ jwks: ""+ logo_uri: logo_uri+ created_at: 2000-01-23T04:56:07.000+00:00+ registration_client_uri: registration_client_uri+ allowed_cors_origins:+ - allowed_cors_origins+ - allowed_cors_origins+ refresh_token_grant_access_token_lifespan: refresh_token_grant_access_token_lifespan+ registration_access_token: registration_access_token+ client_id: client_id+ token_endpoint_auth_method: token_endpoint_auth_method+ userinfo_signed_response_alg: userinfo_signed_response_alg+ authorization_code_grant_id_token_lifespan: authorization_code_grant_id_token_lifespan+ authorization_code_grant_refresh_token_lifespan: authorization_code_grant_refresh_token_lifespan+ client_credentials_grant_access_token_lifespan: client_credentials_grant_access_token_lifespan+ updated_at: 2000-01-23T04:56:07.000+00:00+ scope: scope1 scope-2 scope.3 scope:4+ request_uris:+ - request_uris+ - request_uris+ client_secret: client_secret+ backchannel_logout_session_required: true+ backchannel_logout_uri: backchannel_logout_uri+ client_name: client_name+ policy_uri: policy_uri+ owner: owner+ audience:+ - audience+ - audience+ authorization_code_grant_access_token_lifespan: authorization_code_grant_access_token_lifespan+ post_logout_redirect_uris:+ - post_logout_redirect_uris+ - post_logout_redirect_uris+ grant_types:+ - grant_types+ - grant_types+ subject_type: subject_type+ refresh_token_grant_refresh_token_lifespan: refresh_token_grant_refresh_token_lifespan+ redirect_uris:+ - redirect_uris+ - redirect_uris+ sector_identifier_uri: sector_identifier_uri+ frontchannel_logout_session_required: true+ frontchannel_logout_uri: frontchannel_logout_uri+ refresh_token_grant_id_token_lifespan: refresh_token_grant_id_token_lifespan+ implicit_grant_id_token_lifespan: implicit_grant_id_token_lifespan+ client_secret_expires_at: 0+ implicit_grant_access_token_lifespan: implicit_grant_access_token_lifespan+ jwks_uri: jwks_uri+ request_object_signing_alg: request_object_signing_alg+ tos_uri: tos_uri+ contacts:+ - contacts+ - contacts+ response_types:+ - response_types+ - response_types+ login_session_id: login_session_id+ requested_scope:+ - requested_scope+ - requested_scope+ expires_at:+ access_token: 2000-01-23T04:56:07.000+00:00+ refresh_token: 2000-01-23T04:56:07.000+00:00+ par_context: 2000-01-23T04:56:07.000+00:00+ id_token: 2000-01-23T04:56:07.000+00:00+ authorize_code: 2000-01-23T04:56:07.000+00:00+ session:+ access_token: ""+ id_token: ""+ grant_access_token_audience:+ - grant_access_token_audience+ - grant_access_token_audience+ handled_at: 2000-01-23T04:56:07.000+00:00+ grant_scope:+ - grant_scope+ - grant_scope+ remember_for: 0+ properties:+ consent_request:+ $ref: '#/components/schemas/oAuth2ConsentRequest'+ expires_at:+ $ref: '#/components/schemas/oAuth2ConsentSession_expires_at'+ grant_access_token_audience:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ grant_scope:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ handled_at:+ format: date-time+ title: NullTime implements sql.NullTime functionality.+ type: string+ remember:+ description: |-+ Remember Consent++ Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same+ client asks the same user for the same, or a subset of, scope.+ type: boolean+ remember_for:+ description: |-+ Remember Consent For++ RememberFor sets how long the consent authorization should be remembered for in seconds. If set to `0`, the+ authorization will be remembered indefinitely.+ format: int64+ type: integer+ session:+ $ref: '#/components/schemas/acceptOAuth2ConsentRequestSession'+ title: OAuth 2.0 Consent Session+ type: object+ oAuth2ConsentSessions:+ description: List of OAuth 2.0 Consent Sessions+ items:+ $ref: '#/components/schemas/oAuth2ConsentSession'+ type: array+ oAuth2LoginRequest:+ example:+ requested_access_token_audience:+ - requested_access_token_audience+ - requested_access_token_audience+ subject: subject+ oidc_context:+ login_hint: login_hint+ ui_locales:+ - ui_locales+ - ui_locales+ id_token_hint_claims:+ key: ""+ acr_values:+ - acr_values+ - acr_values+ display: display+ challenge: challenge+ client:+ metadata: ""+ token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg+ client_uri: client_uri+ jwt_bearer_grant_access_token_lifespan: jwt_bearer_grant_access_token_lifespan+ jwks: ""+ logo_uri: logo_uri+ created_at: 2000-01-23T04:56:07.000+00:00+ registration_client_uri: registration_client_uri+ allowed_cors_origins:+ - allowed_cors_origins+ - allowed_cors_origins+ refresh_token_grant_access_token_lifespan: refresh_token_grant_access_token_lifespan+ registration_access_token: registration_access_token+ client_id: client_id+ token_endpoint_auth_method: token_endpoint_auth_method+ userinfo_signed_response_alg: userinfo_signed_response_alg+ authorization_code_grant_id_token_lifespan: authorization_code_grant_id_token_lifespan+ authorization_code_grant_refresh_token_lifespan: authorization_code_grant_refresh_token_lifespan+ client_credentials_grant_access_token_lifespan: client_credentials_grant_access_token_lifespan+ updated_at: 2000-01-23T04:56:07.000+00:00+ scope: scope1 scope-2 scope.3 scope:4+ request_uris:+ - request_uris+ - request_uris+ client_secret: client_secret+ backchannel_logout_session_required: true+ backchannel_logout_uri: backchannel_logout_uri+ client_name: client_name+ policy_uri: policy_uri+ owner: owner+ audience:+ - audience+ - audience+ authorization_code_grant_access_token_lifespan: authorization_code_grant_access_token_lifespan+ post_logout_redirect_uris:+ - post_logout_redirect_uris+ - post_logout_redirect_uris+ grant_types:+ - grant_types+ - grant_types+ subject_type: subject_type+ refresh_token_grant_refresh_token_lifespan: refresh_token_grant_refresh_token_lifespan+ redirect_uris:+ - redirect_uris+ - redirect_uris+ sector_identifier_uri: sector_identifier_uri+ frontchannel_logout_session_required: true+ frontchannel_logout_uri: frontchannel_logout_uri+ refresh_token_grant_id_token_lifespan: refresh_token_grant_id_token_lifespan+ implicit_grant_id_token_lifespan: implicit_grant_id_token_lifespan+ client_secret_expires_at: 0+ implicit_grant_access_token_lifespan: implicit_grant_access_token_lifespan+ jwks_uri: jwks_uri+ request_object_signing_alg: request_object_signing_alg+ tos_uri: tos_uri+ contacts:+ - contacts+ - contacts+ response_types:+ - response_types+ - response_types+ session_id: session_id+ skip: true+ request_url: request_url+ requested_scope:+ - requested_scope+ - requested_scope+ properties:+ challenge:+ description: |-+ ID is the identifier ("login challenge") of the login request. It is used to+ identify the session.+ type: string+ client:+ $ref: '#/components/schemas/oAuth2Client'+ oidc_context:+ $ref: '#/components/schemas/oAuth2ConsentRequestOpenIDConnectContext'+ request_url:+ description: |-+ RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which+ initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but+ might come in handy if you want to deal with additional request parameters.+ type: string+ requested_access_token_audience:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ requested_scope:+ items:+ type: string+ title: "StringSliceJSONFormat represents []string{} which is encoded to/from\+ \ JSON for SQL storage."+ type: array+ session_id:+ description: |-+ SessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag)+ this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false)+ this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC Front-/Back-+ channel logout. It's value can generally be used to associate consecutive login requests by a certain user.+ type: string+ skip:+ description: |-+ Skip, if true, implies that the client has requested the same scopes from the same user previously.+ If true, you can skip asking the user to grant the requested scopes, and simply forward the user to the redirect URL.++ This feature allows you to update / set session information.+ type: boolean+ subject:+ description: |-+ Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope+ requested by the OAuth 2.0 client. If this value is set and `skip` is true, you MUST include this subject type+ when accepting the login request, or the request will fail.+ type: string+ required:+ - challenge+ - client+ - request_url+ - requested_access_token_audience+ - requested_scope+ - skip+ - subject+ title: Contains information on an ongoing login request.+ type: object+ oAuth2LogoutRequest:+ example:+ subject: subject+ challenge: challenge+ client:+ metadata: ""+ token_endpoint_auth_signing_alg: token_endpoint_auth_signing_alg+ client_uri: client_uri+ jwt_bearer_grant_access_token_lifespan: jwt_bearer_grant_access_token_lifespan+ jwks: ""+ logo_uri: logo_uri+ created_at: 2000-01-23T04:56:07.000+00:00+ registration_client_uri: registration_client_uri+ allowed_cors_origins:+ - allowed_cors_origins+ - allowed_cors_origins+ refresh_token_grant_access_token_lifespan: refresh_token_grant_access_token_lifespan+ registration_access_token: registration_access_token+ client_id: client_id+ token_endpoint_auth_method: token_endpoint_auth_method+ userinfo_signed_response_alg: userinfo_signed_response_alg+ authorization_code_grant_id_token_lifespan: authorization_code_grant_id_token_lifespan+ authorization_code_grant_refresh_token_lifespan: authorization_code_grant_refresh_token_lifespan+ client_credentials_grant_access_token_lifespan: client_credentials_grant_access_token_lifespan+ updated_at: 2000-01-23T04:56:07.000+00:00+ scope: scope1 scope-2 scope.3 scope:4+ request_uris:+ - request_uris+ - request_uris+ client_secret: client_secret+ backchannel_logout_session_required: true+ backchannel_logout_uri: backchannel_logout_uri+ client_name: client_name+ policy_uri: policy_uri+ owner: owner+ audience:+ - audience+ - audience+ authorization_code_grant_access_token_lifespan: authorization_code_grant_access_token_lifespan+ post_logout_redirect_uris:+ - post_logout_redirect_uris+ - post_logout_redirect_uris+ grant_types:+ - grant_types+ - grant_types+ subject_type: subject_type+ refresh_token_grant_refresh_token_lifespan: refresh_token_grant_refresh_token_lifespan+ redirect_uris:+ - redirect_uris+ - redirect_uris+ sector_identifier_uri: sector_identifier_uri+ frontchannel_logout_session_required: true+ frontchannel_logout_uri: frontchannel_logout_uri+ refresh_token_grant_id_token_lifespan: refresh_token_grant_id_token_lifespan+ implicit_grant_id_token_lifespan: implicit_grant_id_token_lifespan+ client_secret_expires_at: 0+ implicit_grant_access_token_lifespan: implicit_grant_access_token_lifespan+ jwks_uri: jwks_uri+ request_object_signing_alg: request_object_signing_alg+ tos_uri: tos_uri+ contacts:+ - contacts+ - contacts+ response_types:+ - response_types+ - response_types+ rp_initiated: true+ request_url: request_url+ sid: sid+ properties:+ challenge:+ description: |-+ Challenge is the identifier ("logout challenge") of the logout authentication request. It is used to+ identify the session.+ type: string+ client:+ $ref: '#/components/schemas/oAuth2Client'+ request_url:+ description: RequestURL is the original Logout URL requested.+ type: string+ rp_initiated:+ description: "RPInitiated is set to true if the request was initiated by\+ \ a Relying Party (RP), also known as an OAuth 2.0 Client."+ type: boolean+ sid:+ description: SessionID is the login session ID that was requested to log+ out.+ type: string+ subject:+ description: Subject is the user for whom the logout was request.+ type: string+ title: Contains information about an ongoing logout request.+ type: object+ oAuth2RedirectTo:+ description: "Contains a redirect URL used to complete a login, consent, or\+ \ logout request."+ example:+ redirect_to: redirect_to+ properties:+ redirect_to:+ description: RedirectURL is the URL which you should redirect the user's+ browser to once the authentication process is completed.+ type: string+ required:+ - redirect_to+ title: OAuth 2.0 Redirect Browser To+ type: object+ oAuth2TokenExchange:+ description: OAuth2 Token Exchange Result+ example:+ access_token: access_token+ refresh_token: refresh_token+ scope: scope+ id_token: 6+ token_type: token_type+ expires_in: 0+ properties:+ access_token:+ description: The access token issued by the authorization server.+ type: string+ expires_in:+ description: |-+ The lifetime in seconds of the access token. For+ example, the value "3600" denotes that the access token will+ expire in one hour from the time the response was generated.+ format: int64+ type: integer+ id_token:+ description: To retrieve a refresh token request the id_token scope.+ format: int64+ type: integer+ refresh_token:+ description: |-+ The refresh token, which can be used to obtain new+ access tokens. To retrieve it add the scope "offline" to your access token request.+ type: string+ scope:+ description: The scope of the access token+ type: string+ token_type:+ description: The type of the token issued+ type: string+ type: object+ oidcConfiguration:+ description: |-+ Includes links to several endpoints (for example `/oauth2/token`) and exposes information on supported signature algorithms+ among others.+ example:+ request_parameter_supported: true+ claims_parameter_supported: true+ backchannel_logout_supported: true+ scopes_supported:+ - scopes_supported+ - scopes_supported+ issuer: https://playground.ory.sh/ory-hydra/public/+ userinfo_signed_response_alg:+ - userinfo_signed_response_alg+ - userinfo_signed_response_alg+ authorization_endpoint: https://playground.ory.sh/ory-hydra/public/oauth2/auth+ claims_supported:+ - claims_supported+ - claims_supported+ userinfo_signing_alg_values_supported:+ - userinfo_signing_alg_values_supported+ - userinfo_signing_alg_values_supported+ token_endpoint_auth_methods_supported:+ - token_endpoint_auth_methods_supported+ - token_endpoint_auth_methods_supported+ backchannel_logout_session_supported: true+ response_modes_supported:+ - response_modes_supported+ - response_modes_supported+ id_token_signed_response_alg:+ - id_token_signed_response_alg+ - id_token_signed_response_alg+ token_endpoint: https://playground.ory.sh/ory-hydra/public/oauth2/token+ response_types_supported:+ - response_types_supported+ - response_types_supported+ request_uri_parameter_supported: true+ grant_types_supported:+ - grant_types_supported+ - grant_types_supported+ end_session_endpoint: end_session_endpoint+ revocation_endpoint: revocation_endpoint+ userinfo_endpoint: userinfo_endpoint+ frontchannel_logout_supported: true+ require_request_uri_registration: true+ code_challenge_methods_supported:+ - code_challenge_methods_supported+ - code_challenge_methods_supported+ frontchannel_logout_session_supported: true+ jwks_uri: "https://{slug}.projects.oryapis.com/.well-known/jwks.json"+ subject_types_supported:+ - subject_types_supported+ - subject_types_supported+ id_token_signing_alg_values_supported:+ - id_token_signing_alg_values_supported+ - id_token_signing_alg_values_supported+ registration_endpoint: https://playground.ory.sh/ory-hydra/admin/client+ request_object_signing_alg_values_supported:+ - request_object_signing_alg_values_supported+ - request_object_signing_alg_values_supported+ properties:+ authorization_endpoint:+ description: OAuth 2.0 Authorization Endpoint URL+ example: https://playground.ory.sh/ory-hydra/public/oauth2/auth+ type: string+ backchannel_logout_session_supported:+ description: |-+ OpenID Connect Back-Channel Logout Session Required++ Boolean value specifying whether the OP can pass a sid (session ID) Claim in the Logout Token to identify the RP+ session with the OP. If supported, the sid Claim is also included in ID Tokens issued by the OP+ type: boolean+ backchannel_logout_supported:+ description: |-+ OpenID Connect Back-Channel Logout Supported++ Boolean value specifying whether the OP supports back-channel logout, with true indicating support.+ type: boolean+ claims_parameter_supported:+ description: |-+ OpenID Connect Claims Parameter Parameter Supported++ Boolean value specifying whether the OP supports use of the claims parameter, with true indicating support.+ type: boolean+ claims_supported:+ description: |-+ OpenID Connect Supported Claims++ JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply+ values for. Note that for privacy or other reasons, this might not be an exhaustive list.+ items:+ type: string+ type: array+ code_challenge_methods_supported:+ description: |-+ OAuth 2.0 PKCE Supported Code Challenge Methods++ JSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported+ by this authorization server.+ items:+ type: string+ type: array+ end_session_endpoint:+ description: |-+ OpenID Connect End-Session Endpoint++ URL at the OP to which an RP can perform a redirect to request that the End-User be logged out at the OP.+ type: string+ frontchannel_logout_session_supported:+ description: |-+ OpenID Connect Front-Channel Logout Session Required++ Boolean value specifying whether the OP can pass iss (issuer) and sid (session ID) query parameters to identify+ the RP session with the OP when the frontchannel_logout_uri is used. If supported, the sid Claim is also+ included in ID Tokens issued by the OP.+ type: boolean+ frontchannel_logout_supported:+ description: |-+ OpenID Connect Front-Channel Logout Supported++ Boolean value specifying whether the OP supports HTTP-based logout, with true indicating support.+ type: boolean+ grant_types_supported:+ description: |-+ OAuth 2.0 Supported Grant Types++ JSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports.+ items:+ type: string+ type: array+ id_token_signed_response_alg:+ description: |-+ OpenID Connect Default ID Token Signing Algorithms++ Algorithm used to sign OpenID Connect ID Tokens.+ items:+ type: string+ type: array+ id_token_signing_alg_values_supported:+ description: |-+ OpenID Connect Supported ID Token Signing Algorithms++ JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token+ to encode the Claims in a JWT.+ items:+ type: string+ type: array+ issuer:+ description: |-+ OpenID Connect Issuer URL++ An URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL Identifier.+ If IssuerURL discovery is supported , this value MUST be identical to the issuer value returned+ by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL.+ example: https://playground.ory.sh/ory-hydra/public/+ type: string+ jwks_uri:+ description: |-+ OpenID Connect Well-Known JSON Web Keys URL++ URL of the OP's JSON Web Key Set [JWK] document. This contains the signing key(s) the RP uses to validate+ signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs+ to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use)+ parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage.+ Although some algorithms allow the same key to be used for both signatures and encryption, doing so is+ NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of+ keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.+ example: "https://{slug}.projects.oryapis.com/.well-known/jwks.json"+ type: string+ registration_endpoint:+ description: OpenID Connect Dynamic Client Registration Endpoint URL+ example: https://playground.ory.sh/ory-hydra/admin/client+ type: string+ request_object_signing_alg_values_supported:+ description: |-+ OpenID Connect Supported Request Object Signing Algorithms++ JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects,+ which are described in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. These algorithms are used both when+ the Request Object is passed by value (using the request parameter) and when it is passed by reference+ (using the request_uri parameter).+ items:+ type: string+ type: array+ request_parameter_supported:+ description: |-+ OpenID Connect Request Parameter Supported++ Boolean value specifying whether the OP supports use of the request parameter, with true indicating support.+ type: boolean+ request_uri_parameter_supported:+ description: |-+ OpenID Connect Request URI Parameter Supported++ Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support.+ type: boolean+ require_request_uri_registration:+ description: |-+ OpenID Connect Requires Request URI Registration++ Boolean value specifying whether the OP requires any request_uri values used to be pre-registered+ using the request_uris registration parameter.+ type: boolean+ response_modes_supported:+ description: |-+ OAuth 2.0 Supported Response Modes++ JSON array containing a list of the OAuth 2.0 response_mode values that this OP supports.+ items:+ type: string+ type: array+ response_types_supported:+ description: |-+ OAuth 2.0 Supported Response Types++ JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID+ Providers MUST support the code, id_token, and the token id_token Response Type values.+ items:+ type: string+ type: array+ revocation_endpoint:+ description: |-+ OAuth 2.0 Token Revocation URL++ URL of the authorization server's OAuth 2.0 revocation endpoint.+ type: string+ scopes_supported:+ description: |-+ OAuth 2.0 Supported Scope Values++ JSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server supports. The server MUST+ support the openid scope value. Servers MAY choose not to advertise some supported scope values even when this parameter is used+ items:+ type: string+ type: array+ subject_types_supported:+ description: |-+ OpenID Connect Supported Subject Types++ JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include+ pairwise and public.+ items:+ type: string+ type: array+ token_endpoint:+ description: OAuth 2.0 Token Endpoint URL+ example: https://playground.ory.sh/ory-hydra/public/oauth2/token+ type: string+ token_endpoint_auth_methods_supported:+ description: |-+ OAuth 2.0 Supported Client Authentication Methods++ JSON array containing a list of Client Authentication methods supported by this Token Endpoint. The options are+ client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, as described in Section 9 of OpenID Connect Core 1.0+ items:+ type: string+ type: array+ userinfo_endpoint:+ description: |-+ OpenID Connect Userinfo URL++ URL of the OP's UserInfo Endpoint.+ type: string+ userinfo_signed_response_alg:+ description: |-+ OpenID Connect User Userinfo Signing Algorithm++ Algorithm used to sign OpenID Connect Userinfo Responses.+ items:+ type: string+ type: array+ userinfo_signing_alg_values_supported:+ description: |-+ OpenID Connect Supported Userinfo Signing Algorithm++ JSON array containing a list of the JWS [JWS] signing algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT].+ items:+ type: string+ type: array+ required:+ - authorization_endpoint+ - id_token_signed_response_alg+ - id_token_signing_alg_values_supported+ - issuer+ - jwks_uri+ - response_types_supported+ - subject_types_supported+ - token_endpoint+ - userinfo_signed_response_alg+ title: OpenID Connect Discovery Metadata+ type: object+ oidcUserInfo:+ description: OpenID Connect Userinfo+ example:+ sub: sub+ website: website+ zoneinfo: zoneinfo+ birthdate: birthdate+ email_verified: true+ gender: gender+ profile: profile+ phone_number_verified: true+ preferred_username: preferred_username+ given_name: given_name+ locale: locale+ middle_name: middle_name+ picture: picture+ updated_at: 0+ name: name+ nickname: nickname+ phone_number: phone_number+ family_name: family_name+ email: email+ properties:+ birthdate:+ description: "End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑\+ 2004] YYYY-MM-DD format. The year MAY be 0000, indicating that it is omitted.\+ \ To represent only the year, YYYY format is allowed. Note that depending\+ \ on the underlying platform's date related function, providing just year\+ \ can result in varying month and day, so the implementers need to take\+ \ this factor into account to correctly process the dates."+ type: string+ email:+ description: "End-User's preferred e-mail address. Its value MUST conform\+ \ to the RFC 5322 [RFC5322] addr-spec syntax. The RP MUST NOT rely upon\+ \ this value being unique, as discussed in Section 5.7."+ type: string+ email_verified:+ description: "True if the End-User's e-mail address has been verified; otherwise\+ \ false. When this Claim Value is true, this means that the OP took affirmative\+ \ steps to ensure that this e-mail address was controlled by the End-User\+ \ at the time the verification was performed. The means by which an e-mail\+ \ address is verified is context-specific, and dependent upon the trust\+ \ framework or contractual agreements within which the parties are operating."+ type: boolean+ family_name:+ description: "Surname(s) or last name(s) of the End-User. Note that in some\+ \ cultures, people can have multiple family names or no family name; all\+ \ can be present, with the names being separated by space characters."+ type: string+ gender:+ description: End-User's gender. Values defined by this specification are+ female and male. Other values MAY be used when neither of the defined+ values are applicable.+ type: string+ given_name:+ description: "Given name(s) or first name(s) of the End-User. Note that\+ \ in some cultures, people can have multiple given names; all can be present,\+ \ with the names being separated by space characters."+ type: string+ locale:+ description: "End-User's locale, represented as a BCP47 [RFC5646] language\+ \ tag. This is typically an ISO 639-1 Alpha-2 [ISO639‑1] language code\+ \ in lowercase and an ISO 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase,\+ \ separated by a dash. For example, en-US or fr-CA. As a compatibility\+ \ note, some implementations have used an underscore as the separator\+ \ rather than a dash, for example, en_US; Relying Parties MAY choose to\+ \ accept this locale syntax as well."+ type: string+ middle_name:+ description: "Middle name(s) of the End-User. Note that in some cultures,\+ \ people can have multiple middle names; all can be present, with the\+ \ names being separated by space characters. Also note that in some cultures,\+ \ middle names are not used."+ type: string+ name:+ description: "End-User's full name in displayable form including all name\+ \ parts, possibly including titles and suffixes, ordered according to\+ \ the End-User's locale and preferences."+ type: string+ nickname:+ description: "Casual name of the End-User that may or may not be the same\+ \ as the given_name. For instance, a nickname value of Mike might be returned\+ \ alongside a given_name value of Michael."+ type: string+ phone_number:+ description: "End-User's preferred telephone number. E.164 [E.164] is RECOMMENDED\+ \ as the format of this Claim, for example, +1 (425) 555-1212 or +56 (2)\+ \ 687 2400. If the phone number contains an extension, it is RECOMMENDED\+ \ that the extension be represented using the RFC 3966 [RFC3966] extension\+ \ syntax, for example, +1 (604) 555-1234;ext=5678."+ type: string+ phone_number_verified:+ description: "True if the End-User's phone number has been verified; otherwise\+ \ false. When this Claim Value is true, this means that the OP took affirmative\+ \ steps to ensure that this phone number was controlled by the End-User\+ \ at the time the verification was performed. The means by which a phone\+ \ number is verified is context-specific, and dependent upon the trust\+ \ framework or contractual agreements within which the parties are operating.\+ \ When true, the phone_number Claim MUST be in E.164 format and any extensions\+ \ MUST be represented in RFC 3966 format."+ type: boolean+ picture:+ description: "URL of the End-User's profile picture. This URL MUST refer\+ \ to an image file (for example, a PNG, JPEG, or GIF image file), rather\+ \ than to a Web page containing an image. Note that this URL SHOULD specifically\+ \ reference a profile photo of the End-User suitable for displaying when\+ \ describing the End-User, rather than an arbitrary photo taken by the\+ \ End-User."+ type: string+ preferred_username:+ description: "Non-unique shorthand name by which the End-User wishes to\+ \ be referred to at the RP, such as janedoe or j.doe. This value MAY be\+ \ any valid JSON string including special characters such as @, /, or\+ \ whitespace."+ type: string+ profile:+ description: URL of the End-User's profile page. The contents of this Web+ page SHOULD be about the End-User.+ type: string+ sub:+ description: Subject - Identifier for the End-User at the IssuerURL.+ type: string+ updated_at:+ description: Time the End-User's information was last updated. Its value+ is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z+ as measured in UTC until the date/time.+ format: int64+ type: integer+ website:+ description: URL of the End-User's Web page or blog. This Web page SHOULD+ contain information published by the End-User or an organization that+ the End-User is affiliated with.+ type: string+ zoneinfo:+ description: "String from zoneinfo [zoneinfo] time zone database representing\+ \ the End-User's time zone. For example, Europe/Paris or America/Los_Angeles."+ type: string+ type: object+ pagination:+ properties:+ page_size:+ default: 250+ description: |-+ Items per page++ This is the number of items per page to return.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ format: int64+ maximum: 1000+ minimum: 1+ type: integer+ page_token:+ default: "1"+ description: |-+ Next Page Token++ The next page token.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ minimum: 1+ type: string+ type: object+ paginationHeaders:+ properties:+ link:+ description: |-+ The link header contains pagination links.++ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).++ in: header+ type: string+ x-total-count:+ description: |-+ The total number of clients.++ in: header+ type: string+ type: object+ rejectOAuth2Request:+ properties:+ error:+ description: |-+ The error should follow the OAuth2 error format (e.g. `invalid_request`, `login_required`).++ Defaults to `request_denied`.+ type: string+ error_debug:+ description: |-+ Debug contains information to help resolve the problem as a developer. Usually not exposed+ to the public but only in the server logs.+ type: string+ error_description:+ description: Description of the error in a human readable format.+ type: string+ error_hint:+ description: Hint to help resolve the error.+ type: string+ status_code:+ description: |-+ Represents the HTTP status code of the error (e.g. 401 or 403)++ Defaults to 400+ format: int64+ type: integer+ title: The request payload used to accept a login or consent request.+ type: object+ tokenPagination:+ properties:+ page_size:+ default: 250+ description: |-+ Items per page++ This is the number of items per page to return.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ format: int64+ maximum: 1000+ minimum: 1+ type: integer+ page_token:+ default: "1"+ description: |-+ Next Page Token++ The next page token.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ minimum: 1+ type: string+ type: object+ tokenPaginationHeaders:+ properties:+ link:+ description: |-+ The link header contains pagination links.++ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).++ in: header+ type: string+ x-total-count:+ description: |-+ The total number of clients.++ in: header+ type: string+ type: object+ tokenPaginationRequestParameters:+ description: |-+ The `Link` HTTP header contains multiple links (`first`, `next`, `last`, `previous`) formatted as:+ `<https://{project-slug}.projects.oryapis.com/admin/clients?page_size={limit}&page_token={offset}>; rel="{page}"`++ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ properties:+ page_size:+ default: 250+ description: |-+ Items per Page++ This is the number of items per page to return.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ format: int64+ maximum: 500+ minimum: 1+ type: integer+ page_token:+ default: "1"+ description: |-+ Next Page Token++ The next page token.+ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ minimum: 1+ type: string+ title: Pagination Request Parameters+ type: object+ tokenPaginationResponseHeaders:+ description: |-+ The `Link` HTTP header contains multiple links (`first`, `next`, `last`, `previous`) formatted as:+ `<https://{project-slug}.projects.oryapis.com/admin/clients?page_size={limit}&page_token={offset}>; rel="{page}"`++ For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).+ properties:+ link:+ description: |-+ The Link HTTP Header++ The `Link` header contains a comma-delimited list of links to the following pages:++ first: The first page of results.+ next: The next page of results.+ prev: The previous page of results.+ last: The last page of results.++ Pages are omitted if they do not exist. For example, if there is no next page, the `next` link is omitted. Examples:++ </clients?page_size=5&page_token=0>; rel="first",</clients?page_size=5&page_token=15>; rel="next",</clients?page_size=5&page_token=5>; rel="prev",</clients?page_size=5&page_token=20>; rel="last"+ type: string+ x-total-count:+ description: |-+ The X-Total-Count HTTP Header++ The `X-Total-Count` header contains the total number of items in the collection.+ format: int64+ type: integer+ title: Pagination Response Header+ type: object+ trustOAuth2JwtGrantIssuer:+ description: Trust OAuth2 JWT Bearer Grant Type Issuer Request Body+ properties:+ allow_any_subject:+ description: The "allow_any_subject" indicates that the issuer is allowed+ to have any principal as the subject of the JWT.+ type: boolean+ expires_at:+ description: "The \"expires_at\" indicates, when grant will expire, so we\+ \ will reject assertion from \"issuer\" targeting \"subject\"."+ format: date-time+ type: string+ issuer:+ description: The "issuer" identifies the principal that issued the JWT assertion+ (same as "iss" claim in JWT).+ example: https://jwt-idp.example.com+ type: string+ jwk:+ $ref: '#/components/schemas/jsonWebKey'+ scope:+ description: "The \"scope\" contains list of scope values (as described\+ \ in Section 3.3 of OAuth 2.0 [RFC6749])"+ example:+ - openid+ - offline+ items:+ type: string+ type: array+ subject:+ description: The "subject" identifies the principal that is the subject+ of the JWT.+ example: mike@example.com+ type: string+ required:+ - expires_at+ - issuer+ - jwk+ - scope+ type: object+ trustedOAuth2JwtGrantIssuer:+ description: OAuth2 JWT Bearer Grant Type Issuer Trust Relationship+ example:+ public_key:+ set: https://jwt-idp.example.com+ kid: 123e4567-e89b-12d3-a456-426655440000+ expires_at: 2000-01-23T04:56:07.000+00:00+ subject: mike@example.com+ scope:+ - openid+ - offline+ created_at: 2000-01-23T04:56:07.000+00:00+ id: 9edc811f-4e28-453c-9b46-4de65f00217f+ allow_any_subject: true+ issuer: https://jwt-idp.example.com+ properties:+ allow_any_subject:+ description: The "allow_any_subject" indicates that the issuer is allowed+ to have any principal as the subject of the JWT.+ type: boolean+ created_at:+ description: "The \"created_at\" indicates, when grant was created."+ format: date-time+ type: string+ expires_at:+ description: "The \"expires_at\" indicates, when grant will expire, so we\+ \ will reject assertion from \"issuer\" targeting \"subject\"."+ format: date-time+ type: string+ id:+ example: 9edc811f-4e28-453c-9b46-4de65f00217f+ type: string+ issuer:+ description: The "issuer" identifies the principal that issued the JWT assertion+ (same as "iss" claim in JWT).+ example: https://jwt-idp.example.com+ type: string+ public_key:+ $ref: '#/components/schemas/trustedOAuth2JwtGrantJsonWebKey'+ scope:+ description: "The \"scope\" contains list of scope values (as described\+ \ in Section 3.3 of OAuth 2.0 [RFC6749])"+ example:+ - openid+ - offline+ items:+ type: string+ type: array+ subject:+ description: The "subject" identifies the principal that is the subject+ of the JWT.+ example: mike@example.com+ type: string+ type: object+ trustedOAuth2JwtGrantIssuers:+ description: OAuth2 JWT Bearer Grant Type Issuer Trust Relationships+ items:+ $ref: '#/components/schemas/trustedOAuth2JwtGrantIssuer'+ type: array+ trustedOAuth2JwtGrantJsonWebKey:+ description: OAuth2 JWT Bearer Grant Type Issuer Trusted JSON Web Key+ example:+ set: https://jwt-idp.example.com+ kid: 123e4567-e89b-12d3-a456-426655440000+ properties:+ kid:+ description: The "key_id" is key unique identifier (same as kid header in+ jws/jwt).+ example: 123e4567-e89b-12d3-a456-426655440000+ type: string+ set:+ description: The "set" is basically a name for a group(set) of keys. Will+ be the same as "issuer" in grant.+ example: https://jwt-idp.example.com+ type: string+ type: object+ version:+ properties:+ version:+ description: Version is the service's version.+ type: string+ type: object+ introspectOAuth2Token_request:+ properties:+ scope:+ description: |-+ An optional, space separated list of required scopes. If the access token was not granted one of the+ scopes, the result of active will be false.+ type: string+ x-formData-name: scope+ token:+ description: |-+ The string value of the token. For access tokens, this+ is the "access_token" value returned from the token endpoint+ defined in OAuth 2.0. For refresh tokens, this is the "refresh_token"+ value returned.+ required:+ - token+ type: string+ x-formData-name: token+ required:+ - token+ type: object+ isReady_200_response:+ example:+ status: status+ properties:+ status:+ description: Always "ok".+ type: string+ type: object+ isReady_503_response:+ properties:+ errors:+ additionalProperties:+ type: string+ description: Errors contains a list of errors that caused the not ready+ status.+ type: object+ type: object+ revokeOAuth2Token_request:+ properties:+ client_id:+ type: string+ x-formData-name: client_id+ client_secret:+ type: string+ x-formData-name: client_secret+ token:+ required:+ - token+ type: string+ x-formData-name: token+ required:+ - token+ type: object+ oauth2TokenExchange_request:+ properties:+ client_id:+ type: string+ x-formData-name: client_id+ code:+ type: string+ x-formData-name: code+ grant_type:+ required:+ - grant_type+ type: string+ x-formData-name: grant_type+ redirect_uri:+ type: string+ x-formData-name: redirect_uri+ refresh_token:+ type: string+ x-formData-name: refresh_token+ required:+ - grant_type+ type: object+ getVersion_200_response:+ example:+ version: version+ properties:+ version:+ description: The version of Ory Hydra.+ type: string+ type: object+ oAuth2ConsentSession_expires_at:+ example:+ access_token: 2000-01-23T04:56:07.000+00:00+ refresh_token: 2000-01-23T04:56:07.000+00:00+ par_context: 2000-01-23T04:56:07.000+00:00+ id_token: 2000-01-23T04:56:07.000+00:00+ authorize_code: 2000-01-23T04:56:07.000+00:00+ properties:+ access_token:+ format: date-time+ type: string+ authorize_code:+ format: date-time+ type: string+ id_token:+ format: date-time+ type: string+ par_context:+ format: date-time+ type: string+ refresh_token:+ format: date-time+ type: string+ type: object+ securitySchemes:+ basic:+ scheme: basic+ type: http+ bearer:+ scheme: bearer+ type: http+ oauth2:+ flows:+ authorizationCode:+ authorizationUrl: https://hydra.demo.ory.sh/oauth2/auth+ scopes:+ offline: A scope required when requesting refresh tokens (alias for `offline_access`)+ offline_access: A scope required when requesting refresh tokens+ openid: Request an OpenID Connect ID Token+ tokenUrl: https://hydra.demo.ory.sh/oauth2/token+ type: oauth2+x-forwarded-proto: string+x-request-id: string
ory-hydra-client.cabal view
@@ -1,22 +1,22 @@ name: ory-hydra-client-version: 1.10.1-synopsis: Auto-generated ory-hydra API Client+version: 2.0.3+synopsis: Auto-generated ory-hydra-client API Client description: .- Client library for calling the ORY Hydra API based on http-client.+ Client library for calling the Ory Hydra API API based on http-client. . host: localhost . base path: http://localhost .- ORY Hydra API version: 1.10.1+ Ory Hydra API API version: .- OpenAPI version: 3.0.1+ OpenAPI version: 3.0.3 . category: Web, OAuth, Network-homepage: https://github.com/lykahb/ory-hydra-author: Boris Lykah+homepage: https://github.com/lykahb/ory-hydra-client+author: Borys Lykah maintainer: lykahb@gmail.com-copyright: 2021 - Boris Lykah, Mercury+copyright: 2021 - Borys Lykah, Mercury license: MIT license-file: LICENSE build-type: Simple@@ -36,7 +36,7 @@ lib ghc-options: -Wall -funbox-strict-fields build-depends:- aeson >=2.0 && <3.0+ aeson >=1.0 && <3.0 , base >=4.7 && <5.0 , base64-bytestring >1.0 && <2.0 , bytestring >=0.10.0@@ -55,7 +55,7 @@ , network >=2.6.2 && <3.9 , random >=1.1 , safe-exceptions <0.2- , text >=0.11 && <1.3+ , text >=0.11 && <3 , time >=1.5 , transformers >=0.4.0.0 , unordered-containers@@ -63,24 +63,27 @@ other-modules: Paths_ory_hydra_client exposed-modules:- ORYHydra- ORYHydra.API.Admin- ORYHydra.API.Public- ORYHydra.Client- ORYHydra.Core- ORYHydra.Logging- ORYHydra.MimeTypes- ORYHydra.Model- ORYHydra.ModelLens+ OryHydra+ OryHydra.API.Jwk+ OryHydra.API.Metadata+ OryHydra.API.OAuth2+ OryHydra.API.Oidc+ OryHydra.API.Wellknown+ OryHydra.Client+ OryHydra.Core+ OryHydra.Logging+ OryHydra.MimeTypes+ OryHydra.Model+ OryHydra.ModelLens default-language: Haskell2010 if flag(UseKatip) build-depends: katip >=0.8 && < 1.0- other-modules: ORYHydra.LoggingKatip+ other-modules: OryHydra.LoggingKatip cpp-options: -DUSE_KATIP else build-depends: monad-logger >=0.3 && <0.4- other-modules: ORYHydra.LoggingMonadLogger+ other-modules: OryHydra.LoggingMonadLogger cpp-options: -DUSE_MONAD_LOGGER test-suite tests
tests/Instances.hs view
@@ -1,9 +1,10 @@+{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-matches #-} module Instances where -import ORYHydra.Model-import ORYHydra.Core+import OryHydra.Model+import OryHydra.Core import qualified Data.Aeson as A import qualified Data.ByteString.Lazy as BL@@ -52,9 +53,12 @@ arbitrary = Date <$> arbitrary shrink (Date xs) = Date <$> shrink xs +#if MIN_VERSION_aeson(2,0,0)+#else -- | A naive Arbitrary instance for A.Value:--- instance Arbitrary A.Value where--- arbitrary = arbitraryValue+instance Arbitrary A.Value where+ arbitrary = arbitraryValue+#endif arbitraryValue :: Gen A.Value arbitraryValue =@@ -109,83 +113,63 @@ -- * Models -instance Arbitrary AcceptConsentRequest where- arbitrary = sized genAcceptConsentRequest--genAcceptConsentRequest :: Int -> Gen AcceptConsentRequest-genAcceptConsentRequest n =- AcceptConsentRequest- <$> arbitraryReducedMaybe n -- acceptConsentRequestGrantAccessTokenAudience :: Maybe [Text]- <*> arbitraryReducedMaybe n -- acceptConsentRequestGrantScope :: Maybe [Text]- <*> arbitraryReducedMaybe n -- acceptConsentRequestHandledAt :: Maybe DateTime- <*> arbitraryReducedMaybe n -- acceptConsentRequestRemember :: Maybe Bool- <*> arbitraryReducedMaybe n -- acceptConsentRequestRememberFor :: Maybe Integer- <*> arbitraryReducedMaybe n -- acceptConsentRequestSession :: Maybe ConsentRequestSession- -instance Arbitrary AcceptLoginRequest where- arbitrary = sized genAcceptLoginRequest--genAcceptLoginRequest :: Int -> Gen AcceptLoginRequest-genAcceptLoginRequest n =- AcceptLoginRequest- <$> arbitraryReducedMaybe n -- acceptLoginRequestAcr :: Maybe Text- <*> arbitraryReducedMaybeValue n -- acceptLoginRequestContext :: Maybe A.Value- <*> arbitraryReducedMaybe n -- acceptLoginRequestForceSubjectIdentifier :: Maybe Text- <*> arbitraryReducedMaybe n -- acceptLoginRequestRemember :: Maybe Bool- <*> arbitraryReducedMaybe n -- acceptLoginRequestRememberFor :: Maybe Integer- <*> arbitrary -- acceptLoginRequestSubject :: Text- -instance Arbitrary CompletedRequest where- arbitrary = sized genCompletedRequest+instance Arbitrary AcceptOAuth2ConsentRequest where+ arbitrary = sized genAcceptOAuth2ConsentRequest -genCompletedRequest :: Int -> Gen CompletedRequest-genCompletedRequest n =- CompletedRequest- <$> arbitrary -- completedRequestRedirectTo :: Text+genAcceptOAuth2ConsentRequest :: Int -> Gen AcceptOAuth2ConsentRequest+genAcceptOAuth2ConsentRequest n =+ AcceptOAuth2ConsentRequest+ <$> arbitraryReducedMaybe n -- acceptOAuth2ConsentRequestGrantAccessTokenAudience :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- acceptOAuth2ConsentRequestGrantScope :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- acceptOAuth2ConsentRequestHandledAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- acceptOAuth2ConsentRequestRemember :: Maybe Bool+ <*> arbitraryReducedMaybe n -- acceptOAuth2ConsentRequestRememberFor :: Maybe Integer+ <*> arbitraryReducedMaybe n -- acceptOAuth2ConsentRequestSession :: Maybe AcceptOAuth2ConsentRequestSession -instance Arbitrary ConsentRequest where- arbitrary = sized genConsentRequest+instance Arbitrary AcceptOAuth2ConsentRequestSession where+ arbitrary = sized genAcceptOAuth2ConsentRequestSession -genConsentRequest :: Int -> Gen ConsentRequest-genConsentRequest n =- ConsentRequest- <$> arbitraryReducedMaybe n -- consentRequestAcr :: Maybe Text- <*> arbitrary -- consentRequestChallenge :: Text- <*> arbitraryReducedMaybe n -- consentRequestClient :: Maybe OAuth2Client- <*> arbitraryReducedMaybeValue n -- consentRequestContext :: Maybe A.Value- <*> arbitraryReducedMaybe n -- consentRequestLoginChallenge :: Maybe Text- <*> arbitraryReducedMaybe n -- consentRequestLoginSessionId :: Maybe Text- <*> arbitraryReducedMaybe n -- consentRequestOidcContext :: Maybe OpenIDConnectContext- <*> arbitraryReducedMaybe n -- consentRequestRequestUrl :: Maybe Text- <*> arbitraryReducedMaybe n -- consentRequestRequestedAccessTokenAudience :: Maybe [Text]- <*> arbitraryReducedMaybe n -- consentRequestRequestedScope :: Maybe [Text]- <*> arbitraryReducedMaybe n -- consentRequestSkip :: Maybe Bool- <*> arbitraryReducedMaybe n -- consentRequestSubject :: Maybe Text+genAcceptOAuth2ConsentRequestSession :: Int -> Gen AcceptOAuth2ConsentRequestSession+genAcceptOAuth2ConsentRequestSession n =+ AcceptOAuth2ConsentRequestSession+ <$> arbitraryReducedMaybeValue n -- acceptOAuth2ConsentRequestSessionAccessToken :: Maybe A.Value+ <*> arbitraryReducedMaybeValue n -- acceptOAuth2ConsentRequestSessionIdToken :: Maybe A.Value -instance Arbitrary ConsentRequestSession where- arbitrary = sized genConsentRequestSession+instance Arbitrary AcceptOAuth2LoginRequest where+ arbitrary = sized genAcceptOAuth2LoginRequest -genConsentRequestSession :: Int -> Gen ConsentRequestSession-genConsentRequestSession n =- ConsentRequestSession- <$> arbitraryReducedMaybeValue n -- consentRequestSessionAccessToken :: Maybe A.Value- <*> arbitraryReducedMaybeValue n -- consentRequestSessionIdToken :: Maybe A.Value+genAcceptOAuth2LoginRequest :: Int -> Gen AcceptOAuth2LoginRequest+genAcceptOAuth2LoginRequest n =+ AcceptOAuth2LoginRequest+ <$> arbitraryReducedMaybe n -- acceptOAuth2LoginRequestAcr :: Maybe Text+ <*> arbitraryReducedMaybe n -- acceptOAuth2LoginRequestAmr :: Maybe [Text]+ <*> arbitraryReducedMaybeValue n -- acceptOAuth2LoginRequestContext :: Maybe A.Value+ <*> arbitraryReducedMaybe n -- acceptOAuth2LoginRequestForceSubjectIdentifier :: Maybe Text+ <*> arbitraryReducedMaybe n -- acceptOAuth2LoginRequestRemember :: Maybe Bool+ <*> arbitraryReducedMaybe n -- acceptOAuth2LoginRequestRememberFor :: Maybe Integer+ <*> arbitrary -- acceptOAuth2LoginRequestSubject :: Text -instance Arbitrary ContainerWaitOKBodyError where- arbitrary = sized genContainerWaitOKBodyError+instance Arbitrary CreateJsonWebKeySet where+ arbitrary = sized genCreateJsonWebKeySet -genContainerWaitOKBodyError :: Int -> Gen ContainerWaitOKBodyError-genContainerWaitOKBodyError n =- ContainerWaitOKBodyError- <$> arbitraryReducedMaybe n -- containerWaitOKBodyErrorMessage :: Maybe Text+genCreateJsonWebKeySet :: Int -> Gen CreateJsonWebKeySet+genCreateJsonWebKeySet n =+ CreateJsonWebKeySet+ <$> arbitrary -- createJsonWebKeySetAlg :: Text+ <*> arbitrary -- createJsonWebKeySetKid :: Text+ <*> arbitrary -- createJsonWebKeySetUse :: Text -instance Arbitrary FlushInactiveOAuth2TokensRequest where- arbitrary = sized genFlushInactiveOAuth2TokensRequest+instance Arbitrary ErrorOAuth2 where+ arbitrary = sized genErrorOAuth2 -genFlushInactiveOAuth2TokensRequest :: Int -> Gen FlushInactiveOAuth2TokensRequest-genFlushInactiveOAuth2TokensRequest n =- FlushInactiveOAuth2TokensRequest- <$> arbitraryReducedMaybe n -- flushInactiveOAuth2TokensRequestNotAfter :: Maybe DateTime+genErrorOAuth2 :: Int -> Gen ErrorOAuth2+genErrorOAuth2 n =+ ErrorOAuth2+ <$> arbitraryReducedMaybe n -- errorOAuth2Error :: Maybe Text+ <*> arbitraryReducedMaybe n -- errorOAuth2ErrorDebug :: Maybe Text+ <*> arbitraryReducedMaybe n -- errorOAuth2ErrorDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- errorOAuth2ErrorHint :: Maybe Text+ <*> arbitraryReducedMaybe n -- errorOAuth2StatusCode :: Maybe Integer instance Arbitrary GenericError where arbitrary = sized genGenericError@@ -193,11 +177,23 @@ genGenericError :: Int -> Gen GenericError genGenericError n = GenericError- <$> arbitraryReducedMaybe n -- genericErrorDebug :: Maybe Text- <*> arbitrary -- genericErrorError :: Text- <*> arbitraryReducedMaybe n -- genericErrorErrorDescription :: Maybe Text- <*> arbitraryReducedMaybe n -- genericErrorStatusCode :: Maybe Integer+ <$> arbitraryReducedMaybe n -- genericErrorCode :: Maybe Integer+ <*> arbitraryReducedMaybe n -- genericErrorDebug :: Maybe Text+ <*> arbitraryReducedMaybeValue n -- genericErrorDetails :: Maybe A.Value+ <*> arbitraryReducedMaybe n -- genericErrorId :: Maybe Text+ <*> arbitrary -- genericErrorMessage :: Text+ <*> arbitraryReducedMaybe n -- genericErrorReason :: Maybe Text+ <*> arbitraryReducedMaybe n -- genericErrorRequest :: Maybe Text+ <*> arbitraryReducedMaybe n -- genericErrorStatus :: Maybe Text +instance Arbitrary GetVersion200Response where+ arbitrary = sized genGetVersion200Response++genGetVersion200Response :: Int -> Gen GetVersion200Response+genGetVersion200Response n =+ GetVersion200Response+ <$> arbitraryReducedMaybe n -- getVersion200ResponseVersion :: Maybe Text+ instance Arbitrary HealthNotReadyStatus where arbitrary = sized genHealthNotReadyStatus @@ -214,75 +210,86 @@ HealthStatus <$> arbitraryReducedMaybe n -- healthStatusStatus :: Maybe Text -instance Arbitrary JSONWebKey where- arbitrary = sized genJSONWebKey+instance Arbitrary IntrospectedOAuth2Token where+ arbitrary = sized genIntrospectedOAuth2Token -genJSONWebKey :: Int -> Gen JSONWebKey-genJSONWebKey n =- JSONWebKey- <$> arbitrary -- jSONWebKeyAlg :: Text- <*> arbitraryReducedMaybe n -- jSONWebKeyCrv :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyD :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyDp :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyDq :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyE :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyK :: Maybe Text- <*> arbitrary -- jSONWebKeyKid :: Text- <*> arbitrary -- jSONWebKeyKty :: Text- <*> arbitraryReducedMaybe n -- jSONWebKeyN :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyP :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyQ :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyQi :: Maybe Text- <*> arbitrary -- jSONWebKeyUse :: Text- <*> arbitraryReducedMaybe n -- jSONWebKeyX :: Maybe Text- <*> arbitraryReducedMaybe n -- jSONWebKeyX5c :: Maybe [Text]- <*> arbitraryReducedMaybe n -- jSONWebKeyY :: Maybe Text+genIntrospectedOAuth2Token :: Int -> Gen IntrospectedOAuth2Token+genIntrospectedOAuth2Token n =+ IntrospectedOAuth2Token+ <$> arbitrary -- introspectedOAuth2TokenActive :: Bool+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenAud :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenClientId :: Maybe Text+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenExp :: Maybe Integer+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenExt :: Maybe (Map.Map String A.Value)+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenIat :: Maybe Integer+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenIss :: Maybe Text+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenNbf :: Maybe Integer+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenObfuscatedSubject :: Maybe Text+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenScope :: Maybe Text+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenSub :: Maybe Text+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenTokenType :: Maybe Text+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenTokenUse :: Maybe Text+ <*> arbitraryReducedMaybe n -- introspectedOAuth2TokenUsername :: Maybe Text -instance Arbitrary JSONWebKeySet where- arbitrary = sized genJSONWebKeySet+instance Arbitrary IsReady200Response where+ arbitrary = sized genIsReady200Response -genJSONWebKeySet :: Int -> Gen JSONWebKeySet-genJSONWebKeySet n =- JSONWebKeySet- <$> arbitraryReducedMaybe n -- jSONWebKeySetKeys :: Maybe [JSONWebKey]+genIsReady200Response :: Int -> Gen IsReady200Response+genIsReady200Response n =+ IsReady200Response+ <$> arbitraryReducedMaybe n -- isReady200ResponseStatus :: Maybe Text -instance Arbitrary JsonWebKeySetGeneratorRequest where- arbitrary = sized genJsonWebKeySetGeneratorRequest+instance Arbitrary IsReady503Response where+ arbitrary = sized genIsReady503Response -genJsonWebKeySetGeneratorRequest :: Int -> Gen JsonWebKeySetGeneratorRequest-genJsonWebKeySetGeneratorRequest n =- JsonWebKeySetGeneratorRequest- <$> arbitrary -- jsonWebKeySetGeneratorRequestAlg :: Text- <*> arbitrary -- jsonWebKeySetGeneratorRequestKid :: Text- <*> arbitrary -- jsonWebKeySetGeneratorRequestUse :: Text+genIsReady503Response :: Int -> Gen IsReady503Response+genIsReady503Response n =+ IsReady503Response+ <$> arbitraryReducedMaybe n -- isReady503ResponseErrors :: Maybe (Map.Map String Text) -instance Arbitrary LoginRequest where- arbitrary = sized genLoginRequest+instance Arbitrary JsonPatch where+ arbitrary = sized genJsonPatch -genLoginRequest :: Int -> Gen LoginRequest-genLoginRequest n =- LoginRequest- <$> arbitrary -- loginRequestChallenge :: Text- <*> arbitraryReduced n -- loginRequestClient :: OAuth2Client- <*> arbitraryReducedMaybe n -- loginRequestOidcContext :: Maybe OpenIDConnectContext- <*> arbitrary -- loginRequestRequestUrl :: Text- <*> arbitrary -- loginRequestRequestedAccessTokenAudience :: [Text]- <*> arbitrary -- loginRequestRequestedScope :: [Text]- <*> arbitraryReducedMaybe n -- loginRequestSessionId :: Maybe Text- <*> arbitrary -- loginRequestSkip :: Bool- <*> arbitrary -- loginRequestSubject :: Text+genJsonPatch :: Int -> Gen JsonPatch+genJsonPatch n =+ JsonPatch+ <$> arbitraryReducedMaybe n -- jsonPatchFrom :: Maybe Text+ <*> arbitrary -- jsonPatchOp :: Text+ <*> arbitrary -- jsonPatchPath :: Text+ <*> arbitraryReducedMaybeValue n -- jsonPatchValue :: Maybe A.Value -instance Arbitrary LogoutRequest where- arbitrary = sized genLogoutRequest+instance Arbitrary JsonWebKey where+ arbitrary = sized genJsonWebKey -genLogoutRequest :: Int -> Gen LogoutRequest-genLogoutRequest n =- LogoutRequest- <$> arbitraryReducedMaybe n -- logoutRequestRequestUrl :: Maybe Text- <*> arbitraryReducedMaybe n -- logoutRequestRpInitiated :: Maybe Bool- <*> arbitraryReducedMaybe n -- logoutRequestSid :: Maybe Text- <*> arbitraryReducedMaybe n -- logoutRequestSubject :: Maybe Text+genJsonWebKey :: Int -> Gen JsonWebKey+genJsonWebKey n =+ JsonWebKey+ <$> arbitrary -- jsonWebKeyAlg :: Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyCrv :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyD :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyDp :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyDq :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyE :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyK :: Maybe Text+ <*> arbitrary -- jsonWebKeyKid :: Text+ <*> arbitrary -- jsonWebKeyKty :: Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyN :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyP :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyQ :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyQi :: Maybe Text+ <*> arbitrary -- jsonWebKeyUse :: Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyX :: Maybe Text+ <*> arbitraryReducedMaybe n -- jsonWebKeyX5c :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- jsonWebKeyY :: Maybe Text +instance Arbitrary JsonWebKeySet where+ arbitrary = sized genJsonWebKeySet++genJsonWebKeySet :: Int -> Gen JsonWebKeySet+genJsonWebKeySet n =+ JsonWebKeySet+ <$> arbitraryReducedMaybe n -- jsonWebKeySetKeys :: Maybe [JsonWebKey]+ instance Arbitrary OAuth2Client where arbitrary = sized genOAuth2Client @@ -291,8 +298,12 @@ OAuth2Client <$> arbitraryReducedMaybe n -- oAuth2ClientAllowedCorsOrigins :: Maybe [Text] <*> arbitraryReducedMaybe n -- oAuth2ClientAudience :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ClientAuthorizationCodeGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientAuthorizationCodeGrantIdTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientAuthorizationCodeGrantRefreshTokenLifespan :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientBackchannelLogoutSessionRequired :: Maybe Bool <*> arbitraryReducedMaybe n -- oAuth2ClientBackchannelLogoutUri :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientClientCredentialsGrantAccessTokenLifespan :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientClientId :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientClientName :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientClientSecret :: Maybe Text@@ -303,14 +314,22 @@ <*> arbitraryReducedMaybe n -- oAuth2ClientFrontchannelLogoutSessionRequired :: Maybe Bool <*> arbitraryReducedMaybe n -- oAuth2ClientFrontchannelLogoutUri :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientGrantTypes :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ClientImplicitGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientImplicitGrantIdTokenLifespan :: Maybe Text <*> arbitraryReducedMaybeValue n -- oAuth2ClientJwks :: Maybe A.Value <*> arbitraryReducedMaybe n -- oAuth2ClientJwksUri :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientJwtBearerGrantAccessTokenLifespan :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientLogoUri :: Maybe Text <*> arbitraryReducedMaybeValue n -- oAuth2ClientMetadata :: Maybe A.Value <*> arbitraryReducedMaybe n -- oAuth2ClientOwner :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientPolicyUri :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientPostLogoutRedirectUris :: Maybe [Text] <*> arbitraryReducedMaybe n -- oAuth2ClientRedirectUris :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ClientRefreshTokenGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientRefreshTokenGrantIdTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientRefreshTokenGrantRefreshTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientRegistrationAccessToken :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientRegistrationClientUri :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientRequestObjectSigningAlg :: Maybe Text <*> arbitraryReducedMaybe n -- oAuth2ClientRequestUris :: Maybe [Text] <*> arbitraryReducedMaybe n -- oAuth2ClientResponseTypes :: Maybe [Text]@@ -323,306 +342,304 @@ <*> arbitraryReducedMaybe n -- oAuth2ClientUpdatedAt :: Maybe DateTime <*> arbitraryReducedMaybe n -- oAuth2ClientUserinfoSignedResponseAlg :: Maybe Text -instance Arbitrary OAuth2TokenIntrospection where- arbitrary = sized genOAuth2TokenIntrospection+instance Arbitrary OAuth2ClientTokenLifespans where+ arbitrary = sized genOAuth2ClientTokenLifespans -genOAuth2TokenIntrospection :: Int -> Gen OAuth2TokenIntrospection-genOAuth2TokenIntrospection n =- OAuth2TokenIntrospection- <$> arbitrary -- oAuth2TokenIntrospectionActive :: Bool- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionAud :: Maybe [Text]- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionClientId :: Maybe Text- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionExp :: Maybe Integer- <*> arbitraryReducedMaybeValue n -- oAuth2TokenIntrospectionExt :: Maybe A.Value- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionIat :: Maybe Integer- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionIss :: Maybe Text- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionNbf :: Maybe Integer- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionObfuscatedSubject :: Maybe Text- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionScope :: Maybe Text- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionSub :: Maybe Text- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionTokenType :: Maybe Text- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionTokenUse :: Maybe Text- <*> arbitraryReducedMaybe n -- oAuth2TokenIntrospectionUsername :: Maybe Text+genOAuth2ClientTokenLifespans :: Int -> Gen OAuth2ClientTokenLifespans+genOAuth2ClientTokenLifespans n =+ OAuth2ClientTokenLifespans+ <$> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansAuthorizationCodeGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansAuthorizationCodeGrantIdTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansAuthorizationCodeGrantRefreshTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansClientCredentialsGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansImplicitGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansImplicitGrantIdTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansJwtBearerGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansRefreshTokenGrantAccessTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansRefreshTokenGrantIdTokenLifespan :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ClientTokenLifespansRefreshTokenGrantRefreshTokenLifespan :: Maybe Text -instance Arbitrary Oauth2TokenResponse where- arbitrary = sized genOauth2TokenResponse+instance Arbitrary OAuth2ConsentRequest where+ arbitrary = sized genOAuth2ConsentRequest -genOauth2TokenResponse :: Int -> Gen Oauth2TokenResponse-genOauth2TokenResponse n =- Oauth2TokenResponse- <$> arbitraryReducedMaybe n -- oauth2TokenResponseAccessToken :: Maybe Text- <*> arbitraryReducedMaybe n -- oauth2TokenResponseExpiresIn :: Maybe Integer- <*> arbitraryReducedMaybe n -- oauth2TokenResponseIdToken :: Maybe Text- <*> arbitraryReducedMaybe n -- oauth2TokenResponseRefreshToken :: Maybe Text- <*> arbitraryReducedMaybe n -- oauth2TokenResponseScope :: Maybe Text- <*> arbitraryReducedMaybe n -- oauth2TokenResponseTokenType :: Maybe Text+genOAuth2ConsentRequest :: Int -> Gen OAuth2ConsentRequest+genOAuth2ConsentRequest n =+ OAuth2ConsentRequest+ <$> arbitraryReducedMaybe n -- oAuth2ConsentRequestAcr :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestAmr :: Maybe [Text]+ <*> arbitrary -- oAuth2ConsentRequestChallenge :: Text+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestClient :: Maybe OAuth2Client+ <*> arbitraryReducedMaybeValue n -- oAuth2ConsentRequestContext :: Maybe A.Value+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestLoginChallenge :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestLoginSessionId :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestOidcContext :: Maybe OAuth2ConsentRequestOpenIDConnectContext+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestRequestUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestRequestedAccessTokenAudience :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestRequestedScope :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestSkip :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestSubject :: Maybe Text -instance Arbitrary OpenIDConnectContext where- arbitrary = sized genOpenIDConnectContext+instance Arbitrary OAuth2ConsentRequestOpenIDConnectContext where+ arbitrary = sized genOAuth2ConsentRequestOpenIDConnectContext -genOpenIDConnectContext :: Int -> Gen OpenIDConnectContext-genOpenIDConnectContext n =- OpenIDConnectContext- <$> arbitraryReducedMaybe n -- openIDConnectContextAcrValues :: Maybe [Text]- <*> arbitraryReducedMaybe n -- openIDConnectContextDisplay :: Maybe Text- <*> arbitraryReducedMaybeValue n -- openIDConnectContextIdTokenHintClaims :: Maybe A.Value- <*> arbitraryReducedMaybe n -- openIDConnectContextLoginHint :: Maybe Text- <*> arbitraryReducedMaybe n -- openIDConnectContextUiLocales :: Maybe [Text]+genOAuth2ConsentRequestOpenIDConnectContext :: Int -> Gen OAuth2ConsentRequestOpenIDConnectContext+genOAuth2ConsentRequestOpenIDConnectContext n =+ OAuth2ConsentRequestOpenIDConnectContext+ <$> arbitraryReducedMaybe n -- oAuth2ConsentRequestOpenIDConnectContextAcrValues :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestOpenIDConnectContextDisplay :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestOpenIDConnectContextIdTokenHintClaims :: Maybe (Map.Map String A.Value)+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestOpenIDConnectContextLoginHint :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ConsentRequestOpenIDConnectContextUiLocales :: Maybe [Text] -instance Arbitrary PluginConfig where- arbitrary = sized genPluginConfig+instance Arbitrary OAuth2ConsentSession where+ arbitrary = sized genOAuth2ConsentSession -genPluginConfig :: Int -> Gen PluginConfig-genPluginConfig n =- PluginConfig- <$> arbitraryReduced n -- pluginConfigArgs :: PluginConfigArgs- <*> arbitrary -- pluginConfigDescription :: Text- <*> arbitraryReducedMaybe n -- pluginConfigDockerVersion :: Maybe Text- <*> arbitrary -- pluginConfigDocumentation :: Text- <*> arbitrary -- pluginConfigEntrypoint :: [Text]- <*> arbitraryReduced n -- pluginConfigEnv :: [PluginEnv]- <*> arbitraryReduced n -- pluginConfigInterface :: PluginConfigInterface- <*> arbitrary -- pluginConfigIpcHost :: Bool- <*> arbitraryReduced n -- pluginConfigLinux :: PluginConfigLinux- <*> arbitraryReduced n -- pluginConfigMounts :: [PluginMount]- <*> arbitraryReduced n -- pluginConfigNetwork :: PluginConfigNetwork- <*> arbitrary -- pluginConfigPidHost :: Bool- <*> arbitrary -- pluginConfigPropagatedMount :: Text- <*> arbitraryReducedMaybe n -- pluginConfigUser :: Maybe PluginConfigUser- <*> arbitrary -- pluginConfigWorkDir :: Text- <*> arbitraryReducedMaybe n -- pluginConfigRootfs :: Maybe PluginConfigRootfs+genOAuth2ConsentSession :: Int -> Gen OAuth2ConsentSession+genOAuth2ConsentSession n =+ OAuth2ConsentSession+ <$> arbitraryReducedMaybe n -- oAuth2ConsentSessionConsentRequest :: Maybe OAuth2ConsentRequest+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionExpiresAt :: Maybe OAuth2ConsentSessionExpiresAt+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionGrantAccessTokenAudience :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionGrantScope :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionHandledAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionRemember :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionRememberFor :: Maybe Integer+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionSession :: Maybe AcceptOAuth2ConsentRequestSession -instance Arbitrary PluginConfigArgs where- arbitrary = sized genPluginConfigArgs+instance Arbitrary OAuth2ConsentSessionExpiresAt where+ arbitrary = sized genOAuth2ConsentSessionExpiresAt -genPluginConfigArgs :: Int -> Gen PluginConfigArgs-genPluginConfigArgs n =- PluginConfigArgs- <$> arbitrary -- pluginConfigArgsDescription :: Text- <*> arbitrary -- pluginConfigArgsName :: Text- <*> arbitrary -- pluginConfigArgsSettable :: [Text]- <*> arbitrary -- pluginConfigArgsValue :: [Text]+genOAuth2ConsentSessionExpiresAt :: Int -> Gen OAuth2ConsentSessionExpiresAt+genOAuth2ConsentSessionExpiresAt n =+ OAuth2ConsentSessionExpiresAt+ <$> arbitraryReducedMaybe n -- oAuth2ConsentSessionExpiresAtAccessToken :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionExpiresAtAuthorizeCode :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionExpiresAtIdToken :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionExpiresAtParContext :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- oAuth2ConsentSessionExpiresAtRefreshToken :: Maybe DateTime -instance Arbitrary PluginConfigInterface where- arbitrary = sized genPluginConfigInterface+instance Arbitrary OAuth2LoginRequest where+ arbitrary = sized genOAuth2LoginRequest -genPluginConfigInterface :: Int -> Gen PluginConfigInterface-genPluginConfigInterface n =- PluginConfigInterface- <$> arbitraryReducedMaybe n -- pluginConfigInterfaceProtocolScheme :: Maybe Text- <*> arbitrary -- pluginConfigInterfaceSocket :: Text- <*> arbitraryReduced n -- pluginConfigInterfaceTypes :: [PluginInterfaceType]+genOAuth2LoginRequest :: Int -> Gen OAuth2LoginRequest+genOAuth2LoginRequest n =+ OAuth2LoginRequest+ <$> arbitrary -- oAuth2LoginRequestChallenge :: Text+ <*> arbitraryReduced n -- oAuth2LoginRequestClient :: OAuth2Client+ <*> arbitraryReducedMaybe n -- oAuth2LoginRequestOidcContext :: Maybe OAuth2ConsentRequestOpenIDConnectContext+ <*> arbitrary -- oAuth2LoginRequestRequestUrl :: Text+ <*> arbitrary -- oAuth2LoginRequestRequestedAccessTokenAudience :: [Text]+ <*> arbitrary -- oAuth2LoginRequestRequestedScope :: [Text]+ <*> arbitraryReducedMaybe n -- oAuth2LoginRequestSessionId :: Maybe Text+ <*> arbitrary -- oAuth2LoginRequestSkip :: Bool+ <*> arbitrary -- oAuth2LoginRequestSubject :: Text -instance Arbitrary PluginConfigLinux where- arbitrary = sized genPluginConfigLinux+instance Arbitrary OAuth2LogoutRequest where+ arbitrary = sized genOAuth2LogoutRequest -genPluginConfigLinux :: Int -> Gen PluginConfigLinux-genPluginConfigLinux n =- PluginConfigLinux- <$> arbitrary -- pluginConfigLinuxAllowAllDevices :: Bool- <*> arbitrary -- pluginConfigLinuxCapabilities :: [Text]- <*> arbitraryReduced n -- pluginConfigLinuxDevices :: [PluginDevice]+genOAuth2LogoutRequest :: Int -> Gen OAuth2LogoutRequest+genOAuth2LogoutRequest n =+ OAuth2LogoutRequest+ <$> arbitraryReducedMaybe n -- oAuth2LogoutRequestChallenge :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2LogoutRequestClient :: Maybe OAuth2Client+ <*> arbitraryReducedMaybe n -- oAuth2LogoutRequestRequestUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2LogoutRequestRpInitiated :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oAuth2LogoutRequestSid :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2LogoutRequestSubject :: Maybe Text -instance Arbitrary PluginConfigNetwork where- arbitrary = sized genPluginConfigNetwork+instance Arbitrary OAuth2RedirectTo where+ arbitrary = sized genOAuth2RedirectTo -genPluginConfigNetwork :: Int -> Gen PluginConfigNetwork-genPluginConfigNetwork n =- PluginConfigNetwork- <$> arbitrary -- pluginConfigNetworkType :: Text+genOAuth2RedirectTo :: Int -> Gen OAuth2RedirectTo+genOAuth2RedirectTo n =+ OAuth2RedirectTo+ <$> arbitrary -- oAuth2RedirectToRedirectTo :: Text -instance Arbitrary PluginConfigRootfs where- arbitrary = sized genPluginConfigRootfs+instance Arbitrary OAuth2TokenExchange where+ arbitrary = sized genOAuth2TokenExchange -genPluginConfigRootfs :: Int -> Gen PluginConfigRootfs-genPluginConfigRootfs n =- PluginConfigRootfs- <$> arbitraryReducedMaybe n -- pluginConfigRootfsDiffIds :: Maybe [Text]- <*> arbitraryReducedMaybe n -- pluginConfigRootfsType :: Maybe Text+genOAuth2TokenExchange :: Int -> Gen OAuth2TokenExchange+genOAuth2TokenExchange n =+ OAuth2TokenExchange+ <$> arbitraryReducedMaybe n -- oAuth2TokenExchangeAccessToken :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2TokenExchangeExpiresIn :: Maybe Integer+ <*> arbitraryReducedMaybe n -- oAuth2TokenExchangeIdToken :: Maybe Integer+ <*> arbitraryReducedMaybe n -- oAuth2TokenExchangeRefreshToken :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2TokenExchangeScope :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2TokenExchangeTokenType :: Maybe Text -instance Arbitrary PluginConfigUser where- arbitrary = sized genPluginConfigUser+instance Arbitrary OidcConfiguration where+ arbitrary = sized genOidcConfiguration -genPluginConfigUser :: Int -> Gen PluginConfigUser-genPluginConfigUser n =- PluginConfigUser- <$> arbitraryReducedMaybe n -- pluginConfigUserGid :: Maybe Int- <*> arbitraryReducedMaybe n -- pluginConfigUserUid :: Maybe Int+genOidcConfiguration :: Int -> Gen OidcConfiguration+genOidcConfiguration n =+ OidcConfiguration+ <$> arbitrary -- oidcConfigurationAuthorizationEndpoint :: Text+ <*> arbitraryReducedMaybe n -- oidcConfigurationBackchannelLogoutSessionSupported :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationBackchannelLogoutSupported :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationClaimsParameterSupported :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationClaimsSupported :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oidcConfigurationCodeChallengeMethodsSupported :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oidcConfigurationEndSessionEndpoint :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcConfigurationFrontchannelLogoutSessionSupported :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationFrontchannelLogoutSupported :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationGrantTypesSupported :: Maybe [Text]+ <*> arbitrary -- oidcConfigurationIdTokenSignedResponseAlg :: [Text]+ <*> arbitrary -- oidcConfigurationIdTokenSigningAlgValuesSupported :: [Text]+ <*> arbitrary -- oidcConfigurationIssuer :: Text+ <*> arbitrary -- oidcConfigurationJwksUri :: Text+ <*> arbitraryReducedMaybe n -- oidcConfigurationRegistrationEndpoint :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcConfigurationRequestObjectSigningAlgValuesSupported :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oidcConfigurationRequestParameterSupported :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationRequestUriParameterSupported :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationRequireRequestUriRegistration :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcConfigurationResponseModesSupported :: Maybe [Text]+ <*> arbitrary -- oidcConfigurationResponseTypesSupported :: [Text]+ <*> arbitraryReducedMaybe n -- oidcConfigurationRevocationEndpoint :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcConfigurationScopesSupported :: Maybe [Text]+ <*> arbitrary -- oidcConfigurationSubjectTypesSupported :: [Text]+ <*> arbitrary -- oidcConfigurationTokenEndpoint :: Text+ <*> arbitraryReducedMaybe n -- oidcConfigurationTokenEndpointAuthMethodsSupported :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- oidcConfigurationUserinfoEndpoint :: Maybe Text+ <*> arbitrary -- oidcConfigurationUserinfoSignedResponseAlg :: [Text]+ <*> arbitraryReducedMaybe n -- oidcConfigurationUserinfoSigningAlgValuesSupported :: Maybe [Text] -instance Arbitrary PluginDevice where- arbitrary = sized genPluginDevice+instance Arbitrary OidcUserInfo where+ arbitrary = sized genOidcUserInfo -genPluginDevice :: Int -> Gen PluginDevice-genPluginDevice n =- PluginDevice- <$> arbitrary -- pluginDeviceDescription :: Text- <*> arbitrary -- pluginDeviceName :: Text- <*> arbitrary -- pluginDevicePath :: Text- <*> arbitrary -- pluginDeviceSettable :: [Text]+genOidcUserInfo :: Int -> Gen OidcUserInfo+genOidcUserInfo n =+ OidcUserInfo+ <$> arbitraryReducedMaybe n -- oidcUserInfoBirthdate :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoEmailVerified :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcUserInfoFamilyName :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoGender :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoGivenName :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoLocale :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoMiddleName :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoName :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoNickname :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoPhoneNumber :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoPhoneNumberVerified :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oidcUserInfoPicture :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoPreferredUsername :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoProfile :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoSub :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoUpdatedAt :: Maybe Integer+ <*> arbitraryReducedMaybe n -- oidcUserInfoWebsite :: Maybe Text+ <*> arbitraryReducedMaybe n -- oidcUserInfoZoneinfo :: Maybe Text -instance Arbitrary PluginEnv where- arbitrary = sized genPluginEnv+instance Arbitrary Pagination where+ arbitrary = sized genPagination -genPluginEnv :: Int -> Gen PluginEnv-genPluginEnv n =- PluginEnv- <$> arbitrary -- pluginEnvDescription :: Text- <*> arbitrary -- pluginEnvName :: Text- <*> arbitrary -- pluginEnvSettable :: [Text]- <*> arbitrary -- pluginEnvValue :: Text+genPagination :: Int -> Gen Pagination+genPagination n =+ Pagination+ <$> arbitraryReducedMaybe n -- paginationPageSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- paginationPageToken :: Maybe Text -instance Arbitrary PluginInterfaceType where- arbitrary = sized genPluginInterfaceType+instance Arbitrary PaginationHeaders where+ arbitrary = sized genPaginationHeaders -genPluginInterfaceType :: Int -> Gen PluginInterfaceType-genPluginInterfaceType n =- PluginInterfaceType- <$> arbitrary -- pluginInterfaceTypeCapability :: Text- <*> arbitrary -- pluginInterfaceTypePrefix :: Text- <*> arbitrary -- pluginInterfaceTypeVersion :: Text+genPaginationHeaders :: Int -> Gen PaginationHeaders+genPaginationHeaders n =+ PaginationHeaders+ <$> arbitraryReducedMaybe n -- paginationHeadersLink :: Maybe Text+ <*> arbitraryReducedMaybe n -- paginationHeadersXTotalCount :: Maybe Text -instance Arbitrary PluginMount where- arbitrary = sized genPluginMount+instance Arbitrary RejectOAuth2Request where+ arbitrary = sized genRejectOAuth2Request -genPluginMount :: Int -> Gen PluginMount-genPluginMount n =- PluginMount- <$> arbitrary -- pluginMountDescription :: Text- <*> arbitrary -- pluginMountDestination :: Text- <*> arbitrary -- pluginMountName :: Text- <*> arbitrary -- pluginMountOptions :: [Text]- <*> arbitrary -- pluginMountSettable :: [Text]- <*> arbitrary -- pluginMountSource :: Text- <*> arbitrary -- pluginMountType :: Text+genRejectOAuth2Request :: Int -> Gen RejectOAuth2Request+genRejectOAuth2Request n =+ RejectOAuth2Request+ <$> arbitraryReducedMaybe n -- rejectOAuth2RequestError :: Maybe Text+ <*> arbitraryReducedMaybe n -- rejectOAuth2RequestErrorDebug :: Maybe Text+ <*> arbitraryReducedMaybe n -- rejectOAuth2RequestErrorDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- rejectOAuth2RequestErrorHint :: Maybe Text+ <*> arbitraryReducedMaybe n -- rejectOAuth2RequestStatusCode :: Maybe Integer -instance Arbitrary PluginSettings where- arbitrary = sized genPluginSettings+instance Arbitrary TokenPagination where+ arbitrary = sized genTokenPagination -genPluginSettings :: Int -> Gen PluginSettings-genPluginSettings n =- PluginSettings- <$> arbitrary -- pluginSettingsArgs :: [Text]- <*> arbitraryReduced n -- pluginSettingsDevices :: [PluginDevice]- <*> arbitrary -- pluginSettingsEnv :: [Text]- <*> arbitraryReduced n -- pluginSettingsMounts :: [PluginMount]+genTokenPagination :: Int -> Gen TokenPagination+genTokenPagination n =+ TokenPagination+ <$> arbitraryReducedMaybe n -- tokenPaginationPageSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- tokenPaginationPageToken :: Maybe Text -instance Arbitrary PreviousConsentSession where- arbitrary = sized genPreviousConsentSession+instance Arbitrary TokenPaginationHeaders where+ arbitrary = sized genTokenPaginationHeaders -genPreviousConsentSession :: Int -> Gen PreviousConsentSession-genPreviousConsentSession n =- PreviousConsentSession- <$> arbitraryReducedMaybe n -- previousConsentSessionConsentRequest :: Maybe ConsentRequest- <*> arbitraryReducedMaybe n -- previousConsentSessionGrantAccessTokenAudience :: Maybe [Text]- <*> arbitraryReducedMaybe n -- previousConsentSessionGrantScope :: Maybe [Text]- <*> arbitraryReducedMaybe n -- previousConsentSessionHandledAt :: Maybe DateTime- <*> arbitraryReducedMaybe n -- previousConsentSessionRemember :: Maybe Bool- <*> arbitraryReducedMaybe n -- previousConsentSessionRememberFor :: Maybe Integer- <*> arbitraryReducedMaybe n -- previousConsentSessionSession :: Maybe ConsentRequestSession+genTokenPaginationHeaders :: Int -> Gen TokenPaginationHeaders+genTokenPaginationHeaders n =+ TokenPaginationHeaders+ <$> arbitraryReducedMaybe n -- tokenPaginationHeadersLink :: Maybe Text+ <*> arbitraryReducedMaybe n -- tokenPaginationHeadersXTotalCount :: Maybe Text -instance Arbitrary RejectRequest where- arbitrary = sized genRejectRequest+instance Arbitrary TokenPaginationRequestParameters where+ arbitrary = sized genTokenPaginationRequestParameters -genRejectRequest :: Int -> Gen RejectRequest-genRejectRequest n =- RejectRequest- <$> arbitraryReducedMaybe n -- rejectRequestError :: Maybe Text- <*> arbitraryReducedMaybe n -- rejectRequestErrorDebug :: Maybe Text- <*> arbitraryReducedMaybe n -- rejectRequestErrorDescription :: Maybe Text- <*> arbitraryReducedMaybe n -- rejectRequestErrorHint :: Maybe Text- <*> arbitraryReducedMaybe n -- rejectRequestStatusCode :: Maybe Integer+genTokenPaginationRequestParameters :: Int -> Gen TokenPaginationRequestParameters+genTokenPaginationRequestParameters n =+ TokenPaginationRequestParameters+ <$> arbitraryReducedMaybe n -- tokenPaginationRequestParametersPageSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- tokenPaginationRequestParametersPageToken :: Maybe Text -instance Arbitrary UserinfoResponse where- arbitrary = sized genUserinfoResponse+instance Arbitrary TokenPaginationResponseHeaders where+ arbitrary = sized genTokenPaginationResponseHeaders -genUserinfoResponse :: Int -> Gen UserinfoResponse-genUserinfoResponse n =- UserinfoResponse- <$> arbitraryReducedMaybe n -- userinfoResponseBirthdate :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseEmail :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseEmailVerified :: Maybe Bool- <*> arbitraryReducedMaybe n -- userinfoResponseFamilyName :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseGender :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseGivenName :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseLocale :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseMiddleName :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseName :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseNickname :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponsePhoneNumber :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponsePhoneNumberVerified :: Maybe Bool- <*> arbitraryReducedMaybe n -- userinfoResponsePicture :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponsePreferredUsername :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseProfile :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseSub :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseUpdatedAt :: Maybe Integer- <*> arbitraryReducedMaybe n -- userinfoResponseWebsite :: Maybe Text- <*> arbitraryReducedMaybe n -- userinfoResponseZoneinfo :: Maybe Text+genTokenPaginationResponseHeaders :: Int -> Gen TokenPaginationResponseHeaders+genTokenPaginationResponseHeaders n =+ TokenPaginationResponseHeaders+ <$> arbitraryReducedMaybe n -- tokenPaginationResponseHeadersLink :: Maybe Text+ <*> arbitraryReducedMaybe n -- tokenPaginationResponseHeadersXTotalCount :: Maybe Integer -instance Arbitrary Version where- arbitrary = sized genVersion+instance Arbitrary TrustOAuth2JwtGrantIssuer where+ arbitrary = sized genTrustOAuth2JwtGrantIssuer -genVersion :: Int -> Gen Version-genVersion n =- Version- <$> arbitraryReducedMaybe n -- versionVersion :: Maybe Text+genTrustOAuth2JwtGrantIssuer :: Int -> Gen TrustOAuth2JwtGrantIssuer+genTrustOAuth2JwtGrantIssuer n =+ TrustOAuth2JwtGrantIssuer+ <$> arbitraryReducedMaybe n -- trustOAuth2JwtGrantIssuerAllowAnySubject :: Maybe Bool+ <*> arbitraryReduced n -- trustOAuth2JwtGrantIssuerExpiresAt :: DateTime+ <*> arbitrary -- trustOAuth2JwtGrantIssuerIssuer :: Text+ <*> arbitraryReduced n -- trustOAuth2JwtGrantIssuerJwk :: JsonWebKey+ <*> arbitrary -- trustOAuth2JwtGrantIssuerScope :: [Text]+ <*> arbitraryReducedMaybe n -- trustOAuth2JwtGrantIssuerSubject :: Maybe Text -instance Arbitrary Volume where- arbitrary = sized genVolume+instance Arbitrary TrustedOAuth2JwtGrantIssuer where+ arbitrary = sized genTrustedOAuth2JwtGrantIssuer -genVolume :: Int -> Gen Volume-genVolume n =- Volume- <$> arbitraryReducedMaybe n -- volumeCreatedAt :: Maybe Text- <*> arbitrary -- volumeDriver :: Text- <*> arbitrary -- volumeLabels :: (Map.Map String Text)- <*> arbitrary -- volumeMountpoint :: Text- <*> arbitrary -- volumeName :: Text- <*> arbitrary -- volumeOptions :: (Map.Map String Text)- <*> arbitrary -- volumeScope :: Text- <*> arbitraryReducedMaybeValue n -- volumeStatus :: Maybe A.Value- <*> arbitraryReducedMaybe n -- volumeUsageData :: Maybe VolumeUsageData+genTrustedOAuth2JwtGrantIssuer :: Int -> Gen TrustedOAuth2JwtGrantIssuer+genTrustedOAuth2JwtGrantIssuer n =+ TrustedOAuth2JwtGrantIssuer+ <$> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerAllowAnySubject :: Maybe Bool+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerExpiresAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerId :: Maybe Text+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerIssuer :: Maybe Text+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerPublicKey :: Maybe TrustedOAuth2JwtGrantJsonWebKey+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerScope :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantIssuerSubject :: Maybe Text -instance Arbitrary VolumeUsageData where- arbitrary = sized genVolumeUsageData+instance Arbitrary TrustedOAuth2JwtGrantJsonWebKey where+ arbitrary = sized genTrustedOAuth2JwtGrantJsonWebKey -genVolumeUsageData :: Int -> Gen VolumeUsageData-genVolumeUsageData n =- VolumeUsageData- <$> arbitrary -- volumeUsageDataRefCount :: Integer- <*> arbitrary -- volumeUsageDataSize :: Integer+genTrustedOAuth2JwtGrantJsonWebKey :: Int -> Gen TrustedOAuth2JwtGrantJsonWebKey+genTrustedOAuth2JwtGrantJsonWebKey n =+ TrustedOAuth2JwtGrantJsonWebKey+ <$> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantJsonWebKeyKid :: Maybe Text+ <*> arbitraryReducedMaybe n -- trustedOAuth2JwtGrantJsonWebKeySet :: Maybe Text -instance Arbitrary WellKnown where- arbitrary = sized genWellKnown+instance Arbitrary Version where+ arbitrary = sized genVersion -genWellKnown :: Int -> Gen WellKnown-genWellKnown n =- WellKnown- <$> arbitrary -- wellKnownAuthorizationEndpoint :: Text- <*> arbitraryReducedMaybe n -- wellKnownBackchannelLogoutSessionSupported :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownBackchannelLogoutSupported :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownClaimsParameterSupported :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownClaimsSupported :: Maybe [Text]- <*> arbitraryReducedMaybe n -- wellKnownEndSessionEndpoint :: Maybe Text- <*> arbitraryReducedMaybe n -- wellKnownFrontchannelLogoutSessionSupported :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownFrontchannelLogoutSupported :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownGrantTypesSupported :: Maybe [Text]- <*> arbitrary -- wellKnownIdTokenSigningAlgValuesSupported :: [Text]- <*> arbitrary -- wellKnownIssuer :: Text- <*> arbitrary -- wellKnownJwksUri :: Text- <*> arbitraryReducedMaybe n -- wellKnownRegistrationEndpoint :: Maybe Text- <*> arbitraryReducedMaybe n -- wellKnownRequestObjectSigningAlgValuesSupported :: Maybe [Text]- <*> arbitraryReducedMaybe n -- wellKnownRequestParameterSupported :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownRequestUriParameterSupported :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownRequireRequestUriRegistration :: Maybe Bool- <*> arbitraryReducedMaybe n -- wellKnownResponseModesSupported :: Maybe [Text]- <*> arbitrary -- wellKnownResponseTypesSupported :: [Text]- <*> arbitraryReducedMaybe n -- wellKnownRevocationEndpoint :: Maybe Text- <*> arbitraryReducedMaybe n -- wellKnownScopesSupported :: Maybe [Text]- <*> arbitrary -- wellKnownSubjectTypesSupported :: [Text]- <*> arbitrary -- wellKnownTokenEndpoint :: Text- <*> arbitraryReducedMaybe n -- wellKnownTokenEndpointAuthMethodsSupported :: Maybe [Text]- <*> arbitraryReducedMaybe n -- wellKnownUserinfoEndpoint :: Maybe Text- <*> arbitraryReducedMaybe n -- wellKnownUserinfoSigningAlgValuesSupported :: Maybe [Text]+genVersion :: Int -> Gen Version+genVersion n =+ Version+ <$> arbitraryReducedMaybe n -- versionVersion :: Maybe Text
tests/PropMime.hs view
@@ -15,7 +15,7 @@ import Test.QuickCheck.Property import Test.Hspec.QuickCheck (prop) -import ORYHydra.MimeTypes+import OryHydra.MimeTypes import ApproxEq
tests/Test.hs view
@@ -12,50 +12,50 @@ import PropMime import Instances () -import ORYHydra.Model-import ORYHydra.MimeTypes+import OryHydra.Model+import OryHydra.MimeTypes main :: IO () main = hspec $ modifyMaxSize (const 10) $ do describe "JSON instances" $ do pure ()- propMimeEq MimeJSON (Proxy :: Proxy AcceptConsentRequest)- propMimeEq MimeJSON (Proxy :: Proxy AcceptLoginRequest)- propMimeEq MimeJSON (Proxy :: Proxy CompletedRequest)- propMimeEq MimeJSON (Proxy :: Proxy ConsentRequest)- propMimeEq MimeJSON (Proxy :: Proxy ConsentRequestSession)- propMimeEq MimeJSON (Proxy :: Proxy ContainerWaitOKBodyError)- propMimeEq MimeJSON (Proxy :: Proxy FlushInactiveOAuth2TokensRequest)+ propMimeEq MimeJSON (Proxy :: Proxy AcceptOAuth2ConsentRequest)+ propMimeEq MimeJSON (Proxy :: Proxy AcceptOAuth2ConsentRequestSession)+ propMimeEq MimeJSON (Proxy :: Proxy AcceptOAuth2LoginRequest)+ propMimeEq MimeJSON (Proxy :: Proxy CreateJsonWebKeySet)+ propMimeEq MimeJSON (Proxy :: Proxy ErrorOAuth2) propMimeEq MimeJSON (Proxy :: Proxy GenericError)+ propMimeEq MimeJSON (Proxy :: Proxy GetVersion200Response) propMimeEq MimeJSON (Proxy :: Proxy HealthNotReadyStatus) propMimeEq MimeJSON (Proxy :: Proxy HealthStatus)- propMimeEq MimeJSON (Proxy :: Proxy JSONWebKey)- propMimeEq MimeJSON (Proxy :: Proxy JSONWebKeySet)- propMimeEq MimeJSON (Proxy :: Proxy JsonWebKeySetGeneratorRequest)- propMimeEq MimeJSON (Proxy :: Proxy LoginRequest)- propMimeEq MimeJSON (Proxy :: Proxy LogoutRequest)+ propMimeEq MimeJSON (Proxy :: Proxy IntrospectedOAuth2Token)+ propMimeEq MimeJSON (Proxy :: Proxy IsReady200Response)+ propMimeEq MimeJSON (Proxy :: Proxy IsReady503Response)+ propMimeEq MimeJSON (Proxy :: Proxy JsonPatch)+ propMimeEq MimeJSON (Proxy :: Proxy JsonWebKey)+ propMimeEq MimeJSON (Proxy :: Proxy JsonWebKeySet) propMimeEq MimeJSON (Proxy :: Proxy OAuth2Client)- propMimeEq MimeJSON (Proxy :: Proxy OAuth2TokenIntrospection)- propMimeEq MimeJSON (Proxy :: Proxy Oauth2TokenResponse)- propMimeEq MimeJSON (Proxy :: Proxy OpenIDConnectContext)- propMimeEq MimeJSON (Proxy :: Proxy PluginConfig)- propMimeEq MimeJSON (Proxy :: Proxy PluginConfigArgs)- propMimeEq MimeJSON (Proxy :: Proxy PluginConfigInterface)- propMimeEq MimeJSON (Proxy :: Proxy PluginConfigLinux)- propMimeEq MimeJSON (Proxy :: Proxy PluginConfigNetwork)- propMimeEq MimeJSON (Proxy :: Proxy PluginConfigRootfs)- propMimeEq MimeJSON (Proxy :: Proxy PluginConfigUser)- propMimeEq MimeJSON (Proxy :: Proxy PluginDevice)- propMimeEq MimeJSON (Proxy :: Proxy PluginEnv)- propMimeEq MimeJSON (Proxy :: Proxy PluginInterfaceType)- propMimeEq MimeJSON (Proxy :: Proxy PluginMount)- propMimeEq MimeJSON (Proxy :: Proxy PluginSettings)- propMimeEq MimeJSON (Proxy :: Proxy PreviousConsentSession)- propMimeEq MimeJSON (Proxy :: Proxy RejectRequest)- propMimeEq MimeJSON (Proxy :: Proxy UserinfoResponse)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2ClientTokenLifespans)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2ConsentRequest)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2ConsentRequestOpenIDConnectContext)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2ConsentSession)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2ConsentSessionExpiresAt)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2LoginRequest)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2LogoutRequest)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2RedirectTo)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2TokenExchange)+ propMimeEq MimeJSON (Proxy :: Proxy OidcConfiguration)+ propMimeEq MimeJSON (Proxy :: Proxy OidcUserInfo)+ propMimeEq MimeJSON (Proxy :: Proxy Pagination)+ propMimeEq MimeJSON (Proxy :: Proxy PaginationHeaders)+ propMimeEq MimeJSON (Proxy :: Proxy RejectOAuth2Request)+ propMimeEq MimeJSON (Proxy :: Proxy TokenPagination)+ propMimeEq MimeJSON (Proxy :: Proxy TokenPaginationHeaders)+ propMimeEq MimeJSON (Proxy :: Proxy TokenPaginationRequestParameters)+ propMimeEq MimeJSON (Proxy :: Proxy TokenPaginationResponseHeaders)+ propMimeEq MimeJSON (Proxy :: Proxy TrustOAuth2JwtGrantIssuer)+ propMimeEq MimeJSON (Proxy :: Proxy TrustedOAuth2JwtGrantIssuer)+ propMimeEq MimeJSON (Proxy :: Proxy TrustedOAuth2JwtGrantJsonWebKey) propMimeEq MimeJSON (Proxy :: Proxy Version)- propMimeEq MimeJSON (Proxy :: Proxy Volume)- propMimeEq MimeJSON (Proxy :: Proxy VolumeUsageData)- propMimeEq MimeJSON (Proxy :: Proxy WellKnown)