use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OAuthErrorReason {
#[serde(rename = "auth_code_not_found")]
AuthCodeNotFound,
#[serde(rename = "access_token_malformed")]
AccessTokenMalformed,
#[serde(rename = "access_token_expired")]
AccessTokenExpired,
#[serde(rename = "access_token_unavailable_for_processing")]
AccessTokenUnavailableForProcessing,
#[serde(rename = "access_token_failed_processing")]
AccessTokenFailedProcessing,
#[serde(rename = "access_token_invalid")]
AccessTokenInvalid,
#[serde(rename = "access_token_required")]
AccessTokenRequired,
#[serde(rename = "refresh_token_not_found")]
RefreshTokenNotFound,
#[serde(rename = "refresh_token_type_not_supported")]
RefreshTokenTypeNotSupported,
#[serde(rename = "invalid_client_id")]
InvalidClientId,
#[serde(rename = "invalid_user_credentials")]
InvalidUserCredentials,
#[serde(rename = "invalid_grant_type")]
InvalidGrantType,
#[serde(rename = "invalid_origin")]
InvalidOrigin,
#[serde(rename = "invalid_origin_opaque")]
InvalidOriginOpaque,
#[serde(rename = "invalid_pkce_code_verifier")]
InvalidPkceCodeVerifier,
#[serde(rename = "invalid_pkce_code_challenge")]
InvalidPkceCodeChallenge,
#[serde(rename = "invalid_pkce_code_challenge_method")]
InvalidPkceCodeChallengeMethod,
#[serde(rename = "invalid_redirect_uri")]
InvalidRedirectUri,
#[serde(rename = "invalid_response_mode")]
InvalidResponseMode,
#[serde(rename = "invalid_response_type")]
InvalidResponseType,
#[serde(rename = "invalid_id_token_hint")]
InvalidIdTokenHint,
#[serde(rename = "invalid_post_logout_redirect_uri")]
InvalidPostLogoutRedirectUri,
#[serde(rename = "invalid_device_code")]
InvalidDeviceCode,
#[serde(rename = "invalid_user_code")]
InvalidUserCode,
#[serde(rename = "invalid_additional_client_id")]
InvalidAdditionalClientId,
#[serde(rename = "invalid_target_entity_scope")]
InvalidTargetEntityScope,
#[serde(rename = "invalid_entity_permission_scope")]
InvalidEntityPermissionScope,
#[serde(rename = "invalid_user_id")]
InvalidUserId,
#[serde(rename = "grant_type_disabled")]
GrantTypeDisabled,
#[serde(rename = "missing_client_id")]
MissingClientId,
#[serde(rename = "missing_client_secret")]
MissingClientSecret,
#[serde(rename = "missing_code")]
MissingCode,
#[serde(rename = "missing_code_challenge")]
MissingCodeChallenge,
#[serde(rename = "missing_code_verifier")]
MissingCodeVerifier,
#[serde(rename = "missing_device_code")]
MissingDeviceCode,
#[serde(rename = "missing_grant_type")]
MissingGrantType,
#[serde(rename = "missing_redirect_uri")]
MissingRedirectUri,
#[serde(rename = "missing_refresh_token")]
MissingRefreshToken,
#[serde(rename = "missing_response_type")]
MissingResponseType,
#[serde(rename = "missing_token")]
MissingToken,
#[serde(rename = "missing_user_code")]
MissingUserCode,
#[serde(rename = "missing_user_id")]
MissingUserId,
#[serde(rename = "missing_verification_uri")]
MissingVerificationUri,
#[serde(rename = "login_prevented")]
LoginPrevented,
#[serde(rename = "not_licensed")]
NotLicensed,
#[serde(rename = "user_code_expired")]
UserCodeExpired,
#[serde(rename = "user_expired")]
UserExpired,
#[serde(rename = "user_locked")]
UserLocked,
#[serde(rename = "user_not_found")]
UserNotFound,
#[serde(rename = "client_authentication_missing")]
ClientAuthenticationMissing,
#[serde(rename = "invalid_client_authentication_scheme")]
InvalidClientAuthenticationScheme,
#[serde(rename = "invalid_client_authentication")]
InvalidClientAuthentication,
#[serde(rename = "client_id_mismatch")]
ClientIdMismatch,
#[serde(rename = "change_password_administrative")]
ChangePasswordAdministrative,
#[serde(rename = "change_password_breached")]
ChangePasswordBreached,
#[serde(rename = "change_password_expired")]
ChangePasswordExpired,
#[serde(rename = "change_password_validation")]
ChangePasswordValidation,
#[serde(rename = "unknown")]
Unknown,
#[serde(rename = "missing_required_scope")]
MissingRequiredScope,
#[serde(rename = "unknown_scope")]
UnknownScope,
#[serde(rename = "consent_canceled")]
ConsentCanceled,
}
impl std::fmt::Display for OAuthErrorReason {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::AuthCodeNotFound => write!(f, "auth_code_not_found"),
Self::AccessTokenMalformed => write!(f, "access_token_malformed"),
Self::AccessTokenExpired => write!(f, "access_token_expired"),
Self::AccessTokenUnavailableForProcessing => write!(f, "access_token_unavailable_for_processing"),
Self::AccessTokenFailedProcessing => write!(f, "access_token_failed_processing"),
Self::AccessTokenInvalid => write!(f, "access_token_invalid"),
Self::AccessTokenRequired => write!(f, "access_token_required"),
Self::RefreshTokenNotFound => write!(f, "refresh_token_not_found"),
Self::RefreshTokenTypeNotSupported => write!(f, "refresh_token_type_not_supported"),
Self::InvalidClientId => write!(f, "invalid_client_id"),
Self::InvalidUserCredentials => write!(f, "invalid_user_credentials"),
Self::InvalidGrantType => write!(f, "invalid_grant_type"),
Self::InvalidOrigin => write!(f, "invalid_origin"),
Self::InvalidOriginOpaque => write!(f, "invalid_origin_opaque"),
Self::InvalidPkceCodeVerifier => write!(f, "invalid_pkce_code_verifier"),
Self::InvalidPkceCodeChallenge => write!(f, "invalid_pkce_code_challenge"),
Self::InvalidPkceCodeChallengeMethod => write!(f, "invalid_pkce_code_challenge_method"),
Self::InvalidRedirectUri => write!(f, "invalid_redirect_uri"),
Self::InvalidResponseMode => write!(f, "invalid_response_mode"),
Self::InvalidResponseType => write!(f, "invalid_response_type"),
Self::InvalidIdTokenHint => write!(f, "invalid_id_token_hint"),
Self::InvalidPostLogoutRedirectUri => write!(f, "invalid_post_logout_redirect_uri"),
Self::InvalidDeviceCode => write!(f, "invalid_device_code"),
Self::InvalidUserCode => write!(f, "invalid_user_code"),
Self::InvalidAdditionalClientId => write!(f, "invalid_additional_client_id"),
Self::InvalidTargetEntityScope => write!(f, "invalid_target_entity_scope"),
Self::InvalidEntityPermissionScope => write!(f, "invalid_entity_permission_scope"),
Self::InvalidUserId => write!(f, "invalid_user_id"),
Self::GrantTypeDisabled => write!(f, "grant_type_disabled"),
Self::MissingClientId => write!(f, "missing_client_id"),
Self::MissingClientSecret => write!(f, "missing_client_secret"),
Self::MissingCode => write!(f, "missing_code"),
Self::MissingCodeChallenge => write!(f, "missing_code_challenge"),
Self::MissingCodeVerifier => write!(f, "missing_code_verifier"),
Self::MissingDeviceCode => write!(f, "missing_device_code"),
Self::MissingGrantType => write!(f, "missing_grant_type"),
Self::MissingRedirectUri => write!(f, "missing_redirect_uri"),
Self::MissingRefreshToken => write!(f, "missing_refresh_token"),
Self::MissingResponseType => write!(f, "missing_response_type"),
Self::MissingToken => write!(f, "missing_token"),
Self::MissingUserCode => write!(f, "missing_user_code"),
Self::MissingUserId => write!(f, "missing_user_id"),
Self::MissingVerificationUri => write!(f, "missing_verification_uri"),
Self::LoginPrevented => write!(f, "login_prevented"),
Self::NotLicensed => write!(f, "not_licensed"),
Self::UserCodeExpired => write!(f, "user_code_expired"),
Self::UserExpired => write!(f, "user_expired"),
Self::UserLocked => write!(f, "user_locked"),
Self::UserNotFound => write!(f, "user_not_found"),
Self::ClientAuthenticationMissing => write!(f, "client_authentication_missing"),
Self::InvalidClientAuthenticationScheme => write!(f, "invalid_client_authentication_scheme"),
Self::InvalidClientAuthentication => write!(f, "invalid_client_authentication"),
Self::ClientIdMismatch => write!(f, "client_id_mismatch"),
Self::ChangePasswordAdministrative => write!(f, "change_password_administrative"),
Self::ChangePasswordBreached => write!(f, "change_password_breached"),
Self::ChangePasswordExpired => write!(f, "change_password_expired"),
Self::ChangePasswordValidation => write!(f, "change_password_validation"),
Self::Unknown => write!(f, "unknown"),
Self::MissingRequiredScope => write!(f, "missing_required_scope"),
Self::UnknownScope => write!(f, "unknown_scope"),
Self::ConsentCanceled => write!(f, "consent_canceled"),
}
}
}
impl Default for OAuthErrorReason {
fn default() -> OAuthErrorReason {
Self::AuthCodeNotFound
}
}