change python client generator for hydra
This commit is contained in:
parent
c15be406ea
commit
4e9fd55093
128 changed files with 16275 additions and 11 deletions
46
libs/ory-hydra-client/ory_hydra_client/models/__init__.py
Normal file
46
libs/ory-hydra-client/ory_hydra_client/models/__init__.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
""" Contains all the data models used in inputs/outputs """
|
||||
|
||||
from .accept_consent_request import AcceptConsentRequest
|
||||
from .accept_login_request import AcceptLoginRequest
|
||||
from .completed_request import CompletedRequest
|
||||
from .consent_request import ConsentRequest
|
||||
from .consent_request_session import ConsentRequestSession
|
||||
from .consent_request_session_access_token import ConsentRequestSessionAccessToken
|
||||
from .consent_request_session_id_token import ConsentRequestSessionIdToken
|
||||
from .container_wait_ok_body_error import ContainerWaitOKBodyError
|
||||
from .flush_inactive_o_auth_2_tokens_request import FlushInactiveOAuth2TokensRequest
|
||||
from .generic_error import GenericError
|
||||
from .health_not_ready_status import HealthNotReadyStatus
|
||||
from .health_not_ready_status_errors import HealthNotReadyStatusErrors
|
||||
from .health_status import HealthStatus
|
||||
from .jose_json_web_key_set import JoseJSONWebKeySet
|
||||
from .json_raw_message import JSONRawMessage
|
||||
from .json_web_key import JSONWebKey
|
||||
from .json_web_key_set import JSONWebKeySet
|
||||
from .json_web_key_set_generator_request import JsonWebKeySetGeneratorRequest
|
||||
from .login_request import LoginRequest
|
||||
from .logout_request import LogoutRequest
|
||||
from .o_auth_2_client import OAuth2Client
|
||||
from .o_auth_2_token_introspection import OAuth2TokenIntrospection
|
||||
from .o_auth_2_token_introspection_ext import OAuth2TokenIntrospectionExt
|
||||
from .oauth_2_token_response import Oauth2TokenResponse
|
||||
from .open_id_connect_context import OpenIDConnectContext
|
||||
from .open_id_connect_context_id_token_hint_claims import OpenIDConnectContextIdTokenHintClaims
|
||||
from .plugin_config import PluginConfig
|
||||
from .plugin_config_args import PluginConfigArgs
|
||||
from .plugin_config_interface import PluginConfigInterface
|
||||
from .plugin_config_linux import PluginConfigLinux
|
||||
from .plugin_config_network import PluginConfigNetwork
|
||||
from .plugin_config_rootfs import PluginConfigRootfs
|
||||
from .plugin_config_user import PluginConfigUser
|
||||
from .plugin_device import PluginDevice
|
||||
from .plugin_env import PluginEnv
|
||||
from .plugin_interface_type import PluginInterfaceType
|
||||
from .plugin_mount import PluginMount
|
||||
from .plugin_settings import PluginSettings
|
||||
from .previous_consent_session import PreviousConsentSession
|
||||
from .reject_request import RejectRequest
|
||||
from .userinfo_response import UserinfoResponse
|
||||
from .version import Version
|
||||
from .volume_usage_data import VolumeUsageData
|
||||
from .well_known import WellKnown
|
|
@ -0,0 +1,125 @@
|
|||
import datetime
|
||||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
from dateutil.parser import isoparse
|
||||
|
||||
from ..models.consent_request_session import ConsentRequestSession
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="AcceptConsentRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class AcceptConsentRequest:
|
||||
"""
|
||||
Attributes:
|
||||
grant_access_token_audience (Union[Unset, List[str]]):
|
||||
grant_scope (Union[Unset, List[str]]):
|
||||
handled_at (Union[Unset, datetime.datetime]):
|
||||
remember (Union[Unset, bool]): 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.
|
||||
remember_for (Union[Unset, int]): RememberFor sets how long the consent authorization should be remembered for
|
||||
in seconds. If set to `0`, the
|
||||
authorization will be remembered indefinitely.
|
||||
session (Union[Unset, ConsentRequestSession]):
|
||||
"""
|
||||
|
||||
grant_access_token_audience: Union[Unset, List[str]] = UNSET
|
||||
grant_scope: Union[Unset, List[str]] = UNSET
|
||||
handled_at: Union[Unset, datetime.datetime] = UNSET
|
||||
remember: Union[Unset, bool] = UNSET
|
||||
remember_for: Union[Unset, int] = UNSET
|
||||
session: Union[Unset, ConsentRequestSession] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
grant_access_token_audience: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.grant_access_token_audience, Unset):
|
||||
grant_access_token_audience = self.grant_access_token_audience
|
||||
|
||||
grant_scope: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.grant_scope, Unset):
|
||||
grant_scope = self.grant_scope
|
||||
|
||||
handled_at: Union[Unset, str] = UNSET
|
||||
if not isinstance(self.handled_at, Unset):
|
||||
handled_at = self.handled_at.isoformat()
|
||||
|
||||
remember = self.remember
|
||||
remember_for = self.remember_for
|
||||
session: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.session, Unset):
|
||||
session = self.session.to_dict()
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if grant_access_token_audience is not UNSET:
|
||||
field_dict["grant_access_token_audience"] = grant_access_token_audience
|
||||
if grant_scope is not UNSET:
|
||||
field_dict["grant_scope"] = grant_scope
|
||||
if handled_at is not UNSET:
|
||||
field_dict["handled_at"] = handled_at
|
||||
if remember is not UNSET:
|
||||
field_dict["remember"] = remember
|
||||
if remember_for is not UNSET:
|
||||
field_dict["remember_for"] = remember_for
|
||||
if session is not UNSET:
|
||||
field_dict["session"] = session
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
grant_access_token_audience = cast(List[str], _d.pop("grant_access_token_audience", UNSET))
|
||||
|
||||
grant_scope = cast(List[str], _d.pop("grant_scope", UNSET))
|
||||
|
||||
_handled_at = _d.pop("handled_at", UNSET)
|
||||
handled_at: Union[Unset, datetime.datetime]
|
||||
if isinstance(_handled_at, Unset):
|
||||
handled_at = UNSET
|
||||
else:
|
||||
handled_at = isoparse(_handled_at)
|
||||
|
||||
remember = _d.pop("remember", UNSET)
|
||||
|
||||
remember_for = _d.pop("remember_for", UNSET)
|
||||
|
||||
_session = _d.pop("session", UNSET)
|
||||
session: Union[Unset, ConsentRequestSession]
|
||||
if isinstance(_session, Unset):
|
||||
session = UNSET
|
||||
else:
|
||||
session = ConsentRequestSession.from_dict(_session)
|
||||
|
||||
accept_consent_request = cls(
|
||||
grant_access_token_audience=grant_access_token_audience,
|
||||
grant_scope=grant_scope,
|
||||
handled_at=handled_at,
|
||||
remember=remember,
|
||||
remember_for=remember_for,
|
||||
session=session,
|
||||
)
|
||||
|
||||
accept_consent_request.additional_properties = _d
|
||||
return accept_consent_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,135 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.json_raw_message import JSONRawMessage
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="AcceptLoginRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class AcceptLoginRequest:
|
||||
"""
|
||||
Attributes:
|
||||
subject (str): Subject is the user ID of the end-user that authenticated.
|
||||
acr (Union[Unset, str]): 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.
|
||||
context (Union[Unset, JSONRawMessage]):
|
||||
force_subject_identifier (Union[Unset, str]): 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.
|
||||
remember (Union[Unset, bool]): 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.
|
||||
remember_for (Union[Unset, int]): 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).
|
||||
"""
|
||||
|
||||
subject: str
|
||||
acr: Union[Unset, str] = UNSET
|
||||
context: Union[Unset, JSONRawMessage] = UNSET
|
||||
force_subject_identifier: Union[Unset, str] = UNSET
|
||||
remember: Union[Unset, bool] = UNSET
|
||||
remember_for: Union[Unset, int] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
subject = self.subject
|
||||
acr = self.acr
|
||||
context: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.context, Unset):
|
||||
context = self.context.to_dict()
|
||||
|
||||
force_subject_identifier = self.force_subject_identifier
|
||||
remember = self.remember
|
||||
remember_for = self.remember_for
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"subject": subject,
|
||||
}
|
||||
)
|
||||
if acr is not UNSET:
|
||||
field_dict["acr"] = acr
|
||||
if context is not UNSET:
|
||||
field_dict["context"] = context
|
||||
if force_subject_identifier is not UNSET:
|
||||
field_dict["force_subject_identifier"] = force_subject_identifier
|
||||
if remember is not UNSET:
|
||||
field_dict["remember"] = remember
|
||||
if remember_for is not UNSET:
|
||||
field_dict["remember_for"] = remember_for
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
subject = _d.pop("subject")
|
||||
|
||||
acr = _d.pop("acr", UNSET)
|
||||
|
||||
_context = _d.pop("context", UNSET)
|
||||
context: Union[Unset, JSONRawMessage]
|
||||
if isinstance(_context, Unset):
|
||||
context = UNSET
|
||||
else:
|
||||
context = JSONRawMessage.from_dict(_context)
|
||||
|
||||
force_subject_identifier = _d.pop("force_subject_identifier", UNSET)
|
||||
|
||||
remember = _d.pop("remember", UNSET)
|
||||
|
||||
remember_for = _d.pop("remember_for", UNSET)
|
||||
|
||||
accept_login_request = cls(
|
||||
subject=subject,
|
||||
acr=acr,
|
||||
context=context,
|
||||
force_subject_identifier=force_subject_identifier,
|
||||
remember=remember,
|
||||
remember_for=remember_for,
|
||||
)
|
||||
|
||||
accept_login_request.additional_properties = _d
|
||||
return accept_login_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,58 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="CompletedRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class CompletedRequest:
|
||||
"""
|
||||
Attributes:
|
||||
redirect_to (str): RedirectURL is the URL which you should redirect the user to once the authentication process
|
||||
is completed.
|
||||
"""
|
||||
|
||||
redirect_to: str
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
redirect_to = self.redirect_to
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"redirect_to": redirect_to,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
redirect_to = _d.pop("redirect_to")
|
||||
|
||||
completed_request = cls(
|
||||
redirect_to=redirect_to,
|
||||
)
|
||||
|
||||
completed_request.additional_properties = _d
|
||||
return completed_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
200
libs/ory-hydra-client/ory_hydra_client/models/consent_request.py
Normal file
200
libs/ory-hydra-client/ory_hydra_client/models/consent_request.py
Normal file
|
@ -0,0 +1,200 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.json_raw_message import JSONRawMessage
|
||||
from ..models.o_auth_2_client import OAuth2Client
|
||||
from ..models.open_id_connect_context import OpenIDConnectContext
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="ConsentRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class ConsentRequest:
|
||||
"""
|
||||
Attributes:
|
||||
challenge (str): ID is the identifier ("authorization challenge") of the consent authorization request. It is
|
||||
used to
|
||||
identify the session.
|
||||
acr (Union[Unset, str]): 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.
|
||||
client (Union[Unset, OAuth2Client]):
|
||||
context (Union[Unset, JSONRawMessage]):
|
||||
login_challenge (Union[Unset, str]): 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.
|
||||
login_session_id (Union[Unset, str]): 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.
|
||||
oidc_context (Union[Unset, OpenIDConnectContext]):
|
||||
request_url (Union[Unset, str]): 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.
|
||||
requested_access_token_audience (Union[Unset, List[str]]):
|
||||
requested_scope (Union[Unset, List[str]]):
|
||||
skip (Union[Unset, bool]): 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.
|
||||
subject (Union[Unset, str]): 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.
|
||||
"""
|
||||
|
||||
challenge: str
|
||||
acr: Union[Unset, str] = UNSET
|
||||
client: Union[Unset, OAuth2Client] = UNSET
|
||||
context: Union[Unset, JSONRawMessage] = UNSET
|
||||
login_challenge: Union[Unset, str] = UNSET
|
||||
login_session_id: Union[Unset, str] = UNSET
|
||||
oidc_context: Union[Unset, OpenIDConnectContext] = UNSET
|
||||
request_url: Union[Unset, str] = UNSET
|
||||
requested_access_token_audience: Union[Unset, List[str]] = UNSET
|
||||
requested_scope: Union[Unset, List[str]] = UNSET
|
||||
skip: Union[Unset, bool] = UNSET
|
||||
subject: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
challenge = self.challenge
|
||||
acr = self.acr
|
||||
client: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.client, Unset):
|
||||
client = self.client.to_dict()
|
||||
|
||||
context: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.context, Unset):
|
||||
context = self.context.to_dict()
|
||||
|
||||
login_challenge = self.login_challenge
|
||||
login_session_id = self.login_session_id
|
||||
oidc_context: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.oidc_context, Unset):
|
||||
oidc_context = self.oidc_context.to_dict()
|
||||
|
||||
request_url = self.request_url
|
||||
requested_access_token_audience: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.requested_access_token_audience, Unset):
|
||||
requested_access_token_audience = self.requested_access_token_audience
|
||||
|
||||
requested_scope: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.requested_scope, Unset):
|
||||
requested_scope = self.requested_scope
|
||||
|
||||
skip = self.skip
|
||||
subject = self.subject
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"challenge": challenge,
|
||||
}
|
||||
)
|
||||
if acr is not UNSET:
|
||||
field_dict["acr"] = acr
|
||||
if client is not UNSET:
|
||||
field_dict["client"] = client
|
||||
if context is not UNSET:
|
||||
field_dict["context"] = context
|
||||
if login_challenge is not UNSET:
|
||||
field_dict["login_challenge"] = login_challenge
|
||||
if login_session_id is not UNSET:
|
||||
field_dict["login_session_id"] = login_session_id
|
||||
if oidc_context is not UNSET:
|
||||
field_dict["oidc_context"] = oidc_context
|
||||
if request_url is not UNSET:
|
||||
field_dict["request_url"] = request_url
|
||||
if requested_access_token_audience is not UNSET:
|
||||
field_dict["requested_access_token_audience"] = requested_access_token_audience
|
||||
if requested_scope is not UNSET:
|
||||
field_dict["requested_scope"] = requested_scope
|
||||
if skip is not UNSET:
|
||||
field_dict["skip"] = skip
|
||||
if subject is not UNSET:
|
||||
field_dict["subject"] = subject
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
challenge = _d.pop("challenge")
|
||||
|
||||
acr = _d.pop("acr", UNSET)
|
||||
|
||||
_client = _d.pop("client", UNSET)
|
||||
client: Union[Unset, OAuth2Client]
|
||||
if isinstance(_client, Unset):
|
||||
client = UNSET
|
||||
else:
|
||||
client = OAuth2Client.from_dict(_client)
|
||||
|
||||
_context = _d.pop("context", UNSET)
|
||||
context: Union[Unset, JSONRawMessage]
|
||||
if isinstance(_context, Unset):
|
||||
context = UNSET
|
||||
else:
|
||||
context = JSONRawMessage.from_dict(_context)
|
||||
|
||||
login_challenge = _d.pop("login_challenge", UNSET)
|
||||
|
||||
login_session_id = _d.pop("login_session_id", UNSET)
|
||||
|
||||
_oidc_context = _d.pop("oidc_context", UNSET)
|
||||
oidc_context: Union[Unset, OpenIDConnectContext]
|
||||
if isinstance(_oidc_context, Unset):
|
||||
oidc_context = UNSET
|
||||
else:
|
||||
oidc_context = OpenIDConnectContext.from_dict(_oidc_context)
|
||||
|
||||
request_url = _d.pop("request_url", UNSET)
|
||||
|
||||
requested_access_token_audience = cast(List[str], _d.pop("requested_access_token_audience", UNSET))
|
||||
|
||||
requested_scope = cast(List[str], _d.pop("requested_scope", UNSET))
|
||||
|
||||
skip = _d.pop("skip", UNSET)
|
||||
|
||||
subject = _d.pop("subject", UNSET)
|
||||
|
||||
consent_request = cls(
|
||||
challenge=challenge,
|
||||
acr=acr,
|
||||
client=client,
|
||||
context=context,
|
||||
login_challenge=login_challenge,
|
||||
login_session_id=login_session_id,
|
||||
oidc_context=oidc_context,
|
||||
request_url=request_url,
|
||||
requested_access_token_audience=requested_access_token_audience,
|
||||
requested_scope=requested_scope,
|
||||
skip=skip,
|
||||
subject=subject,
|
||||
)
|
||||
|
||||
consent_request.additional_properties = _d
|
||||
return consent_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,89 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.consent_request_session_access_token import ConsentRequestSessionAccessToken
|
||||
from ..models.consent_request_session_id_token import ConsentRequestSessionIdToken
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="ConsentRequestSession")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class ConsentRequestSession:
|
||||
"""
|
||||
Attributes:
|
||||
access_token (Union[Unset, ConsentRequestSessionAccessToken]): 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 (Union[Unset, ConsentRequestSessionIdToken]): 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!
|
||||
"""
|
||||
|
||||
access_token: Union[Unset, ConsentRequestSessionAccessToken] = UNSET
|
||||
id_token: Union[Unset, ConsentRequestSessionIdToken] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
access_token: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.access_token, Unset):
|
||||
access_token = self.access_token.to_dict()
|
||||
|
||||
id_token: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.id_token, Unset):
|
||||
id_token = self.id_token.to_dict()
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if access_token is not UNSET:
|
||||
field_dict["access_token"] = access_token
|
||||
if id_token is not UNSET:
|
||||
field_dict["id_token"] = id_token
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
_access_token = _d.pop("access_token", UNSET)
|
||||
access_token: Union[Unset, ConsentRequestSessionAccessToken]
|
||||
if isinstance(_access_token, Unset):
|
||||
access_token = UNSET
|
||||
else:
|
||||
access_token = ConsentRequestSessionAccessToken.from_dict(_access_token)
|
||||
|
||||
_id_token = _d.pop("id_token", UNSET)
|
||||
id_token: Union[Unset, ConsentRequestSessionIdToken]
|
||||
if isinstance(_id_token, Unset):
|
||||
id_token = UNSET
|
||||
else:
|
||||
id_token = ConsentRequestSessionIdToken.from_dict(_id_token)
|
||||
|
||||
consent_request_session = cls(
|
||||
access_token=access_token,
|
||||
id_token=id_token,
|
||||
)
|
||||
|
||||
consent_request_session.additional_properties = _d
|
||||
return consent_request_session
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,49 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="ConsentRequestSessionAccessToken")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class ConsentRequestSessionAccessToken:
|
||||
"""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!
|
||||
|
||||
"""
|
||||
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
consent_request_session_access_token = cls()
|
||||
|
||||
consent_request_session_access_token.additional_properties = _d
|
||||
return consent_request_session_access_token
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,47 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="ConsentRequestSessionIdToken")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class ConsentRequestSessionIdToken:
|
||||
"""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!
|
||||
|
||||
"""
|
||||
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
consent_request_session_id_token = cls()
|
||||
|
||||
consent_request_session_id_token.additional_properties = _d
|
||||
return consent_request_session_id_token
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,58 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="ContainerWaitOKBodyError")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class ContainerWaitOKBodyError:
|
||||
"""ContainerWaitOKBodyError container waiting error, if any
|
||||
|
||||
Attributes:
|
||||
message (Union[Unset, str]): Details of an error
|
||||
"""
|
||||
|
||||
message: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
message = self.message
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if message is not UNSET:
|
||||
field_dict["Message"] = message
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
message = _d.pop("Message", UNSET)
|
||||
|
||||
container_wait_ok_body_error = cls(
|
||||
message=message,
|
||||
)
|
||||
|
||||
container_wait_ok_body_error.additional_properties = _d
|
||||
return container_wait_ok_body_error
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,68 @@
|
|||
import datetime
|
||||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
from dateutil.parser import isoparse
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="FlushInactiveOAuth2TokensRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class FlushInactiveOAuth2TokensRequest:
|
||||
"""
|
||||
Attributes:
|
||||
not_after (Union[Unset, datetime.datetime]): 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.
|
||||
"""
|
||||
|
||||
not_after: Union[Unset, datetime.datetime] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
not_after: Union[Unset, str] = UNSET
|
||||
if not isinstance(self.not_after, Unset):
|
||||
not_after = self.not_after.isoformat()
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if not_after is not UNSET:
|
||||
field_dict["notAfter"] = not_after
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
_not_after = _d.pop("notAfter", UNSET)
|
||||
not_after: Union[Unset, datetime.datetime]
|
||||
if isinstance(_not_after, Unset):
|
||||
not_after = UNSET
|
||||
else:
|
||||
not_after = isoparse(_not_after)
|
||||
|
||||
flush_inactive_o_auth_2_tokens_request = cls(
|
||||
not_after=not_after,
|
||||
)
|
||||
|
||||
flush_inactive_o_auth_2_tokens_request.additional_properties = _d
|
||||
return flush_inactive_o_auth_2_tokens_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,86 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="GenericError")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class GenericError:
|
||||
"""Error responses are sent when an error (e.g. unauthorized, bad request, ...) occurred.
|
||||
|
||||
Attributes:
|
||||
error (str): Name is the error name. Example: The requested resource could not be found.
|
||||
debug (Union[Unset, str]): Debug contains debug information. This is usually not available and has to be
|
||||
enabled. Example: The database adapter was unable to find the element.
|
||||
error_description (Union[Unset, str]): Description contains further information on the nature of the error.
|
||||
Example: Object with ID 12345 does not exist.
|
||||
status_code (Union[Unset, int]): Code represents the error status code (404, 403, 401, ...). Example: 404.
|
||||
"""
|
||||
|
||||
error: str
|
||||
debug: Union[Unset, str] = UNSET
|
||||
error_description: Union[Unset, str] = UNSET
|
||||
status_code: Union[Unset, int] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
error = self.error
|
||||
debug = self.debug
|
||||
error_description = self.error_description
|
||||
status_code = self.status_code
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"error": error,
|
||||
}
|
||||
)
|
||||
if debug is not UNSET:
|
||||
field_dict["debug"] = debug
|
||||
if error_description is not UNSET:
|
||||
field_dict["error_description"] = error_description
|
||||
if status_code is not UNSET:
|
||||
field_dict["status_code"] = status_code
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
error = _d.pop("error")
|
||||
|
||||
debug = _d.pop("debug", UNSET)
|
||||
|
||||
error_description = _d.pop("error_description", UNSET)
|
||||
|
||||
status_code = _d.pop("status_code", UNSET)
|
||||
|
||||
generic_error = cls(
|
||||
error=error,
|
||||
debug=debug,
|
||||
error_description=error_description,
|
||||
status_code=status_code,
|
||||
)
|
||||
|
||||
generic_error.additional_properties = _d
|
||||
return generic_error
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,66 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.health_not_ready_status_errors import HealthNotReadyStatusErrors
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="HealthNotReadyStatus")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class HealthNotReadyStatus:
|
||||
"""
|
||||
Attributes:
|
||||
errors (Union[Unset, HealthNotReadyStatusErrors]): Errors contains a list of errors that caused the not ready
|
||||
status.
|
||||
"""
|
||||
|
||||
errors: Union[Unset, HealthNotReadyStatusErrors] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
errors: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.errors, Unset):
|
||||
errors = self.errors.to_dict()
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if errors is not UNSET:
|
||||
field_dict["errors"] = errors
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
_errors = _d.pop("errors", UNSET)
|
||||
errors: Union[Unset, HealthNotReadyStatusErrors]
|
||||
if isinstance(_errors, Unset):
|
||||
errors = UNSET
|
||||
else:
|
||||
errors = HealthNotReadyStatusErrors.from_dict(_errors)
|
||||
|
||||
health_not_ready_status = cls(
|
||||
errors=errors,
|
||||
)
|
||||
|
||||
health_not_ready_status.additional_properties = _d
|
||||
return health_not_ready_status
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,44 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="HealthNotReadyStatusErrors")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class HealthNotReadyStatusErrors:
|
||||
"""Errors contains a list of errors that caused the not ready status."""
|
||||
|
||||
additional_properties: Dict[str, str] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
health_not_ready_status_errors = cls()
|
||||
|
||||
health_not_ready_status_errors.additional_properties = _d
|
||||
return health_not_ready_status_errors
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> str:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: str) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,57 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="HealthStatus")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class HealthStatus:
|
||||
"""
|
||||
Attributes:
|
||||
status (Union[Unset, str]): Status always contains "ok".
|
||||
"""
|
||||
|
||||
status: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
status = self.status
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if status is not UNSET:
|
||||
field_dict["status"] = status
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
status = _d.pop("status", UNSET)
|
||||
|
||||
health_status = cls(
|
||||
status=status,
|
||||
)
|
||||
|
||||
health_status.additional_properties = _d
|
||||
return health_status
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,44 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="JoseJSONWebKeySet")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class JoseJSONWebKeySet:
|
||||
""" """
|
||||
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
jose_json_web_key_set = cls()
|
||||
|
||||
jose_json_web_key_set.additional_properties = _d
|
||||
return jose_json_web_key_set
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,44 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="JSONRawMessage")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class JSONRawMessage:
|
||||
""" """
|
||||
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
json_raw_message = cls()
|
||||
|
||||
json_raw_message.additional_properties = _d
|
||||
return json_raw_message
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
237
libs/ory-hydra-client/ory_hydra_client/models/json_web_key.py
Normal file
237
libs/ory-hydra-client/ory_hydra_client/models/json_web_key.py
Normal file
|
@ -0,0 +1,237 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="JSONWebKey")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class JSONWebKey:
|
||||
"""It is important that this model object is named JSONWebKey for
|
||||
"swagger generate spec" to generate only on definition of a
|
||||
JSONWebKey.
|
||||
|
||||
Attributes:
|
||||
alg (str): 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.
|
||||
kid (str): 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.
|
||||
kty (str): 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.
|
||||
use (str): 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.
|
||||
crv (Union[Unset, str]): Example: P-256.
|
||||
d (Union[Unset, str]): Example:
|
||||
T_N8I-6He3M8a7X1vWt6TGIx4xB_GP3Mb4SsZSA4v-orvJzzRiQhLlRR81naWYxfQAYt5isDI6_C2L9bdWo4FFPjGQFvNoRX-_sBJyBI_rl-
|
||||
TBgsZYoUlAj3J92WmY2inbA-PwyJfsaIIDceYBC-eX-
|
||||
xiCu6qMqkZi3MwQAFL6bMdPEM0z4JBcwFT3VdiWAIRUuACWQwrXMq672x7fMuaIaHi7XDGgt1ith23CLfaREmJku9PQcchbt_uEY-hqrFY6ntTtS
|
||||
4paWWQj86xLL94S-Tf6v6xkL918PfLSOTq6XCzxvlFwzBJqApnAhbwqLjpPhgUG04EDRrqrSBc5Y1BLevn6Ip5h1AhessBp3wLkQgz_roeckt-
|
||||
ybvzKTjESMuagnpqLvOT7Y9veIug2MwPJZI2VjczRc1vzMs25XrFQ8DpUy-bNdp89TmvAXwctUMiJdgHloJw23Cv03gIUAkDnsTqZmkpbIf-crpg
|
||||
NKFmQP_EDKoe8p_PXZZgfbRri3NoEVGP7Mk6yEu8LjJhClhZaBNjuWw2-KlBfOA3g79mhfBnkInee5KO9mGR50qPk1V-MorUYNTFMZIm0kFE6eYV
|
||||
WFBwJHLKYhHU34DoiK1VP-svZpC2uAMFNA_UJEwM9CQ2b8qe4-5e9aywMvwcuArRkAB5mBIfOaOJao3mfukKAE.
|
||||
dp (Union[Unset, str]): Example: G4sPXkc6Ya9y8oJW9_ILj4xuppu0lzi_H7VTkS8xj5SdX3coE0oimYwxIi2emTAue0UOa5dpgFGyBJ
|
||||
4c8tQ2VF402XRugKDTP8akYhFo5tAA77Qe_NmtuYZc3C3m3I24G2GvR5sSDxUyAN2zq8Lfn9EUms6rY3Ob8YeiKkTiBj0.
|
||||
dq (Union[Unset, str]): Example: s9lAH9fggBsoFR8Oac2R_E2gw282rT2kGOAhvIllETE1efrA6huUUvMfBcMpn8lqeW6vzznYY5SSQF
|
||||
7pMdC_agI3nG8Ibp1BUb0JUiraRNqUfLhcQb_d9GF4Dh7e74WbRsobRonujTYN1xCaP6TO61jvWrX-L18txXw494Q_cgk.
|
||||
e (Union[Unset, str]): Example: AQAB.
|
||||
k (Union[Unset, str]): Example: GawgguFyGrWKav7AX4VKUg.
|
||||
n (Union[Unset, str]): Example: vTqrxUyQPl_20aqf5kXHwDZrel-KovIp8s7ewJod2EXHl8tWlRB3_Rem34KwBfqlKQGp1nqah-51H4J
|
||||
zruqe0cFP58hPEIt6WqrvnmJCXxnNuIB53iX_uUUXXHDHBeaPCSRoNJzNysjoJ30TIUsKBiirhBa7f235PXbKiHducLevV6PcKxJ5cY8zO286qJL
|
||||
BWSPm-OIevwqsIsSIH44Qtm9sioFikhkbLwoqwWORGAY0nl6XvVOlhADdLjBSqSAeT1FPuCDCnXwzCDR8N9IFB_IjdStFkC-rVt2K5BYfPd0c3yF
|
||||
p_vHR15eRd0zJ8XQ7woBC8Vnsac6Et1pKS59pX6256DPWu8UDdEOolKAPgcd_g2NpA76cAaF_jcT80j9KrEzw8Tv0nJBGesuCjPNjGs_KzdkWTUX
|
||||
t23Hn9QJsdc1MZuaW0iqXBepHYfYoqNelzVte117t4BwVp0kUM6we0IqyXClaZgOI8S-WDBw2_Ovdm8e5NmhYAblEVoygcX8Y46oH6bKiaCQfKCF
|
||||
DMcRgChme7AoE1yZZYsPbaG_3IjPrC4LBMHQw8rM9dWjJ8ImjicvZ1pAm0dx-
|
||||
KHCP3y5PVKrxBDf1zSOsBRkOSjB8TPODnJMz6-jd5hTtZxpZPwPoIdCanTZ3ZD6uRBpTmDwtpRGm63UQs1m5FWPwb0T2IF0.
|
||||
p (Union[Unset, str]): Example: 6NbkXwDWUhi-eR55Cgbf27FkQDDWIamOaDr0rj1q0f1fFEz1W5A_09YvG09Fiv1AO2-D8Rl8gS1Vkz2
|
||||
i0zCSqnyy8A025XOcRviOMK7nIxE4OH_PEsko8dtIrb3TmE2hUXvCkmzw9EsTF1LQBOGC6iusLTXepIC1x9ukCKFZQvdgtEObQ5kzd9Nhq-cdqmS
|
||||
eMVLoxPLd1blviVT9Vm8-y12CtYpeJHOaIDtVPLlBhJiBoPKWg3vxSm4XxIliNOefqegIlsmTIa3MpS6WWlCK3yHhat0Q-rRxDxdyiVdG_wzJvp0
|
||||
Iw_2wms7pe-PgNPYvUWH9JphWP5K38YqEBiJFXQ.
|
||||
q (Union[Unset, str]): Example: 0A1FmpOWR91_RAWpqreWSavNaZb9nXeKiBo0DQGBz32DbqKqQ8S4aBJmbRhJcctjCLjain-
|
||||
ivut477tAUMmzJwVJDDq2MZFwC9Q-4VYZmFU4HJityQuSzHYe64RjN-E_NQ02TWhG3QGW6roq6c57c99rrUsETwJJiwS8M5p15Miuz53DaOjv-
|
||||
uqqFAFfywN5WkxHbraBcjHtMiQuyQbQqkCFh-oanHkwYNeytsNhTu2mQmwR5DR2roZ2nPiFjC6nsdk-A7E3S3wMzYYFw7jvbWWoYWo9vB40_MY2Y
|
||||
0FYQSqcDzcBIcq_0tnnasf3VW4Fdx6m80RzOb2Fsnln7vKXAQ.
|
||||
qi (Union[Unset, str]): Example: GyM_p6JrXySiz1toFgKbWV-JdI3jQ4ypu9rbMWx3rQJBfmt0FoYzgUIZEVFEcOqwemRN81zoDAaa-
|
||||
Bk0KWNGDjJHZDdDmFhW3AN7lI-puxk_mHZGJ11rxyR8O55XLSe3SPmRfKwZI6yU24ZxvQKFYItdldUKGzO6Ia6zTKhAVRU.
|
||||
x (Union[Unset, str]): Example: f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU.
|
||||
x5c (Union[Unset, List[str]]): 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.
|
||||
y (Union[Unset, str]): Example: x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0.
|
||||
"""
|
||||
|
||||
alg: str
|
||||
kid: str
|
||||
kty: str
|
||||
use: str
|
||||
crv: Union[Unset, str] = UNSET
|
||||
d: Union[Unset, str] = UNSET
|
||||
dp: Union[Unset, str] = UNSET
|
||||
dq: Union[Unset, str] = UNSET
|
||||
e: Union[Unset, str] = UNSET
|
||||
k: Union[Unset, str] = UNSET
|
||||
n: Union[Unset, str] = UNSET
|
||||
p: Union[Unset, str] = UNSET
|
||||
q: Union[Unset, str] = UNSET
|
||||
qi: Union[Unset, str] = UNSET
|
||||
x: Union[Unset, str] = UNSET
|
||||
x5c: Union[Unset, List[str]] = UNSET
|
||||
y: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
alg = self.alg
|
||||
kid = self.kid
|
||||
kty = self.kty
|
||||
use = self.use
|
||||
crv = self.crv
|
||||
d = self.d
|
||||
dp = self.dp
|
||||
dq = self.dq
|
||||
e = self.e
|
||||
k = self.k
|
||||
n = self.n
|
||||
p = self.p
|
||||
q = self.q
|
||||
qi = self.qi
|
||||
x = self.x
|
||||
x5c: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.x5c, Unset):
|
||||
x5c = self.x5c
|
||||
|
||||
y = self.y
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"alg": alg,
|
||||
"kid": kid,
|
||||
"kty": kty,
|
||||
"use": use,
|
||||
}
|
||||
)
|
||||
if crv is not UNSET:
|
||||
field_dict["crv"] = crv
|
||||
if d is not UNSET:
|
||||
field_dict["d"] = d
|
||||
if dp is not UNSET:
|
||||
field_dict["dp"] = dp
|
||||
if dq is not UNSET:
|
||||
field_dict["dq"] = dq
|
||||
if e is not UNSET:
|
||||
field_dict["e"] = e
|
||||
if k is not UNSET:
|
||||
field_dict["k"] = k
|
||||
if n is not UNSET:
|
||||
field_dict["n"] = n
|
||||
if p is not UNSET:
|
||||
field_dict["p"] = p
|
||||
if q is not UNSET:
|
||||
field_dict["q"] = q
|
||||
if qi is not UNSET:
|
||||
field_dict["qi"] = qi
|
||||
if x is not UNSET:
|
||||
field_dict["x"] = x
|
||||
if x5c is not UNSET:
|
||||
field_dict["x5c"] = x5c
|
||||
if y is not UNSET:
|
||||
field_dict["y"] = y
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
alg = _d.pop("alg")
|
||||
|
||||
kid = _d.pop("kid")
|
||||
|
||||
kty = _d.pop("kty")
|
||||
|
||||
use = _d.pop("use")
|
||||
|
||||
crv = _d.pop("crv", UNSET)
|
||||
|
||||
d = _d.pop("d", UNSET)
|
||||
|
||||
dp = _d.pop("dp", UNSET)
|
||||
|
||||
dq = _d.pop("dq", UNSET)
|
||||
|
||||
e = _d.pop("e", UNSET)
|
||||
|
||||
k = _d.pop("k", UNSET)
|
||||
|
||||
n = _d.pop("n", UNSET)
|
||||
|
||||
p = _d.pop("p", UNSET)
|
||||
|
||||
q = _d.pop("q", UNSET)
|
||||
|
||||
qi = _d.pop("qi", UNSET)
|
||||
|
||||
x = _d.pop("x", UNSET)
|
||||
|
||||
x5c = cast(List[str], _d.pop("x5c", UNSET))
|
||||
|
||||
y = _d.pop("y", UNSET)
|
||||
|
||||
json_web_key = cls(
|
||||
alg=alg,
|
||||
kid=kid,
|
||||
kty=kty,
|
||||
use=use,
|
||||
crv=crv,
|
||||
d=d,
|
||||
dp=dp,
|
||||
dq=dq,
|
||||
e=e,
|
||||
k=k,
|
||||
n=n,
|
||||
p=p,
|
||||
q=q,
|
||||
qi=qi,
|
||||
x=x,
|
||||
x5c=x5c,
|
||||
y=y,
|
||||
)
|
||||
|
||||
json_web_key.additional_properties = _d
|
||||
return json_web_key
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,78 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.json_web_key import JSONWebKey
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="JSONWebKeySet")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class 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.
|
||||
|
||||
Attributes:
|
||||
keys (Union[Unset, List[JSONWebKey]]): The value of the "keys" parameter is an array of JWK values. By
|
||||
default, the order of the JWK values within the array does not imply
|
||||
an order of preference among them, although applications of JWK Sets
|
||||
can choose to assign a meaning to the order for their purposes, if
|
||||
desired.
|
||||
"""
|
||||
|
||||
keys: Union[Unset, List[JSONWebKey]] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
keys: Union[Unset, List[Dict[str, Any]]] = UNSET
|
||||
if not isinstance(self.keys, Unset):
|
||||
keys = []
|
||||
for keys_item_data in self.keys:
|
||||
keys_item = keys_item_data.to_dict()
|
||||
|
||||
keys.append(keys_item)
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if keys is not UNSET:
|
||||
field_dict["keys"] = keys
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
keys = []
|
||||
_keys = _d.pop("keys", UNSET)
|
||||
for keys_item_data in _keys or []:
|
||||
keys_item = JSONWebKey.from_dict(keys_item_data)
|
||||
|
||||
keys.append(keys_item)
|
||||
|
||||
json_web_key_set = cls(
|
||||
keys=keys,
|
||||
)
|
||||
|
||||
json_web_key_set.additional_properties = _d
|
||||
return json_web_key_set
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,74 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="JsonWebKeySetGeneratorRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class JsonWebKeySetGeneratorRequest:
|
||||
"""
|
||||
Attributes:
|
||||
alg (str): The algorithm to be used for creating the key. Supports "RS256", "ES512", "HS512", and "HS256"
|
||||
kid (str): The kid of the key to be created
|
||||
use (str): 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".
|
||||
"""
|
||||
|
||||
alg: str
|
||||
kid: str
|
||||
use: str
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
alg = self.alg
|
||||
kid = self.kid
|
||||
use = self.use
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"alg": alg,
|
||||
"kid": kid,
|
||||
"use": use,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
alg = _d.pop("alg")
|
||||
|
||||
kid = _d.pop("kid")
|
||||
|
||||
use = _d.pop("use")
|
||||
|
||||
json_web_key_set_generator_request = cls(
|
||||
alg=alg,
|
||||
kid=kid,
|
||||
use=use,
|
||||
)
|
||||
|
||||
json_web_key_set_generator_request.additional_properties = _d
|
||||
return json_web_key_set_generator_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
147
libs/ory-hydra-client/ory_hydra_client/models/login_request.py
Normal file
147
libs/ory-hydra-client/ory_hydra_client/models/login_request.py
Normal file
|
@ -0,0 +1,147 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.o_auth_2_client import OAuth2Client
|
||||
from ..models.open_id_connect_context import OpenIDConnectContext
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="LoginRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class LoginRequest:
|
||||
"""
|
||||
Attributes:
|
||||
challenge (str): ID is the identifier ("login challenge") of the login request. It is used to
|
||||
identify the session.
|
||||
client (OAuth2Client):
|
||||
request_url (str): 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.
|
||||
requested_access_token_audience (List[str]):
|
||||
requested_scope (List[str]):
|
||||
skip (bool): 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.
|
||||
subject (str): 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.
|
||||
oidc_context (Union[Unset, OpenIDConnectContext]):
|
||||
session_id (Union[Unset, str]): 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.
|
||||
"""
|
||||
|
||||
challenge: str
|
||||
client: OAuth2Client
|
||||
request_url: str
|
||||
requested_access_token_audience: List[str]
|
||||
requested_scope: List[str]
|
||||
skip: bool
|
||||
subject: str
|
||||
oidc_context: Union[Unset, OpenIDConnectContext] = UNSET
|
||||
session_id: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
challenge = self.challenge
|
||||
client = self.client.to_dict()
|
||||
|
||||
request_url = self.request_url
|
||||
requested_access_token_audience = self.requested_access_token_audience
|
||||
|
||||
requested_scope = self.requested_scope
|
||||
|
||||
skip = self.skip
|
||||
subject = self.subject
|
||||
oidc_context: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.oidc_context, Unset):
|
||||
oidc_context = self.oidc_context.to_dict()
|
||||
|
||||
session_id = self.session_id
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"challenge": challenge,
|
||||
"client": client,
|
||||
"request_url": request_url,
|
||||
"requested_access_token_audience": requested_access_token_audience,
|
||||
"requested_scope": requested_scope,
|
||||
"skip": skip,
|
||||
"subject": subject,
|
||||
}
|
||||
)
|
||||
if oidc_context is not UNSET:
|
||||
field_dict["oidc_context"] = oidc_context
|
||||
if session_id is not UNSET:
|
||||
field_dict["session_id"] = session_id
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
challenge = _d.pop("challenge")
|
||||
|
||||
client = OAuth2Client.from_dict(_d.pop("client"))
|
||||
|
||||
request_url = _d.pop("request_url")
|
||||
|
||||
requested_access_token_audience = cast(List[str], _d.pop("requested_access_token_audience"))
|
||||
|
||||
requested_scope = cast(List[str], _d.pop("requested_scope"))
|
||||
|
||||
skip = _d.pop("skip")
|
||||
|
||||
subject = _d.pop("subject")
|
||||
|
||||
_oidc_context = _d.pop("oidc_context", UNSET)
|
||||
oidc_context: Union[Unset, OpenIDConnectContext]
|
||||
if isinstance(_oidc_context, Unset):
|
||||
oidc_context = UNSET
|
||||
else:
|
||||
oidc_context = OpenIDConnectContext.from_dict(_oidc_context)
|
||||
|
||||
session_id = _d.pop("session_id", UNSET)
|
||||
|
||||
login_request = cls(
|
||||
challenge=challenge,
|
||||
client=client,
|
||||
request_url=request_url,
|
||||
requested_access_token_audience=requested_access_token_audience,
|
||||
requested_scope=requested_scope,
|
||||
skip=skip,
|
||||
subject=subject,
|
||||
oidc_context=oidc_context,
|
||||
session_id=session_id,
|
||||
)
|
||||
|
||||
login_request.additional_properties = _d
|
||||
return login_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,82 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="LogoutRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class LogoutRequest:
|
||||
"""
|
||||
Attributes:
|
||||
request_url (Union[Unset, str]): RequestURL is the original Logout URL requested.
|
||||
rp_initiated (Union[Unset, bool]): RPInitiated is set to true if the request was initiated by a Relying Party
|
||||
(RP), also known as an OAuth 2.0 Client.
|
||||
sid (Union[Unset, str]): SessionID is the login session ID that was requested to log out.
|
||||
subject (Union[Unset, str]): Subject is the user for whom the logout was request.
|
||||
"""
|
||||
|
||||
request_url: Union[Unset, str] = UNSET
|
||||
rp_initiated: Union[Unset, bool] = UNSET
|
||||
sid: Union[Unset, str] = UNSET
|
||||
subject: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
request_url = self.request_url
|
||||
rp_initiated = self.rp_initiated
|
||||
sid = self.sid
|
||||
subject = self.subject
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if request_url is not UNSET:
|
||||
field_dict["request_url"] = request_url
|
||||
if rp_initiated is not UNSET:
|
||||
field_dict["rp_initiated"] = rp_initiated
|
||||
if sid is not UNSET:
|
||||
field_dict["sid"] = sid
|
||||
if subject is not UNSET:
|
||||
field_dict["subject"] = subject
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
request_url = _d.pop("request_url", UNSET)
|
||||
|
||||
rp_initiated = _d.pop("rp_initiated", UNSET)
|
||||
|
||||
sid = _d.pop("sid", UNSET)
|
||||
|
||||
subject = _d.pop("subject", UNSET)
|
||||
|
||||
logout_request = cls(
|
||||
request_url=request_url,
|
||||
rp_initiated=rp_initiated,
|
||||
sid=sid,
|
||||
subject=subject,
|
||||
)
|
||||
|
||||
logout_request.additional_properties = _d
|
||||
return logout_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
426
libs/ory-hydra-client/ory_hydra_client/models/o_auth_2_client.py
Normal file
426
libs/ory-hydra-client/ory_hydra_client/models/o_auth_2_client.py
Normal file
|
@ -0,0 +1,426 @@
|
|||
import datetime
|
||||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
from dateutil.parser import isoparse
|
||||
|
||||
from ..models.jose_json_web_key_set import JoseJSONWebKeySet
|
||||
from ..models.json_raw_message import JSONRawMessage
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="OAuth2Client")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class OAuth2Client:
|
||||
"""
|
||||
Attributes:
|
||||
allowed_cors_origins (Union[Unset, List[str]]):
|
||||
audience (Union[Unset, List[str]]):
|
||||
backchannel_logout_session_required (Union[Unset, bool]): 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.
|
||||
backchannel_logout_uri (Union[Unset, str]): RP URL that will cause the RP to log itself out when sent a Logout
|
||||
Token by the OP.
|
||||
client_id (Union[Unset, str]): ID is the id for this client.
|
||||
client_name (Union[Unset, str]): Name is the human-readable string name of the client to be presented to the
|
||||
end-user during authorization.
|
||||
client_secret (Union[Unset, str]): 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.
|
||||
client_secret_expires_at (Union[Unset, int]): 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.
|
||||
client_uri (Union[Unset, str]): 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.
|
||||
contacts (Union[Unset, List[str]]):
|
||||
created_at (Union[Unset, datetime.datetime]): CreatedAt returns the timestamp of the client's creation.
|
||||
frontchannel_logout_session_required (Union[Unset, bool]): 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.
|
||||
frontchannel_logout_uri (Union[Unset, str]): 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.
|
||||
grant_types (Union[Unset, List[str]]):
|
||||
jwks (Union[Unset, JoseJSONWebKeySet]):
|
||||
jwks_uri (Union[Unset, str]): 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.
|
||||
logo_uri (Union[Unset, str]): LogoURI is an URL string that references a logo for the client.
|
||||
metadata (Union[Unset, JSONRawMessage]):
|
||||
owner (Union[Unset, str]): Owner is a string identifying the owner of the OAuth 2.0 Client.
|
||||
policy_uri (Union[Unset, str]): 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.
|
||||
post_logout_redirect_uris (Union[Unset, List[str]]):
|
||||
redirect_uris (Union[Unset, List[str]]):
|
||||
request_object_signing_alg (Union[Unset, str]): 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.
|
||||
request_uris (Union[Unset, List[str]]):
|
||||
response_types (Union[Unset, List[str]]):
|
||||
scope (Union[Unset, str]): 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.
|
||||
sector_identifier_uri (Union[Unset, str]): 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.
|
||||
subject_type (Union[Unset, str]): 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`.
|
||||
token_endpoint_auth_method (Union[Unset, str]): Requested Client Authentication method for the Token Endpoint.
|
||||
The options are client_secret_post,
|
||||
client_secret_basic, private_key_jwt, and none.
|
||||
token_endpoint_auth_signing_alg (Union[Unset, str]): Requested Client Authentication signing algorithm for the
|
||||
Token Endpoint.
|
||||
tos_uri (Union[Unset, str]): 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.
|
||||
updated_at (Union[Unset, datetime.datetime]): UpdatedAt returns the timestamp of the last update.
|
||||
userinfo_signed_response_alg (Union[Unset, str]): 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.
|
||||
"""
|
||||
|
||||
allowed_cors_origins: Union[Unset, List[str]] = UNSET
|
||||
audience: Union[Unset, List[str]] = UNSET
|
||||
backchannel_logout_session_required: Union[Unset, bool] = UNSET
|
||||
backchannel_logout_uri: Union[Unset, str] = UNSET
|
||||
client_id: Union[Unset, str] = UNSET
|
||||
client_name: Union[Unset, str] = UNSET
|
||||
client_secret: Union[Unset, str] = UNSET
|
||||
client_secret_expires_at: Union[Unset, int] = UNSET
|
||||
client_uri: Union[Unset, str] = UNSET
|
||||
contacts: Union[Unset, List[str]] = UNSET
|
||||
created_at: Union[Unset, datetime.datetime] = UNSET
|
||||
frontchannel_logout_session_required: Union[Unset, bool] = UNSET
|
||||
frontchannel_logout_uri: Union[Unset, str] = UNSET
|
||||
grant_types: Union[Unset, List[str]] = UNSET
|
||||
jwks: Union[Unset, JoseJSONWebKeySet] = UNSET
|
||||
jwks_uri: Union[Unset, str] = UNSET
|
||||
logo_uri: Union[Unset, str] = UNSET
|
||||
metadata: Union[Unset, JSONRawMessage] = UNSET
|
||||
owner: Union[Unset, str] = UNSET
|
||||
policy_uri: Union[Unset, str] = UNSET
|
||||
post_logout_redirect_uris: Union[Unset, List[str]] = UNSET
|
||||
redirect_uris: Union[Unset, List[str]] = UNSET
|
||||
request_object_signing_alg: Union[Unset, str] = UNSET
|
||||
request_uris: Union[Unset, List[str]] = UNSET
|
||||
response_types: Union[Unset, List[str]] = UNSET
|
||||
scope: Union[Unset, str] = UNSET
|
||||
sector_identifier_uri: Union[Unset, str] = UNSET
|
||||
subject_type: Union[Unset, str] = UNSET
|
||||
token_endpoint_auth_method: Union[Unset, str] = UNSET
|
||||
token_endpoint_auth_signing_alg: Union[Unset, str] = UNSET
|
||||
tos_uri: Union[Unset, str] = UNSET
|
||||
updated_at: Union[Unset, datetime.datetime] = UNSET
|
||||
userinfo_signed_response_alg: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
allowed_cors_origins: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.allowed_cors_origins, Unset):
|
||||
allowed_cors_origins = self.allowed_cors_origins
|
||||
|
||||
audience: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.audience, Unset):
|
||||
audience = self.audience
|
||||
|
||||
backchannel_logout_session_required = self.backchannel_logout_session_required
|
||||
backchannel_logout_uri = self.backchannel_logout_uri
|
||||
client_id = self.client_id
|
||||
client_name = self.client_name
|
||||
client_secret = self.client_secret
|
||||
client_secret_expires_at = self.client_secret_expires_at
|
||||
client_uri = self.client_uri
|
||||
contacts: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.contacts, Unset):
|
||||
contacts = self.contacts
|
||||
|
||||
created_at: Union[Unset, str] = UNSET
|
||||
if not isinstance(self.created_at, Unset):
|
||||
created_at = self.created_at.isoformat()
|
||||
|
||||
frontchannel_logout_session_required = self.frontchannel_logout_session_required
|
||||
frontchannel_logout_uri = self.frontchannel_logout_uri
|
||||
grant_types: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.grant_types, Unset):
|
||||
grant_types = self.grant_types
|
||||
|
||||
jwks: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.jwks, Unset):
|
||||
jwks = self.jwks.to_dict()
|
||||
|
||||
jwks_uri = self.jwks_uri
|
||||
logo_uri = self.logo_uri
|
||||
metadata: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.metadata, Unset):
|
||||
metadata = self.metadata.to_dict()
|
||||
|
||||
owner = self.owner
|
||||
policy_uri = self.policy_uri
|
||||
post_logout_redirect_uris: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.post_logout_redirect_uris, Unset):
|
||||
post_logout_redirect_uris = self.post_logout_redirect_uris
|
||||
|
||||
redirect_uris: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.redirect_uris, Unset):
|
||||
redirect_uris = self.redirect_uris
|
||||
|
||||
request_object_signing_alg = self.request_object_signing_alg
|
||||
request_uris: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.request_uris, Unset):
|
||||
request_uris = self.request_uris
|
||||
|
||||
response_types: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.response_types, Unset):
|
||||
response_types = self.response_types
|
||||
|
||||
scope = self.scope
|
||||
sector_identifier_uri = self.sector_identifier_uri
|
||||
subject_type = self.subject_type
|
||||
token_endpoint_auth_method = self.token_endpoint_auth_method
|
||||
token_endpoint_auth_signing_alg = self.token_endpoint_auth_signing_alg
|
||||
tos_uri = self.tos_uri
|
||||
updated_at: Union[Unset, str] = UNSET
|
||||
if not isinstance(self.updated_at, Unset):
|
||||
updated_at = self.updated_at.isoformat()
|
||||
|
||||
userinfo_signed_response_alg = self.userinfo_signed_response_alg
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if allowed_cors_origins is not UNSET:
|
||||
field_dict["allowed_cors_origins"] = allowed_cors_origins
|
||||
if audience is not UNSET:
|
||||
field_dict["audience"] = audience
|
||||
if backchannel_logout_session_required is not UNSET:
|
||||
field_dict["backchannel_logout_session_required"] = backchannel_logout_session_required
|
||||
if backchannel_logout_uri is not UNSET:
|
||||
field_dict["backchannel_logout_uri"] = backchannel_logout_uri
|
||||
if client_id is not UNSET:
|
||||
field_dict["client_id"] = client_id
|
||||
if client_name is not UNSET:
|
||||
field_dict["client_name"] = client_name
|
||||
if client_secret is not UNSET:
|
||||
field_dict["client_secret"] = client_secret
|
||||
if client_secret_expires_at is not UNSET:
|
||||
field_dict["client_secret_expires_at"] = client_secret_expires_at
|
||||
if client_uri is not UNSET:
|
||||
field_dict["client_uri"] = client_uri
|
||||
if contacts is not UNSET:
|
||||
field_dict["contacts"] = contacts
|
||||
if created_at is not UNSET:
|
||||
field_dict["created_at"] = created_at
|
||||
if frontchannel_logout_session_required is not UNSET:
|
||||
field_dict["frontchannel_logout_session_required"] = frontchannel_logout_session_required
|
||||
if frontchannel_logout_uri is not UNSET:
|
||||
field_dict["frontchannel_logout_uri"] = frontchannel_logout_uri
|
||||
if grant_types is not UNSET:
|
||||
field_dict["grant_types"] = grant_types
|
||||
if jwks is not UNSET:
|
||||
field_dict["jwks"] = jwks
|
||||
if jwks_uri is not UNSET:
|
||||
field_dict["jwks_uri"] = jwks_uri
|
||||
if logo_uri is not UNSET:
|
||||
field_dict["logo_uri"] = logo_uri
|
||||
if metadata is not UNSET:
|
||||
field_dict["metadata"] = metadata
|
||||
if owner is not UNSET:
|
||||
field_dict["owner"] = owner
|
||||
if policy_uri is not UNSET:
|
||||
field_dict["policy_uri"] = policy_uri
|
||||
if post_logout_redirect_uris is not UNSET:
|
||||
field_dict["post_logout_redirect_uris"] = post_logout_redirect_uris
|
||||
if redirect_uris is not UNSET:
|
||||
field_dict["redirect_uris"] = redirect_uris
|
||||
if request_object_signing_alg is not UNSET:
|
||||
field_dict["request_object_signing_alg"] = request_object_signing_alg
|
||||
if request_uris is not UNSET:
|
||||
field_dict["request_uris"] = request_uris
|
||||
if response_types is not UNSET:
|
||||
field_dict["response_types"] = response_types
|
||||
if scope is not UNSET:
|
||||
field_dict["scope"] = scope
|
||||
if sector_identifier_uri is not UNSET:
|
||||
field_dict["sector_identifier_uri"] = sector_identifier_uri
|
||||
if subject_type is not UNSET:
|
||||
field_dict["subject_type"] = subject_type
|
||||
if token_endpoint_auth_method is not UNSET:
|
||||
field_dict["token_endpoint_auth_method"] = token_endpoint_auth_method
|
||||
if token_endpoint_auth_signing_alg is not UNSET:
|
||||
field_dict["token_endpoint_auth_signing_alg"] = token_endpoint_auth_signing_alg
|
||||
if tos_uri is not UNSET:
|
||||
field_dict["tos_uri"] = tos_uri
|
||||
if updated_at is not UNSET:
|
||||
field_dict["updated_at"] = updated_at
|
||||
if userinfo_signed_response_alg is not UNSET:
|
||||
field_dict["userinfo_signed_response_alg"] = userinfo_signed_response_alg
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
allowed_cors_origins = cast(List[str], _d.pop("allowed_cors_origins", UNSET))
|
||||
|
||||
audience = cast(List[str], _d.pop("audience", UNSET))
|
||||
|
||||
backchannel_logout_session_required = _d.pop("backchannel_logout_session_required", UNSET)
|
||||
|
||||
backchannel_logout_uri = _d.pop("backchannel_logout_uri", UNSET)
|
||||
|
||||
client_id = _d.pop("client_id", UNSET)
|
||||
|
||||
client_name = _d.pop("client_name", UNSET)
|
||||
|
||||
client_secret = _d.pop("client_secret", UNSET)
|
||||
|
||||
client_secret_expires_at = _d.pop("client_secret_expires_at", UNSET)
|
||||
|
||||
client_uri = _d.pop("client_uri", UNSET)
|
||||
|
||||
contacts = cast(List[str], _d.pop("contacts", UNSET))
|
||||
|
||||
_created_at = _d.pop("created_at", UNSET)
|
||||
created_at: Union[Unset, datetime.datetime]
|
||||
if isinstance(_created_at, Unset):
|
||||
created_at = UNSET
|
||||
else:
|
||||
created_at = isoparse(_created_at)
|
||||
|
||||
frontchannel_logout_session_required = _d.pop("frontchannel_logout_session_required", UNSET)
|
||||
|
||||
frontchannel_logout_uri = _d.pop("frontchannel_logout_uri", UNSET)
|
||||
|
||||
grant_types = cast(List[str], _d.pop("grant_types", UNSET))
|
||||
|
||||
_jwks = _d.pop("jwks", UNSET)
|
||||
jwks: Union[Unset, JoseJSONWebKeySet]
|
||||
if isinstance(_jwks, Unset):
|
||||
jwks = UNSET
|
||||
else:
|
||||
jwks = JoseJSONWebKeySet.from_dict(_jwks)
|
||||
|
||||
jwks_uri = _d.pop("jwks_uri", UNSET)
|
||||
|
||||
logo_uri = _d.pop("logo_uri", UNSET)
|
||||
|
||||
_metadata = _d.pop("metadata", UNSET)
|
||||
metadata: Union[Unset, JSONRawMessage]
|
||||
if isinstance(_metadata, Unset):
|
||||
metadata = UNSET
|
||||
else:
|
||||
metadata = JSONRawMessage.from_dict(_metadata)
|
||||
|
||||
owner = _d.pop("owner", UNSET)
|
||||
|
||||
policy_uri = _d.pop("policy_uri", UNSET)
|
||||
|
||||
post_logout_redirect_uris = cast(List[str], _d.pop("post_logout_redirect_uris", UNSET))
|
||||
|
||||
redirect_uris = cast(List[str], _d.pop("redirect_uris", UNSET))
|
||||
|
||||
request_object_signing_alg = _d.pop("request_object_signing_alg", UNSET)
|
||||
|
||||
request_uris = cast(List[str], _d.pop("request_uris", UNSET))
|
||||
|
||||
response_types = cast(List[str], _d.pop("response_types", UNSET))
|
||||
|
||||
scope = _d.pop("scope", UNSET)
|
||||
|
||||
sector_identifier_uri = _d.pop("sector_identifier_uri", UNSET)
|
||||
|
||||
subject_type = _d.pop("subject_type", UNSET)
|
||||
|
||||
token_endpoint_auth_method = _d.pop("token_endpoint_auth_method", UNSET)
|
||||
|
||||
token_endpoint_auth_signing_alg = _d.pop("token_endpoint_auth_signing_alg", UNSET)
|
||||
|
||||
tos_uri = _d.pop("tos_uri", UNSET)
|
||||
|
||||
_updated_at = _d.pop("updated_at", UNSET)
|
||||
updated_at: Union[Unset, datetime.datetime]
|
||||
if isinstance(_updated_at, Unset):
|
||||
updated_at = UNSET
|
||||
else:
|
||||
updated_at = isoparse(_updated_at)
|
||||
|
||||
userinfo_signed_response_alg = _d.pop("userinfo_signed_response_alg", UNSET)
|
||||
|
||||
o_auth_2_client = cls(
|
||||
allowed_cors_origins=allowed_cors_origins,
|
||||
audience=audience,
|
||||
backchannel_logout_session_required=backchannel_logout_session_required,
|
||||
backchannel_logout_uri=backchannel_logout_uri,
|
||||
client_id=client_id,
|
||||
client_name=client_name,
|
||||
client_secret=client_secret,
|
||||
client_secret_expires_at=client_secret_expires_at,
|
||||
client_uri=client_uri,
|
||||
contacts=contacts,
|
||||
created_at=created_at,
|
||||
frontchannel_logout_session_required=frontchannel_logout_session_required,
|
||||
frontchannel_logout_uri=frontchannel_logout_uri,
|
||||
grant_types=grant_types,
|
||||
jwks=jwks,
|
||||
jwks_uri=jwks_uri,
|
||||
logo_uri=logo_uri,
|
||||
metadata=metadata,
|
||||
owner=owner,
|
||||
policy_uri=policy_uri,
|
||||
post_logout_redirect_uris=post_logout_redirect_uris,
|
||||
redirect_uris=redirect_uris,
|
||||
request_object_signing_alg=request_object_signing_alg,
|
||||
request_uris=request_uris,
|
||||
response_types=response_types,
|
||||
scope=scope,
|
||||
sector_identifier_uri=sector_identifier_uri,
|
||||
subject_type=subject_type,
|
||||
token_endpoint_auth_method=token_endpoint_auth_method,
|
||||
token_endpoint_auth_signing_alg=token_endpoint_auth_signing_alg,
|
||||
tos_uri=tos_uri,
|
||||
updated_at=updated_at,
|
||||
userinfo_signed_response_alg=userinfo_signed_response_alg,
|
||||
)
|
||||
|
||||
o_auth_2_client.additional_properties = _d
|
||||
return o_auth_2_client
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,197 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.o_auth_2_token_introspection_ext import OAuth2TokenIntrospectionExt
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="OAuth2TokenIntrospection")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class OAuth2TokenIntrospection:
|
||||
"""https://tools.ietf.org/html/rfc7662
|
||||
|
||||
Attributes:
|
||||
active (bool): 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).
|
||||
aud (Union[Unset, List[str]]): Audience contains a list of the token's intended audiences.
|
||||
client_id (Union[Unset, str]): ID is aclient identifier for the OAuth 2.0 client that
|
||||
requested this token.
|
||||
exp (Union[Unset, int]): Expires at is an integer timestamp, measured in the number of seconds
|
||||
since January 1 1970 UTC, indicating when this token will expire.
|
||||
ext (Union[Unset, OAuth2TokenIntrospectionExt]): Extra is arbitrary data set by the session.
|
||||
iat (Union[Unset, int]): Issued at is an integer timestamp, measured in the number of seconds
|
||||
since January 1 1970 UTC, indicating when this token was
|
||||
originally issued.
|
||||
iss (Union[Unset, str]): IssuerURL is a string representing the issuer of this token
|
||||
nbf (Union[Unset, int]): 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.
|
||||
obfuscated_subject (Union[Unset, str]): 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.
|
||||
scope (Union[Unset, str]): Scope is a JSON string containing a space-separated list of
|
||||
scopes associated with this token.
|
||||
sub (Union[Unset, str]): Subject of the token, as defined in JWT [RFC7519].
|
||||
Usually a machine-readable identifier of the resource owner who
|
||||
authorized this token.
|
||||
token_type (Union[Unset, str]): TokenType is the introspected token's type, typically `Bearer`.
|
||||
token_use (Union[Unset, str]): TokenUse is the introspected token's use, for example `access_token` or
|
||||
`refresh_token`.
|
||||
username (Union[Unset, str]): Username is a human-readable identifier for the resource owner who
|
||||
authorized this token.
|
||||
"""
|
||||
|
||||
active: bool
|
||||
aud: Union[Unset, List[str]] = UNSET
|
||||
client_id: Union[Unset, str] = UNSET
|
||||
exp: Union[Unset, int] = UNSET
|
||||
ext: Union[Unset, OAuth2TokenIntrospectionExt] = UNSET
|
||||
iat: Union[Unset, int] = UNSET
|
||||
iss: Union[Unset, str] = UNSET
|
||||
nbf: Union[Unset, int] = UNSET
|
||||
obfuscated_subject: Union[Unset, str] = UNSET
|
||||
scope: Union[Unset, str] = UNSET
|
||||
sub: Union[Unset, str] = UNSET
|
||||
token_type: Union[Unset, str] = UNSET
|
||||
token_use: Union[Unset, str] = UNSET
|
||||
username: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
active = self.active
|
||||
aud: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.aud, Unset):
|
||||
aud = self.aud
|
||||
|
||||
client_id = self.client_id
|
||||
exp = self.exp
|
||||
ext: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.ext, Unset):
|
||||
ext = self.ext.to_dict()
|
||||
|
||||
iat = self.iat
|
||||
iss = self.iss
|
||||
nbf = self.nbf
|
||||
obfuscated_subject = self.obfuscated_subject
|
||||
scope = self.scope
|
||||
sub = self.sub
|
||||
token_type = self.token_type
|
||||
token_use = self.token_use
|
||||
username = self.username
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"active": active,
|
||||
}
|
||||
)
|
||||
if aud is not UNSET:
|
||||
field_dict["aud"] = aud
|
||||
if client_id is not UNSET:
|
||||
field_dict["client_id"] = client_id
|
||||
if exp is not UNSET:
|
||||
field_dict["exp"] = exp
|
||||
if ext is not UNSET:
|
||||
field_dict["ext"] = ext
|
||||
if iat is not UNSET:
|
||||
field_dict["iat"] = iat
|
||||
if iss is not UNSET:
|
||||
field_dict["iss"] = iss
|
||||
if nbf is not UNSET:
|
||||
field_dict["nbf"] = nbf
|
||||
if obfuscated_subject is not UNSET:
|
||||
field_dict["obfuscated_subject"] = obfuscated_subject
|
||||
if scope is not UNSET:
|
||||
field_dict["scope"] = scope
|
||||
if sub is not UNSET:
|
||||
field_dict["sub"] = sub
|
||||
if token_type is not UNSET:
|
||||
field_dict["token_type"] = token_type
|
||||
if token_use is not UNSET:
|
||||
field_dict["token_use"] = token_use
|
||||
if username is not UNSET:
|
||||
field_dict["username"] = username
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
active = _d.pop("active")
|
||||
|
||||
aud = cast(List[str], _d.pop("aud", UNSET))
|
||||
|
||||
client_id = _d.pop("client_id", UNSET)
|
||||
|
||||
exp = _d.pop("exp", UNSET)
|
||||
|
||||
_ext = _d.pop("ext", UNSET)
|
||||
ext: Union[Unset, OAuth2TokenIntrospectionExt]
|
||||
if isinstance(_ext, Unset):
|
||||
ext = UNSET
|
||||
else:
|
||||
ext = OAuth2TokenIntrospectionExt.from_dict(_ext)
|
||||
|
||||
iat = _d.pop("iat", UNSET)
|
||||
|
||||
iss = _d.pop("iss", UNSET)
|
||||
|
||||
nbf = _d.pop("nbf", UNSET)
|
||||
|
||||
obfuscated_subject = _d.pop("obfuscated_subject", UNSET)
|
||||
|
||||
scope = _d.pop("scope", UNSET)
|
||||
|
||||
sub = _d.pop("sub", UNSET)
|
||||
|
||||
token_type = _d.pop("token_type", UNSET)
|
||||
|
||||
token_use = _d.pop("token_use", UNSET)
|
||||
|
||||
username = _d.pop("username", UNSET)
|
||||
|
||||
o_auth_2_token_introspection = cls(
|
||||
active=active,
|
||||
aud=aud,
|
||||
client_id=client_id,
|
||||
exp=exp,
|
||||
ext=ext,
|
||||
iat=iat,
|
||||
iss=iss,
|
||||
nbf=nbf,
|
||||
obfuscated_subject=obfuscated_subject,
|
||||
scope=scope,
|
||||
sub=sub,
|
||||
token_type=token_type,
|
||||
token_use=token_use,
|
||||
username=username,
|
||||
)
|
||||
|
||||
o_auth_2_token_introspection.additional_properties = _d
|
||||
return o_auth_2_token_introspection
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,44 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="OAuth2TokenIntrospectionExt")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class OAuth2TokenIntrospectionExt:
|
||||
"""Extra is arbitrary data set by the session."""
|
||||
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
o_auth_2_token_introspection_ext = cls()
|
||||
|
||||
o_auth_2_token_introspection_ext.additional_properties = _d
|
||||
return o_auth_2_token_introspection_ext
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,98 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="Oauth2TokenResponse")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class Oauth2TokenResponse:
|
||||
"""The Access Token Response
|
||||
|
||||
Attributes:
|
||||
access_token (Union[Unset, str]):
|
||||
expires_in (Union[Unset, int]):
|
||||
id_token (Union[Unset, str]):
|
||||
refresh_token (Union[Unset, str]):
|
||||
scope (Union[Unset, str]):
|
||||
token_type (Union[Unset, str]):
|
||||
"""
|
||||
|
||||
access_token: Union[Unset, str] = UNSET
|
||||
expires_in: Union[Unset, int] = UNSET
|
||||
id_token: Union[Unset, str] = UNSET
|
||||
refresh_token: Union[Unset, str] = UNSET
|
||||
scope: Union[Unset, str] = UNSET
|
||||
token_type: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
access_token = self.access_token
|
||||
expires_in = self.expires_in
|
||||
id_token = self.id_token
|
||||
refresh_token = self.refresh_token
|
||||
scope = self.scope
|
||||
token_type = self.token_type
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if access_token is not UNSET:
|
||||
field_dict["access_token"] = access_token
|
||||
if expires_in is not UNSET:
|
||||
field_dict["expires_in"] = expires_in
|
||||
if id_token is not UNSET:
|
||||
field_dict["id_token"] = id_token
|
||||
if refresh_token is not UNSET:
|
||||
field_dict["refresh_token"] = refresh_token
|
||||
if scope is not UNSET:
|
||||
field_dict["scope"] = scope
|
||||
if token_type is not UNSET:
|
||||
field_dict["token_type"] = token_type
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
access_token = _d.pop("access_token", UNSET)
|
||||
|
||||
expires_in = _d.pop("expires_in", UNSET)
|
||||
|
||||
id_token = _d.pop("id_token", UNSET)
|
||||
|
||||
refresh_token = _d.pop("refresh_token", UNSET)
|
||||
|
||||
scope = _d.pop("scope", UNSET)
|
||||
|
||||
token_type = _d.pop("token_type", UNSET)
|
||||
|
||||
oauth_2_token_response = cls(
|
||||
access_token=access_token,
|
||||
expires_in=expires_in,
|
||||
id_token=id_token,
|
||||
refresh_token=refresh_token,
|
||||
scope=scope,
|
||||
token_type=token_type,
|
||||
)
|
||||
|
||||
oauth_2_token_response.additional_properties = _d
|
||||
return oauth_2_token_response
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,140 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.open_id_connect_context_id_token_hint_claims import OpenIDConnectContextIdTokenHintClaims
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="OpenIDConnectContext")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class OpenIDConnectContext:
|
||||
"""
|
||||
Attributes:
|
||||
acr_values (Union[Unset, List[str]]): 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.
|
||||
display (Union[Unset, str]): 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.
|
||||
id_token_hint_claims (Union[Unset, OpenIDConnectContextIdTokenHintClaims]): 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.
|
||||
login_hint (Union[Unset, str]): 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.
|
||||
ui_locales (Union[Unset, List[str]]): 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.
|
||||
"""
|
||||
|
||||
acr_values: Union[Unset, List[str]] = UNSET
|
||||
display: Union[Unset, str] = UNSET
|
||||
id_token_hint_claims: Union[Unset, OpenIDConnectContextIdTokenHintClaims] = UNSET
|
||||
login_hint: Union[Unset, str] = UNSET
|
||||
ui_locales: Union[Unset, List[str]] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
acr_values: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.acr_values, Unset):
|
||||
acr_values = self.acr_values
|
||||
|
||||
display = self.display
|
||||
id_token_hint_claims: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.id_token_hint_claims, Unset):
|
||||
id_token_hint_claims = self.id_token_hint_claims.to_dict()
|
||||
|
||||
login_hint = self.login_hint
|
||||
ui_locales: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.ui_locales, Unset):
|
||||
ui_locales = self.ui_locales
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if acr_values is not UNSET:
|
||||
field_dict["acr_values"] = acr_values
|
||||
if display is not UNSET:
|
||||
field_dict["display"] = display
|
||||
if id_token_hint_claims is not UNSET:
|
||||
field_dict["id_token_hint_claims"] = id_token_hint_claims
|
||||
if login_hint is not UNSET:
|
||||
field_dict["login_hint"] = login_hint
|
||||
if ui_locales is not UNSET:
|
||||
field_dict["ui_locales"] = ui_locales
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
acr_values = cast(List[str], _d.pop("acr_values", UNSET))
|
||||
|
||||
display = _d.pop("display", UNSET)
|
||||
|
||||
_id_token_hint_claims = _d.pop("id_token_hint_claims", UNSET)
|
||||
id_token_hint_claims: Union[Unset, OpenIDConnectContextIdTokenHintClaims]
|
||||
if isinstance(_id_token_hint_claims, Unset):
|
||||
id_token_hint_claims = UNSET
|
||||
else:
|
||||
id_token_hint_claims = OpenIDConnectContextIdTokenHintClaims.from_dict(_id_token_hint_claims)
|
||||
|
||||
login_hint = _d.pop("login_hint", UNSET)
|
||||
|
||||
ui_locales = cast(List[str], _d.pop("ui_locales", UNSET))
|
||||
|
||||
open_id_connect_context = cls(
|
||||
acr_values=acr_values,
|
||||
display=display,
|
||||
id_token_hint_claims=id_token_hint_claims,
|
||||
login_hint=login_hint,
|
||||
ui_locales=ui_locales,
|
||||
)
|
||||
|
||||
open_id_connect_context.additional_properties = _d
|
||||
return open_id_connect_context
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,48 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="OpenIDConnectContextIdTokenHintClaims")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class OpenIDConnectContextIdTokenHintClaims:
|
||||
"""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.
|
||||
|
||||
"""
|
||||
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
open_id_connect_context_id_token_hint_claims = cls()
|
||||
|
||||
open_id_connect_context_id_token_hint_claims.additional_properties = _d
|
||||
return open_id_connect_context_id_token_hint_claims
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
215
libs/ory-hydra-client/ory_hydra_client/models/plugin_config.py
Normal file
215
libs/ory-hydra-client/ory_hydra_client/models/plugin_config.py
Normal file
|
@ -0,0 +1,215 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.plugin_config_args import PluginConfigArgs
|
||||
from ..models.plugin_config_interface import PluginConfigInterface
|
||||
from ..models.plugin_config_linux import PluginConfigLinux
|
||||
from ..models.plugin_config_network import PluginConfigNetwork
|
||||
from ..models.plugin_config_rootfs import PluginConfigRootfs
|
||||
from ..models.plugin_config_user import PluginConfigUser
|
||||
from ..models.plugin_env import PluginEnv
|
||||
from ..models.plugin_mount import PluginMount
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="PluginConfig")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginConfig:
|
||||
"""
|
||||
Attributes:
|
||||
args (PluginConfigArgs): PluginConfigArgs plugin config args
|
||||
description (str): description
|
||||
documentation (str): documentation
|
||||
entrypoint (List[str]): entrypoint
|
||||
env (List[PluginEnv]): env
|
||||
interface (PluginConfigInterface): PluginConfigInterface The interface between Docker and the plugin
|
||||
ipc_host (bool): ipc host
|
||||
linux (PluginConfigLinux): PluginConfigLinux plugin config linux
|
||||
mounts (List[PluginMount]): mounts
|
||||
network (PluginConfigNetwork): PluginConfigNetwork plugin config network
|
||||
pid_host (bool): pid host
|
||||
propagated_mount (str): propagated mount
|
||||
work_dir (str): work dir
|
||||
docker_version (Union[Unset, str]): Docker Version used to create the plugin
|
||||
user (Union[Unset, PluginConfigUser]): PluginConfigUser plugin config user
|
||||
rootfs (Union[Unset, PluginConfigRootfs]): PluginConfigRootfs plugin config rootfs
|
||||
"""
|
||||
|
||||
args: PluginConfigArgs
|
||||
description: str
|
||||
documentation: str
|
||||
entrypoint: List[str]
|
||||
env: List[PluginEnv]
|
||||
interface: PluginConfigInterface
|
||||
ipc_host: bool
|
||||
linux: PluginConfigLinux
|
||||
mounts: List[PluginMount]
|
||||
network: PluginConfigNetwork
|
||||
pid_host: bool
|
||||
propagated_mount: str
|
||||
work_dir: str
|
||||
docker_version: Union[Unset, str] = UNSET
|
||||
user: Union[Unset, PluginConfigUser] = UNSET
|
||||
rootfs: Union[Unset, PluginConfigRootfs] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
args = self.args.to_dict()
|
||||
|
||||
description = self.description
|
||||
documentation = self.documentation
|
||||
entrypoint = self.entrypoint
|
||||
|
||||
env = []
|
||||
for env_item_data in self.env:
|
||||
env_item = env_item_data.to_dict()
|
||||
|
||||
env.append(env_item)
|
||||
|
||||
interface = self.interface.to_dict()
|
||||
|
||||
ipc_host = self.ipc_host
|
||||
linux = self.linux.to_dict()
|
||||
|
||||
mounts = []
|
||||
for mounts_item_data in self.mounts:
|
||||
mounts_item = mounts_item_data.to_dict()
|
||||
|
||||
mounts.append(mounts_item)
|
||||
|
||||
network = self.network.to_dict()
|
||||
|
||||
pid_host = self.pid_host
|
||||
propagated_mount = self.propagated_mount
|
||||
work_dir = self.work_dir
|
||||
docker_version = self.docker_version
|
||||
user: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.user, Unset):
|
||||
user = self.user.to_dict()
|
||||
|
||||
rootfs: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.rootfs, Unset):
|
||||
rootfs = self.rootfs.to_dict()
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Args": args,
|
||||
"Description": description,
|
||||
"Documentation": documentation,
|
||||
"Entrypoint": entrypoint,
|
||||
"Env": env,
|
||||
"Interface": interface,
|
||||
"IpcHost": ipc_host,
|
||||
"Linux": linux,
|
||||
"Mounts": mounts,
|
||||
"Network": network,
|
||||
"PidHost": pid_host,
|
||||
"PropagatedMount": propagated_mount,
|
||||
"WorkDir": work_dir,
|
||||
}
|
||||
)
|
||||
if docker_version is not UNSET:
|
||||
field_dict["DockerVersion"] = docker_version
|
||||
if user is not UNSET:
|
||||
field_dict["User"] = user
|
||||
if rootfs is not UNSET:
|
||||
field_dict["rootfs"] = rootfs
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
args = PluginConfigArgs.from_dict(_d.pop("Args"))
|
||||
|
||||
description = _d.pop("Description")
|
||||
|
||||
documentation = _d.pop("Documentation")
|
||||
|
||||
entrypoint = cast(List[str], _d.pop("Entrypoint"))
|
||||
|
||||
env = []
|
||||
_env = _d.pop("Env")
|
||||
for env_item_data in _env:
|
||||
env_item = PluginEnv.from_dict(env_item_data)
|
||||
|
||||
env.append(env_item)
|
||||
|
||||
interface = PluginConfigInterface.from_dict(_d.pop("Interface"))
|
||||
|
||||
ipc_host = _d.pop("IpcHost")
|
||||
|
||||
linux = PluginConfigLinux.from_dict(_d.pop("Linux"))
|
||||
|
||||
mounts = []
|
||||
_mounts = _d.pop("Mounts")
|
||||
for mounts_item_data in _mounts:
|
||||
mounts_item = PluginMount.from_dict(mounts_item_data)
|
||||
|
||||
mounts.append(mounts_item)
|
||||
|
||||
network = PluginConfigNetwork.from_dict(_d.pop("Network"))
|
||||
|
||||
pid_host = _d.pop("PidHost")
|
||||
|
||||
propagated_mount = _d.pop("PropagatedMount")
|
||||
|
||||
work_dir = _d.pop("WorkDir")
|
||||
|
||||
docker_version = _d.pop("DockerVersion", UNSET)
|
||||
|
||||
_user = _d.pop("User", UNSET)
|
||||
user: Union[Unset, PluginConfigUser]
|
||||
if isinstance(_user, Unset):
|
||||
user = UNSET
|
||||
else:
|
||||
user = PluginConfigUser.from_dict(_user)
|
||||
|
||||
_rootfs = _d.pop("rootfs", UNSET)
|
||||
rootfs: Union[Unset, PluginConfigRootfs]
|
||||
if isinstance(_rootfs, Unset):
|
||||
rootfs = UNSET
|
||||
else:
|
||||
rootfs = PluginConfigRootfs.from_dict(_rootfs)
|
||||
|
||||
plugin_config = cls(
|
||||
args=args,
|
||||
description=description,
|
||||
documentation=documentation,
|
||||
entrypoint=entrypoint,
|
||||
env=env,
|
||||
interface=interface,
|
||||
ipc_host=ipc_host,
|
||||
linux=linux,
|
||||
mounts=mounts,
|
||||
network=network,
|
||||
pid_host=pid_host,
|
||||
propagated_mount=propagated_mount,
|
||||
work_dir=work_dir,
|
||||
docker_version=docker_version,
|
||||
user=user,
|
||||
rootfs=rootfs,
|
||||
)
|
||||
|
||||
plugin_config.additional_properties = _d
|
||||
return plugin_config
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,80 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, cast
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="PluginConfigArgs")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginConfigArgs:
|
||||
"""PluginConfigArgs plugin config args
|
||||
|
||||
Attributes:
|
||||
description (str): description
|
||||
name (str): name
|
||||
settable (List[str]): settable
|
||||
value (List[str]): value
|
||||
"""
|
||||
|
||||
description: str
|
||||
name: str
|
||||
settable: List[str]
|
||||
value: List[str]
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
description = self.description
|
||||
name = self.name
|
||||
settable = self.settable
|
||||
|
||||
value = self.value
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Description": description,
|
||||
"Name": name,
|
||||
"Settable": settable,
|
||||
"Value": value,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
description = _d.pop("Description")
|
||||
|
||||
name = _d.pop("Name")
|
||||
|
||||
settable = cast(List[str], _d.pop("Settable"))
|
||||
|
||||
value = cast(List[str], _d.pop("Value"))
|
||||
|
||||
plugin_config_args = cls(
|
||||
description=description,
|
||||
name=name,
|
||||
settable=settable,
|
||||
value=value,
|
||||
)
|
||||
|
||||
plugin_config_args.additional_properties = _d
|
||||
return plugin_config_args
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,76 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.plugin_interface_type import PluginInterfaceType
|
||||
|
||||
T = TypeVar("T", bound="PluginConfigInterface")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginConfigInterface:
|
||||
"""PluginConfigInterface The interface between Docker and the plugin
|
||||
|
||||
Attributes:
|
||||
socket (str): socket
|
||||
types (List[PluginInterfaceType]): types
|
||||
"""
|
||||
|
||||
socket: str
|
||||
types: List[PluginInterfaceType]
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
socket = self.socket
|
||||
types = []
|
||||
for types_item_data in self.types:
|
||||
types_item = types_item_data.to_dict()
|
||||
|
||||
types.append(types_item)
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Socket": socket,
|
||||
"Types": types,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
socket = _d.pop("Socket")
|
||||
|
||||
types = []
|
||||
_types = _d.pop("Types")
|
||||
for types_item_data in _types:
|
||||
types_item = PluginInterfaceType.from_dict(types_item_data)
|
||||
|
||||
types.append(types_item)
|
||||
|
||||
plugin_config_interface = cls(
|
||||
socket=socket,
|
||||
types=types,
|
||||
)
|
||||
|
||||
plugin_config_interface.additional_properties = _d
|
||||
return plugin_config_interface
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,84 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.plugin_device import PluginDevice
|
||||
|
||||
T = TypeVar("T", bound="PluginConfigLinux")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginConfigLinux:
|
||||
"""PluginConfigLinux plugin config linux
|
||||
|
||||
Attributes:
|
||||
allow_all_devices (bool): allow all devices
|
||||
capabilities (List[str]): capabilities
|
||||
devices (List[PluginDevice]): devices
|
||||
"""
|
||||
|
||||
allow_all_devices: bool
|
||||
capabilities: List[str]
|
||||
devices: List[PluginDevice]
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
allow_all_devices = self.allow_all_devices
|
||||
capabilities = self.capabilities
|
||||
|
||||
devices = []
|
||||
for devices_item_data in self.devices:
|
||||
devices_item = devices_item_data.to_dict()
|
||||
|
||||
devices.append(devices_item)
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"AllowAllDevices": allow_all_devices,
|
||||
"Capabilities": capabilities,
|
||||
"Devices": devices,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
allow_all_devices = _d.pop("AllowAllDevices")
|
||||
|
||||
capabilities = cast(List[str], _d.pop("Capabilities"))
|
||||
|
||||
devices = []
|
||||
_devices = _d.pop("Devices")
|
||||
for devices_item_data in _devices:
|
||||
devices_item = PluginDevice.from_dict(devices_item_data)
|
||||
|
||||
devices.append(devices_item)
|
||||
|
||||
plugin_config_linux = cls(
|
||||
allow_all_devices=allow_all_devices,
|
||||
capabilities=capabilities,
|
||||
devices=devices,
|
||||
)
|
||||
|
||||
plugin_config_linux.additional_properties = _d
|
||||
return plugin_config_linux
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,58 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="PluginConfigNetwork")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginConfigNetwork:
|
||||
"""PluginConfigNetwork plugin config network
|
||||
|
||||
Attributes:
|
||||
type (str): type
|
||||
"""
|
||||
|
||||
type: str
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
type = self.type
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Type": type,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
type = _d.pop("Type")
|
||||
|
||||
plugin_config_network = cls(
|
||||
type=type,
|
||||
)
|
||||
|
||||
plugin_config_network.additional_properties = _d
|
||||
return plugin_config_network
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,69 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="PluginConfigRootfs")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginConfigRootfs:
|
||||
"""PluginConfigRootfs plugin config rootfs
|
||||
|
||||
Attributes:
|
||||
diff_ids (Union[Unset, List[str]]): diff ids
|
||||
type (Union[Unset, str]): type
|
||||
"""
|
||||
|
||||
diff_ids: Union[Unset, List[str]] = UNSET
|
||||
type: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
diff_ids: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.diff_ids, Unset):
|
||||
diff_ids = self.diff_ids
|
||||
|
||||
type = self.type
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if diff_ids is not UNSET:
|
||||
field_dict["diff_ids"] = diff_ids
|
||||
if type is not UNSET:
|
||||
field_dict["type"] = type
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
diff_ids = cast(List[str], _d.pop("diff_ids", UNSET))
|
||||
|
||||
type = _d.pop("type", UNSET)
|
||||
|
||||
plugin_config_rootfs = cls(
|
||||
diff_ids=diff_ids,
|
||||
type=type,
|
||||
)
|
||||
|
||||
plugin_config_rootfs.additional_properties = _d
|
||||
return plugin_config_rootfs
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,66 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="PluginConfigUser")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginConfigUser:
|
||||
"""PluginConfigUser plugin config user
|
||||
|
||||
Attributes:
|
||||
gid (Union[Unset, int]): g ID
|
||||
uid (Union[Unset, int]): UID
|
||||
"""
|
||||
|
||||
gid: Union[Unset, int] = UNSET
|
||||
uid: Union[Unset, int] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
gid = self.gid
|
||||
uid = self.uid
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if gid is not UNSET:
|
||||
field_dict["GID"] = gid
|
||||
if uid is not UNSET:
|
||||
field_dict["UID"] = uid
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
gid = _d.pop("GID", UNSET)
|
||||
|
||||
uid = _d.pop("UID", UNSET)
|
||||
|
||||
plugin_config_user = cls(
|
||||
gid=gid,
|
||||
uid=uid,
|
||||
)
|
||||
|
||||
plugin_config_user.additional_properties = _d
|
||||
return plugin_config_user
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,79 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, cast
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="PluginDevice")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginDevice:
|
||||
"""PluginDevice plugin device
|
||||
|
||||
Attributes:
|
||||
description (str): description
|
||||
name (str): name
|
||||
path (str): path
|
||||
settable (List[str]): settable
|
||||
"""
|
||||
|
||||
description: str
|
||||
name: str
|
||||
path: str
|
||||
settable: List[str]
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
description = self.description
|
||||
name = self.name
|
||||
path = self.path
|
||||
settable = self.settable
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Description": description,
|
||||
"Name": name,
|
||||
"Path": path,
|
||||
"Settable": settable,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
description = _d.pop("Description")
|
||||
|
||||
name = _d.pop("Name")
|
||||
|
||||
path = _d.pop("Path")
|
||||
|
||||
settable = cast(List[str], _d.pop("Settable"))
|
||||
|
||||
plugin_device = cls(
|
||||
description=description,
|
||||
name=name,
|
||||
path=path,
|
||||
settable=settable,
|
||||
)
|
||||
|
||||
plugin_device.additional_properties = _d
|
||||
return plugin_device
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
80
libs/ory-hydra-client/ory_hydra_client/models/plugin_env.py
Normal file
80
libs/ory-hydra-client/ory_hydra_client/models/plugin_env.py
Normal file
|
@ -0,0 +1,80 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, cast
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="PluginEnv")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginEnv:
|
||||
"""PluginEnv plugin env
|
||||
|
||||
Attributes:
|
||||
description (str): description
|
||||
name (str): name
|
||||
settable (List[str]): settable
|
||||
value (str): value
|
||||
"""
|
||||
|
||||
description: str
|
||||
name: str
|
||||
settable: List[str]
|
||||
value: str
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
description = self.description
|
||||
name = self.name
|
||||
settable = self.settable
|
||||
|
||||
value = self.value
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Description": description,
|
||||
"Name": name,
|
||||
"Settable": settable,
|
||||
"Value": value,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
description = _d.pop("Description")
|
||||
|
||||
name = _d.pop("Name")
|
||||
|
||||
settable = cast(List[str], _d.pop("Settable"))
|
||||
|
||||
value = _d.pop("Value")
|
||||
|
||||
plugin_env = cls(
|
||||
description=description,
|
||||
name=name,
|
||||
settable=settable,
|
||||
value=value,
|
||||
)
|
||||
|
||||
plugin_env.additional_properties = _d
|
||||
return plugin_env
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,72 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="PluginInterfaceType")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginInterfaceType:
|
||||
"""PluginInterfaceType plugin interface type
|
||||
|
||||
Attributes:
|
||||
capability (str): capability
|
||||
prefix (str): prefix
|
||||
version (str): version
|
||||
"""
|
||||
|
||||
capability: str
|
||||
prefix: str
|
||||
version: str
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
capability = self.capability
|
||||
prefix = self.prefix
|
||||
version = self.version
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Capability": capability,
|
||||
"Prefix": prefix,
|
||||
"Version": version,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
capability = _d.pop("Capability")
|
||||
|
||||
prefix = _d.pop("Prefix")
|
||||
|
||||
version = _d.pop("Version")
|
||||
|
||||
plugin_interface_type = cls(
|
||||
capability=capability,
|
||||
prefix=prefix,
|
||||
version=version,
|
||||
)
|
||||
|
||||
plugin_interface_type.additional_properties = _d
|
||||
return plugin_interface_type
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
102
libs/ory-hydra-client/ory_hydra_client/models/plugin_mount.py
Normal file
102
libs/ory-hydra-client/ory_hydra_client/models/plugin_mount.py
Normal file
|
@ -0,0 +1,102 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, cast
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="PluginMount")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginMount:
|
||||
"""PluginMount plugin mount
|
||||
|
||||
Attributes:
|
||||
description (str): description
|
||||
destination (str): destination
|
||||
name (str): name
|
||||
options (List[str]): options
|
||||
settable (List[str]): settable
|
||||
source (str): source
|
||||
type (str): type
|
||||
"""
|
||||
|
||||
description: str
|
||||
destination: str
|
||||
name: str
|
||||
options: List[str]
|
||||
settable: List[str]
|
||||
source: str
|
||||
type: str
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
description = self.description
|
||||
destination = self.destination
|
||||
name = self.name
|
||||
options = self.options
|
||||
|
||||
settable = self.settable
|
||||
|
||||
source = self.source
|
||||
type = self.type
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Description": description,
|
||||
"Destination": destination,
|
||||
"Name": name,
|
||||
"Options": options,
|
||||
"Settable": settable,
|
||||
"Source": source,
|
||||
"Type": type,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
description = _d.pop("Description")
|
||||
|
||||
destination = _d.pop("Destination")
|
||||
|
||||
name = _d.pop("Name")
|
||||
|
||||
options = cast(List[str], _d.pop("Options"))
|
||||
|
||||
settable = cast(List[str], _d.pop("Settable"))
|
||||
|
||||
source = _d.pop("Source")
|
||||
|
||||
type = _d.pop("Type")
|
||||
|
||||
plugin_mount = cls(
|
||||
description=description,
|
||||
destination=destination,
|
||||
name=name,
|
||||
options=options,
|
||||
settable=settable,
|
||||
source=source,
|
||||
type=type,
|
||||
)
|
||||
|
||||
plugin_mount.additional_properties = _d
|
||||
return plugin_mount
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
102
libs/ory-hydra-client/ory_hydra_client/models/plugin_settings.py
Normal file
102
libs/ory-hydra-client/ory_hydra_client/models/plugin_settings.py
Normal file
|
@ -0,0 +1,102 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..models.plugin_device import PluginDevice
|
||||
from ..models.plugin_mount import PluginMount
|
||||
|
||||
T = TypeVar("T", bound="PluginSettings")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PluginSettings:
|
||||
"""
|
||||
Attributes:
|
||||
args (List[str]): args
|
||||
devices (List[PluginDevice]): devices
|
||||
env (List[str]): env
|
||||
mounts (List[PluginMount]): mounts
|
||||
"""
|
||||
|
||||
args: List[str]
|
||||
devices: List[PluginDevice]
|
||||
env: List[str]
|
||||
mounts: List[PluginMount]
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
args = self.args
|
||||
|
||||
devices = []
|
||||
for devices_item_data in self.devices:
|
||||
devices_item = devices_item_data.to_dict()
|
||||
|
||||
devices.append(devices_item)
|
||||
|
||||
env = self.env
|
||||
|
||||
mounts = []
|
||||
for mounts_item_data in self.mounts:
|
||||
mounts_item = mounts_item_data.to_dict()
|
||||
|
||||
mounts.append(mounts_item)
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"Args": args,
|
||||
"Devices": devices,
|
||||
"Env": env,
|
||||
"Mounts": mounts,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
args = cast(List[str], _d.pop("Args"))
|
||||
|
||||
devices = []
|
||||
_devices = _d.pop("Devices")
|
||||
for devices_item_data in _devices:
|
||||
devices_item = PluginDevice.from_dict(devices_item_data)
|
||||
|
||||
devices.append(devices_item)
|
||||
|
||||
env = cast(List[str], _d.pop("Env"))
|
||||
|
||||
mounts = []
|
||||
_mounts = _d.pop("Mounts")
|
||||
for mounts_item_data in _mounts:
|
||||
mounts_item = PluginMount.from_dict(mounts_item_data)
|
||||
|
||||
mounts.append(mounts_item)
|
||||
|
||||
plugin_settings = cls(
|
||||
args=args,
|
||||
devices=devices,
|
||||
env=env,
|
||||
mounts=mounts,
|
||||
)
|
||||
|
||||
plugin_settings.additional_properties = _d
|
||||
return plugin_settings
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,144 @@
|
|||
import datetime
|
||||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
from dateutil.parser import isoparse
|
||||
|
||||
from ..models.consent_request import ConsentRequest
|
||||
from ..models.consent_request_session import ConsentRequestSession
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="PreviousConsentSession")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class PreviousConsentSession:
|
||||
"""The response used to return used consent requests
|
||||
same as HandledLoginRequest, just with consent_request exposed as json
|
||||
|
||||
Attributes:
|
||||
consent_request (Union[Unset, ConsentRequest]):
|
||||
grant_access_token_audience (Union[Unset, List[str]]):
|
||||
grant_scope (Union[Unset, List[str]]):
|
||||
handled_at (Union[Unset, datetime.datetime]):
|
||||
remember (Union[Unset, bool]): 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.
|
||||
remember_for (Union[Unset, int]): RememberFor sets how long the consent authorization should be remembered for
|
||||
in seconds. If set to `0`, the
|
||||
authorization will be remembered indefinitely.
|
||||
session (Union[Unset, ConsentRequestSession]):
|
||||
"""
|
||||
|
||||
consent_request: Union[Unset, ConsentRequest] = UNSET
|
||||
grant_access_token_audience: Union[Unset, List[str]] = UNSET
|
||||
grant_scope: Union[Unset, List[str]] = UNSET
|
||||
handled_at: Union[Unset, datetime.datetime] = UNSET
|
||||
remember: Union[Unset, bool] = UNSET
|
||||
remember_for: Union[Unset, int] = UNSET
|
||||
session: Union[Unset, ConsentRequestSession] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
consent_request: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.consent_request, Unset):
|
||||
consent_request = self.consent_request.to_dict()
|
||||
|
||||
grant_access_token_audience: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.grant_access_token_audience, Unset):
|
||||
grant_access_token_audience = self.grant_access_token_audience
|
||||
|
||||
grant_scope: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.grant_scope, Unset):
|
||||
grant_scope = self.grant_scope
|
||||
|
||||
handled_at: Union[Unset, str] = UNSET
|
||||
if not isinstance(self.handled_at, Unset):
|
||||
handled_at = self.handled_at.isoformat()
|
||||
|
||||
remember = self.remember
|
||||
remember_for = self.remember_for
|
||||
session: Union[Unset, Dict[str, Any]] = UNSET
|
||||
if not isinstance(self.session, Unset):
|
||||
session = self.session.to_dict()
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if consent_request is not UNSET:
|
||||
field_dict["consent_request"] = consent_request
|
||||
if grant_access_token_audience is not UNSET:
|
||||
field_dict["grant_access_token_audience"] = grant_access_token_audience
|
||||
if grant_scope is not UNSET:
|
||||
field_dict["grant_scope"] = grant_scope
|
||||
if handled_at is not UNSET:
|
||||
field_dict["handled_at"] = handled_at
|
||||
if remember is not UNSET:
|
||||
field_dict["remember"] = remember
|
||||
if remember_for is not UNSET:
|
||||
field_dict["remember_for"] = remember_for
|
||||
if session is not UNSET:
|
||||
field_dict["session"] = session
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
_consent_request = _d.pop("consent_request", UNSET)
|
||||
consent_request: Union[Unset, ConsentRequest]
|
||||
if isinstance(_consent_request, Unset):
|
||||
consent_request = UNSET
|
||||
else:
|
||||
consent_request = ConsentRequest.from_dict(_consent_request)
|
||||
|
||||
grant_access_token_audience = cast(List[str], _d.pop("grant_access_token_audience", UNSET))
|
||||
|
||||
grant_scope = cast(List[str], _d.pop("grant_scope", UNSET))
|
||||
|
||||
_handled_at = _d.pop("handled_at", UNSET)
|
||||
handled_at: Union[Unset, datetime.datetime]
|
||||
if isinstance(_handled_at, Unset):
|
||||
handled_at = UNSET
|
||||
else:
|
||||
handled_at = isoparse(_handled_at)
|
||||
|
||||
remember = _d.pop("remember", UNSET)
|
||||
|
||||
remember_for = _d.pop("remember_for", UNSET)
|
||||
|
||||
_session = _d.pop("session", UNSET)
|
||||
session: Union[Unset, ConsentRequestSession]
|
||||
if isinstance(_session, Unset):
|
||||
session = UNSET
|
||||
else:
|
||||
session = ConsentRequestSession.from_dict(_session)
|
||||
|
||||
previous_consent_session = cls(
|
||||
consent_request=consent_request,
|
||||
grant_access_token_audience=grant_access_token_audience,
|
||||
grant_scope=grant_scope,
|
||||
handled_at=handled_at,
|
||||
remember=remember,
|
||||
remember_for=remember_for,
|
||||
session=session,
|
||||
)
|
||||
|
||||
previous_consent_session.additional_properties = _d
|
||||
return previous_consent_session
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,96 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="RejectRequest")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class RejectRequest:
|
||||
"""
|
||||
Attributes:
|
||||
error (Union[Unset, str]): The error should follow the OAuth2 error format (e.g. `invalid_request`,
|
||||
`login_required`).
|
||||
|
||||
Defaults to `request_denied`.
|
||||
error_debug (Union[Unset, str]): Debug contains information to help resolve the problem as a developer. Usually
|
||||
not exposed
|
||||
to the public but only in the server logs.
|
||||
error_description (Union[Unset, str]): Description of the error in a human readable format.
|
||||
error_hint (Union[Unset, str]): Hint to help resolve the error.
|
||||
status_code (Union[Unset, int]): Represents the HTTP status code of the error (e.g. 401 or 403)
|
||||
|
||||
Defaults to 400
|
||||
"""
|
||||
|
||||
error: Union[Unset, str] = UNSET
|
||||
error_debug: Union[Unset, str] = UNSET
|
||||
error_description: Union[Unset, str] = UNSET
|
||||
error_hint: Union[Unset, str] = UNSET
|
||||
status_code: Union[Unset, int] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
error = self.error
|
||||
error_debug = self.error_debug
|
||||
error_description = self.error_description
|
||||
error_hint = self.error_hint
|
||||
status_code = self.status_code
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if error is not UNSET:
|
||||
field_dict["error"] = error
|
||||
if error_debug is not UNSET:
|
||||
field_dict["error_debug"] = error_debug
|
||||
if error_description is not UNSET:
|
||||
field_dict["error_description"] = error_description
|
||||
if error_hint is not UNSET:
|
||||
field_dict["error_hint"] = error_hint
|
||||
if status_code is not UNSET:
|
||||
field_dict["status_code"] = status_code
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
error = _d.pop("error", UNSET)
|
||||
|
||||
error_debug = _d.pop("error_debug", UNSET)
|
||||
|
||||
error_description = _d.pop("error_description", UNSET)
|
||||
|
||||
error_hint = _d.pop("error_hint", UNSET)
|
||||
|
||||
status_code = _d.pop("status_code", UNSET)
|
||||
|
||||
reject_request = cls(
|
||||
error=error,
|
||||
error_debug=error_debug,
|
||||
error_description=error_description,
|
||||
error_hint=error_hint,
|
||||
status_code=status_code,
|
||||
)
|
||||
|
||||
reject_request.additional_properties = _d
|
||||
return reject_request
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,239 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="UserinfoResponse")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class UserinfoResponse:
|
||||
"""The userinfo response
|
||||
|
||||
Attributes:
|
||||
birthdate (Union[Unset, str]): 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.
|
||||
email (Union[Unset, str]): 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.
|
||||
email_verified (Union[Unset, bool]): 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.
|
||||
family_name (Union[Unset, str]): 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.
|
||||
gender (Union[Unset, str]): 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.
|
||||
given_name (Union[Unset, str]): 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.
|
||||
locale (Union[Unset, str]): 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.
|
||||
middle_name (Union[Unset, str]): 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.
|
||||
name (Union[Unset, str]): 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.
|
||||
nickname (Union[Unset, str]): 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.
|
||||
phone_number (Union[Unset, str]): 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.
|
||||
phone_number_verified (Union[Unset, bool]): 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.
|
||||
picture (Union[Unset, str]): 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.
|
||||
preferred_username (Union[Unset, str]): 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.
|
||||
profile (Union[Unset, str]): URL of the End-User's profile page. The contents of this Web page SHOULD be about
|
||||
the End-User.
|
||||
sub (Union[Unset, str]): Subject - Identifier for the End-User at the IssuerURL.
|
||||
updated_at (Union[Unset, int]): 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.
|
||||
website (Union[Unset, str]): 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.
|
||||
zoneinfo (Union[Unset, str]): String from zoneinfo [zoneinfo] time zone database representing the End-User's
|
||||
time zone. For example, Europe/Paris or America/Los_Angeles.
|
||||
"""
|
||||
|
||||
birthdate: Union[Unset, str] = UNSET
|
||||
email: Union[Unset, str] = UNSET
|
||||
email_verified: Union[Unset, bool] = UNSET
|
||||
family_name: Union[Unset, str] = UNSET
|
||||
gender: Union[Unset, str] = UNSET
|
||||
given_name: Union[Unset, str] = UNSET
|
||||
locale: Union[Unset, str] = UNSET
|
||||
middle_name: Union[Unset, str] = UNSET
|
||||
name: Union[Unset, str] = UNSET
|
||||
nickname: Union[Unset, str] = UNSET
|
||||
phone_number: Union[Unset, str] = UNSET
|
||||
phone_number_verified: Union[Unset, bool] = UNSET
|
||||
picture: Union[Unset, str] = UNSET
|
||||
preferred_username: Union[Unset, str] = UNSET
|
||||
profile: Union[Unset, str] = UNSET
|
||||
sub: Union[Unset, str] = UNSET
|
||||
updated_at: Union[Unset, int] = UNSET
|
||||
website: Union[Unset, str] = UNSET
|
||||
zoneinfo: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
birthdate = self.birthdate
|
||||
email = self.email
|
||||
email_verified = self.email_verified
|
||||
family_name = self.family_name
|
||||
gender = self.gender
|
||||
given_name = self.given_name
|
||||
locale = self.locale
|
||||
middle_name = self.middle_name
|
||||
name = self.name
|
||||
nickname = self.nickname
|
||||
phone_number = self.phone_number
|
||||
phone_number_verified = self.phone_number_verified
|
||||
picture = self.picture
|
||||
preferred_username = self.preferred_username
|
||||
profile = self.profile
|
||||
sub = self.sub
|
||||
updated_at = self.updated_at
|
||||
website = self.website
|
||||
zoneinfo = self.zoneinfo
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if birthdate is not UNSET:
|
||||
field_dict["birthdate"] = birthdate
|
||||
if email is not UNSET:
|
||||
field_dict["email"] = email
|
||||
if email_verified is not UNSET:
|
||||
field_dict["email_verified"] = email_verified
|
||||
if family_name is not UNSET:
|
||||
field_dict["family_name"] = family_name
|
||||
if gender is not UNSET:
|
||||
field_dict["gender"] = gender
|
||||
if given_name is not UNSET:
|
||||
field_dict["given_name"] = given_name
|
||||
if locale is not UNSET:
|
||||
field_dict["locale"] = locale
|
||||
if middle_name is not UNSET:
|
||||
field_dict["middle_name"] = middle_name
|
||||
if name is not UNSET:
|
||||
field_dict["name"] = name
|
||||
if nickname is not UNSET:
|
||||
field_dict["nickname"] = nickname
|
||||
if phone_number is not UNSET:
|
||||
field_dict["phone_number"] = phone_number
|
||||
if phone_number_verified is not UNSET:
|
||||
field_dict["phone_number_verified"] = phone_number_verified
|
||||
if picture is not UNSET:
|
||||
field_dict["picture"] = picture
|
||||
if preferred_username is not UNSET:
|
||||
field_dict["preferred_username"] = preferred_username
|
||||
if profile is not UNSET:
|
||||
field_dict["profile"] = profile
|
||||
if sub is not UNSET:
|
||||
field_dict["sub"] = sub
|
||||
if updated_at is not UNSET:
|
||||
field_dict["updated_at"] = updated_at
|
||||
if website is not UNSET:
|
||||
field_dict["website"] = website
|
||||
if zoneinfo is not UNSET:
|
||||
field_dict["zoneinfo"] = zoneinfo
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
birthdate = _d.pop("birthdate", UNSET)
|
||||
|
||||
email = _d.pop("email", UNSET)
|
||||
|
||||
email_verified = _d.pop("email_verified", UNSET)
|
||||
|
||||
family_name = _d.pop("family_name", UNSET)
|
||||
|
||||
gender = _d.pop("gender", UNSET)
|
||||
|
||||
given_name = _d.pop("given_name", UNSET)
|
||||
|
||||
locale = _d.pop("locale", UNSET)
|
||||
|
||||
middle_name = _d.pop("middle_name", UNSET)
|
||||
|
||||
name = _d.pop("name", UNSET)
|
||||
|
||||
nickname = _d.pop("nickname", UNSET)
|
||||
|
||||
phone_number = _d.pop("phone_number", UNSET)
|
||||
|
||||
phone_number_verified = _d.pop("phone_number_verified", UNSET)
|
||||
|
||||
picture = _d.pop("picture", UNSET)
|
||||
|
||||
preferred_username = _d.pop("preferred_username", UNSET)
|
||||
|
||||
profile = _d.pop("profile", UNSET)
|
||||
|
||||
sub = _d.pop("sub", UNSET)
|
||||
|
||||
updated_at = _d.pop("updated_at", UNSET)
|
||||
|
||||
website = _d.pop("website", UNSET)
|
||||
|
||||
zoneinfo = _d.pop("zoneinfo", UNSET)
|
||||
|
||||
userinfo_response = cls(
|
||||
birthdate=birthdate,
|
||||
email=email,
|
||||
email_verified=email_verified,
|
||||
family_name=family_name,
|
||||
gender=gender,
|
||||
given_name=given_name,
|
||||
locale=locale,
|
||||
middle_name=middle_name,
|
||||
name=name,
|
||||
nickname=nickname,
|
||||
phone_number=phone_number,
|
||||
phone_number_verified=phone_number_verified,
|
||||
picture=picture,
|
||||
preferred_username=preferred_username,
|
||||
profile=profile,
|
||||
sub=sub,
|
||||
updated_at=updated_at,
|
||||
website=website,
|
||||
zoneinfo=zoneinfo,
|
||||
)
|
||||
|
||||
userinfo_response.additional_properties = _d
|
||||
return userinfo_response
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
57
libs/ory-hydra-client/ory_hydra_client/models/version.py
Normal file
57
libs/ory-hydra-client/ory_hydra_client/models/version.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="Version")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class Version:
|
||||
"""
|
||||
Attributes:
|
||||
version (Union[Unset, str]): Version is the service's version.
|
||||
"""
|
||||
|
||||
version: Union[Unset, str] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
version = self.version
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update({})
|
||||
if version is not UNSET:
|
||||
field_dict["version"] = version
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
version = _d.pop("version", UNSET)
|
||||
|
||||
version = cls(
|
||||
version=version,
|
||||
)
|
||||
|
||||
version.additional_properties = _d
|
||||
return version
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
|
@ -0,0 +1,70 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar
|
||||
|
||||
import attr
|
||||
|
||||
T = TypeVar("T", bound="VolumeUsageData")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class VolumeUsageData:
|
||||
"""VolumeUsageData Usage details about the volume. This information is used by the
|
||||
`GET /system/df` endpoint, and omitted in other endpoints.
|
||||
|
||||
Attributes:
|
||||
ref_count (int): The number of containers referencing this volume. This field
|
||||
is set to `-1` if the reference-count is not available.
|
||||
size (int): 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")
|
||||
"""
|
||||
|
||||
ref_count: int
|
||||
size: int
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
ref_count = self.ref_count
|
||||
size = self.size
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"RefCount": ref_count,
|
||||
"Size": size,
|
||||
}
|
||||
)
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
ref_count = _d.pop("RefCount")
|
||||
|
||||
size = _d.pop("Size")
|
||||
|
||||
volume_usage_data = cls(
|
||||
ref_count=ref_count,
|
||||
size=size,
|
||||
)
|
||||
|
||||
volume_usage_data.additional_properties = _d
|
||||
return volume_usage_data
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
330
libs/ory-hydra-client/ory_hydra_client/models/well_known.py
Normal file
330
libs/ory-hydra-client/ory_hydra_client/models/well_known.py
Normal file
|
@ -0,0 +1,330 @@
|
|||
from typing import Any, Dict, List, Type, TypeVar, Union, cast
|
||||
|
||||
import attr
|
||||
|
||||
from ..types import UNSET, Unset
|
||||
|
||||
T = TypeVar("T", bound="WellKnown")
|
||||
|
||||
|
||||
@attr.s(auto_attribs=True)
|
||||
class WellKnown:
|
||||
"""It includes links to several endpoints (e.g. /oauth2/token) and exposes information on supported signature
|
||||
algorithms
|
||||
among others.
|
||||
|
||||
Attributes:
|
||||
authorization_endpoint (str): URL of the OP's OAuth 2.0 Authorization Endpoint. Example:
|
||||
https://playground.ory.sh/ory-hydra/public/oauth2/auth.
|
||||
id_token_signing_alg_values_supported (List[str]): 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.
|
||||
issuer (str): 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/.
|
||||
jwks_uri (str): 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://playground.ory.sh/ory-hydra/public/.well-known/jwks.json.
|
||||
response_types_supported (List[str]): 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.
|
||||
subject_types_supported (List[str]): JSON array containing a list of the Subject Identifier types that this OP
|
||||
supports. Valid types include
|
||||
pairwise and public.
|
||||
token_endpoint (str): URL of the OP's OAuth 2.0 Token Endpoint Example: https://playground.ory.sh/ory-
|
||||
hydra/public/oauth2/token.
|
||||
backchannel_logout_session_supported (Union[Unset, bool]): 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
|
||||
backchannel_logout_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports back-channel
|
||||
logout, with true indicating support.
|
||||
claims_parameter_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports use of the
|
||||
claims parameter, with true indicating support.
|
||||
claims_supported (Union[Unset, List[str]]): 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.
|
||||
end_session_endpoint (Union[Unset, str]): URL at the OP to which an RP can perform a redirect to request that
|
||||
the End-User be logged out at the OP.
|
||||
frontchannel_logout_session_supported (Union[Unset, bool]): 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.
|
||||
frontchannel_logout_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports HTTP-based
|
||||
logout, with true indicating support.
|
||||
grant_types_supported (Union[Unset, List[str]]): JSON array containing a list of the OAuth 2.0 Grant Type values
|
||||
that this OP supports.
|
||||
registration_endpoint (Union[Unset, str]): URL of the OP's Dynamic Client Registration Endpoint. Example:
|
||||
https://playground.ory.sh/ory-hydra/admin/client.
|
||||
request_object_signing_alg_values_supported (Union[Unset, List[str]]): 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).
|
||||
request_parameter_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports use of the
|
||||
request parameter, with true indicating support.
|
||||
request_uri_parameter_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports use of
|
||||
the request_uri parameter, with true indicating support.
|
||||
require_request_uri_registration (Union[Unset, bool]): Boolean value specifying whether the OP requires any
|
||||
request_uri values used to be pre-registered
|
||||
using the request_uris registration parameter.
|
||||
response_modes_supported (Union[Unset, List[str]]): JSON array containing a list of the OAuth 2.0 response_mode
|
||||
values that this OP supports.
|
||||
revocation_endpoint (Union[Unset, str]): URL of the authorization server's OAuth 2.0 revocation endpoint.
|
||||
scopes_supported (Union[Unset, List[str]]): 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
|
||||
token_endpoint_auth_methods_supported (Union[Unset, List[str]]): 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
|
||||
userinfo_endpoint (Union[Unset, str]): URL of the OP's UserInfo Endpoint.
|
||||
userinfo_signing_alg_values_supported (Union[Unset, List[str]]): 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].
|
||||
"""
|
||||
|
||||
authorization_endpoint: str
|
||||
id_token_signing_alg_values_supported: List[str]
|
||||
issuer: str
|
||||
jwks_uri: str
|
||||
response_types_supported: List[str]
|
||||
subject_types_supported: List[str]
|
||||
token_endpoint: str
|
||||
backchannel_logout_session_supported: Union[Unset, bool] = UNSET
|
||||
backchannel_logout_supported: Union[Unset, bool] = UNSET
|
||||
claims_parameter_supported: Union[Unset, bool] = UNSET
|
||||
claims_supported: Union[Unset, List[str]] = UNSET
|
||||
end_session_endpoint: Union[Unset, str] = UNSET
|
||||
frontchannel_logout_session_supported: Union[Unset, bool] = UNSET
|
||||
frontchannel_logout_supported: Union[Unset, bool] = UNSET
|
||||
grant_types_supported: Union[Unset, List[str]] = UNSET
|
||||
registration_endpoint: Union[Unset, str] = UNSET
|
||||
request_object_signing_alg_values_supported: Union[Unset, List[str]] = UNSET
|
||||
request_parameter_supported: Union[Unset, bool] = UNSET
|
||||
request_uri_parameter_supported: Union[Unset, bool] = UNSET
|
||||
require_request_uri_registration: Union[Unset, bool] = UNSET
|
||||
response_modes_supported: Union[Unset, List[str]] = UNSET
|
||||
revocation_endpoint: Union[Unset, str] = UNSET
|
||||
scopes_supported: Union[Unset, List[str]] = UNSET
|
||||
token_endpoint_auth_methods_supported: Union[Unset, List[str]] = UNSET
|
||||
userinfo_endpoint: Union[Unset, str] = UNSET
|
||||
userinfo_signing_alg_values_supported: Union[Unset, List[str]] = UNSET
|
||||
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
authorization_endpoint = self.authorization_endpoint
|
||||
id_token_signing_alg_values_supported = self.id_token_signing_alg_values_supported
|
||||
|
||||
issuer = self.issuer
|
||||
jwks_uri = self.jwks_uri
|
||||
response_types_supported = self.response_types_supported
|
||||
|
||||
subject_types_supported = self.subject_types_supported
|
||||
|
||||
token_endpoint = self.token_endpoint
|
||||
backchannel_logout_session_supported = self.backchannel_logout_session_supported
|
||||
backchannel_logout_supported = self.backchannel_logout_supported
|
||||
claims_parameter_supported = self.claims_parameter_supported
|
||||
claims_supported: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.claims_supported, Unset):
|
||||
claims_supported = self.claims_supported
|
||||
|
||||
end_session_endpoint = self.end_session_endpoint
|
||||
frontchannel_logout_session_supported = self.frontchannel_logout_session_supported
|
||||
frontchannel_logout_supported = self.frontchannel_logout_supported
|
||||
grant_types_supported: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.grant_types_supported, Unset):
|
||||
grant_types_supported = self.grant_types_supported
|
||||
|
||||
registration_endpoint = self.registration_endpoint
|
||||
request_object_signing_alg_values_supported: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.request_object_signing_alg_values_supported, Unset):
|
||||
request_object_signing_alg_values_supported = self.request_object_signing_alg_values_supported
|
||||
|
||||
request_parameter_supported = self.request_parameter_supported
|
||||
request_uri_parameter_supported = self.request_uri_parameter_supported
|
||||
require_request_uri_registration = self.require_request_uri_registration
|
||||
response_modes_supported: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.response_modes_supported, Unset):
|
||||
response_modes_supported = self.response_modes_supported
|
||||
|
||||
revocation_endpoint = self.revocation_endpoint
|
||||
scopes_supported: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.scopes_supported, Unset):
|
||||
scopes_supported = self.scopes_supported
|
||||
|
||||
token_endpoint_auth_methods_supported: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.token_endpoint_auth_methods_supported, Unset):
|
||||
token_endpoint_auth_methods_supported = self.token_endpoint_auth_methods_supported
|
||||
|
||||
userinfo_endpoint = self.userinfo_endpoint
|
||||
userinfo_signing_alg_values_supported: Union[Unset, List[str]] = UNSET
|
||||
if not isinstance(self.userinfo_signing_alg_values_supported, Unset):
|
||||
userinfo_signing_alg_values_supported = self.userinfo_signing_alg_values_supported
|
||||
|
||||
field_dict: Dict[str, Any] = {}
|
||||
field_dict.update(self.additional_properties)
|
||||
field_dict.update(
|
||||
{
|
||||
"authorization_endpoint": authorization_endpoint,
|
||||
"id_token_signing_alg_values_supported": id_token_signing_alg_values_supported,
|
||||
"issuer": issuer,
|
||||
"jwks_uri": jwks_uri,
|
||||
"response_types_supported": response_types_supported,
|
||||
"subject_types_supported": subject_types_supported,
|
||||
"token_endpoint": token_endpoint,
|
||||
}
|
||||
)
|
||||
if backchannel_logout_session_supported is not UNSET:
|
||||
field_dict["backchannel_logout_session_supported"] = backchannel_logout_session_supported
|
||||
if backchannel_logout_supported is not UNSET:
|
||||
field_dict["backchannel_logout_supported"] = backchannel_logout_supported
|
||||
if claims_parameter_supported is not UNSET:
|
||||
field_dict["claims_parameter_supported"] = claims_parameter_supported
|
||||
if claims_supported is not UNSET:
|
||||
field_dict["claims_supported"] = claims_supported
|
||||
if end_session_endpoint is not UNSET:
|
||||
field_dict["end_session_endpoint"] = end_session_endpoint
|
||||
if frontchannel_logout_session_supported is not UNSET:
|
||||
field_dict["frontchannel_logout_session_supported"] = frontchannel_logout_session_supported
|
||||
if frontchannel_logout_supported is not UNSET:
|
||||
field_dict["frontchannel_logout_supported"] = frontchannel_logout_supported
|
||||
if grant_types_supported is not UNSET:
|
||||
field_dict["grant_types_supported"] = grant_types_supported
|
||||
if registration_endpoint is not UNSET:
|
||||
field_dict["registration_endpoint"] = registration_endpoint
|
||||
if request_object_signing_alg_values_supported is not UNSET:
|
||||
field_dict["request_object_signing_alg_values_supported"] = request_object_signing_alg_values_supported
|
||||
if request_parameter_supported is not UNSET:
|
||||
field_dict["request_parameter_supported"] = request_parameter_supported
|
||||
if request_uri_parameter_supported is not UNSET:
|
||||
field_dict["request_uri_parameter_supported"] = request_uri_parameter_supported
|
||||
if require_request_uri_registration is not UNSET:
|
||||
field_dict["require_request_uri_registration"] = require_request_uri_registration
|
||||
if response_modes_supported is not UNSET:
|
||||
field_dict["response_modes_supported"] = response_modes_supported
|
||||
if revocation_endpoint is not UNSET:
|
||||
field_dict["revocation_endpoint"] = revocation_endpoint
|
||||
if scopes_supported is not UNSET:
|
||||
field_dict["scopes_supported"] = scopes_supported
|
||||
if token_endpoint_auth_methods_supported is not UNSET:
|
||||
field_dict["token_endpoint_auth_methods_supported"] = token_endpoint_auth_methods_supported
|
||||
if userinfo_endpoint is not UNSET:
|
||||
field_dict["userinfo_endpoint"] = userinfo_endpoint
|
||||
if userinfo_signing_alg_values_supported is not UNSET:
|
||||
field_dict["userinfo_signing_alg_values_supported"] = userinfo_signing_alg_values_supported
|
||||
|
||||
return field_dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
||||
_d = src_dict.copy()
|
||||
authorization_endpoint = _d.pop("authorization_endpoint")
|
||||
|
||||
id_token_signing_alg_values_supported = cast(List[str], _d.pop("id_token_signing_alg_values_supported"))
|
||||
|
||||
issuer = _d.pop("issuer")
|
||||
|
||||
jwks_uri = _d.pop("jwks_uri")
|
||||
|
||||
response_types_supported = cast(List[str], _d.pop("response_types_supported"))
|
||||
|
||||
subject_types_supported = cast(List[str], _d.pop("subject_types_supported"))
|
||||
|
||||
token_endpoint = _d.pop("token_endpoint")
|
||||
|
||||
backchannel_logout_session_supported = _d.pop("backchannel_logout_session_supported", UNSET)
|
||||
|
||||
backchannel_logout_supported = _d.pop("backchannel_logout_supported", UNSET)
|
||||
|
||||
claims_parameter_supported = _d.pop("claims_parameter_supported", UNSET)
|
||||
|
||||
claims_supported = cast(List[str], _d.pop("claims_supported", UNSET))
|
||||
|
||||
end_session_endpoint = _d.pop("end_session_endpoint", UNSET)
|
||||
|
||||
frontchannel_logout_session_supported = _d.pop("frontchannel_logout_session_supported", UNSET)
|
||||
|
||||
frontchannel_logout_supported = _d.pop("frontchannel_logout_supported", UNSET)
|
||||
|
||||
grant_types_supported = cast(List[str], _d.pop("grant_types_supported", UNSET))
|
||||
|
||||
registration_endpoint = _d.pop("registration_endpoint", UNSET)
|
||||
|
||||
request_object_signing_alg_values_supported = cast(
|
||||
List[str], _d.pop("request_object_signing_alg_values_supported", UNSET)
|
||||
)
|
||||
|
||||
request_parameter_supported = _d.pop("request_parameter_supported", UNSET)
|
||||
|
||||
request_uri_parameter_supported = _d.pop("request_uri_parameter_supported", UNSET)
|
||||
|
||||
require_request_uri_registration = _d.pop("require_request_uri_registration", UNSET)
|
||||
|
||||
response_modes_supported = cast(List[str], _d.pop("response_modes_supported", UNSET))
|
||||
|
||||
revocation_endpoint = _d.pop("revocation_endpoint", UNSET)
|
||||
|
||||
scopes_supported = cast(List[str], _d.pop("scopes_supported", UNSET))
|
||||
|
||||
token_endpoint_auth_methods_supported = cast(List[str], _d.pop("token_endpoint_auth_methods_supported", UNSET))
|
||||
|
||||
userinfo_endpoint = _d.pop("userinfo_endpoint", UNSET)
|
||||
|
||||
userinfo_signing_alg_values_supported = cast(List[str], _d.pop("userinfo_signing_alg_values_supported", UNSET))
|
||||
|
||||
well_known = cls(
|
||||
authorization_endpoint=authorization_endpoint,
|
||||
id_token_signing_alg_values_supported=id_token_signing_alg_values_supported,
|
||||
issuer=issuer,
|
||||
jwks_uri=jwks_uri,
|
||||
response_types_supported=response_types_supported,
|
||||
subject_types_supported=subject_types_supported,
|
||||
token_endpoint=token_endpoint,
|
||||
backchannel_logout_session_supported=backchannel_logout_session_supported,
|
||||
backchannel_logout_supported=backchannel_logout_supported,
|
||||
claims_parameter_supported=claims_parameter_supported,
|
||||
claims_supported=claims_supported,
|
||||
end_session_endpoint=end_session_endpoint,
|
||||
frontchannel_logout_session_supported=frontchannel_logout_session_supported,
|
||||
frontchannel_logout_supported=frontchannel_logout_supported,
|
||||
grant_types_supported=grant_types_supported,
|
||||
registration_endpoint=registration_endpoint,
|
||||
request_object_signing_alg_values_supported=request_object_signing_alg_values_supported,
|
||||
request_parameter_supported=request_parameter_supported,
|
||||
request_uri_parameter_supported=request_uri_parameter_supported,
|
||||
require_request_uri_registration=require_request_uri_registration,
|
||||
response_modes_supported=response_modes_supported,
|
||||
revocation_endpoint=revocation_endpoint,
|
||||
scopes_supported=scopes_supported,
|
||||
token_endpoint_auth_methods_supported=token_endpoint_auth_methods_supported,
|
||||
userinfo_endpoint=userinfo_endpoint,
|
||||
userinfo_signing_alg_values_supported=userinfo_signing_alg_values_supported,
|
||||
)
|
||||
|
||||
well_known.additional_properties = _d
|
||||
return well_known
|
||||
|
||||
@property
|
||||
def additional_keys(self) -> List[str]:
|
||||
return list(self.additional_properties.keys())
|
||||
|
||||
def __getitem__(self, key: str) -> Any:
|
||||
return self.additional_properties[key]
|
||||
|
||||
def __setitem__(self, key: str, value: Any) -> None:
|
||||
self.additional_properties[key] = value
|
||||
|
||||
def __delitem__(self, key: str) -> None:
|
||||
del self.additional_properties[key]
|
||||
|
||||
def __contains__(self, key: str) -> bool:
|
||||
return key in self.additional_properties
|
Loading…
Add table
Add a link
Reference in a new issue