diff --git a/crates/oauth2-types/src/requests.rs b/crates/oauth2-types/src/requests.rs index 7418cfd6..57f35ed8 100644 --- a/crates/oauth2-types/src/requests.rs +++ b/crates/oauth2-types/src/requests.rs @@ -98,8 +98,9 @@ pub enum Prompt { Create, } +#[skip_serializing_none] #[serde_as] -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug, Clone)] pub struct AuthorizationRequest { pub response_type: OAuthAuthorizationEndpointResponseType, @@ -115,7 +116,7 @@ pub struct AuthorizationRequest { pub nonce: Option, - display: Option, + pub display: Option, pub prompt: Option, @@ -125,15 +126,15 @@ pub struct AuthorizationRequest { #[serde_as(as = "Option>")] #[serde(default)] - ui_locales: Option>, + pub ui_locales: Option>, - id_token_hint: Option, + pub id_token_hint: Option, - login_hint: Option, + pub login_hint: Option, #[serde_as(as = "Option>")] #[serde(default)] - acr_values: Option>, + pub acr_values: Option>, pub request: Option, @@ -142,7 +143,8 @@ pub struct AuthorizationRequest { pub registration: Option, } -#[derive(Serialize, Deserialize, Default)] +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Default, Debug, Clone)] pub struct AuthorizationResponse { pub code: Option, #[serde(flatten)] @@ -150,7 +152,7 @@ pub struct AuthorizationResponse { } #[skip_serializing_none] -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub struct AuthorizationCodeGrant { pub code: String, #[serde(default)] @@ -161,18 +163,19 @@ pub struct AuthorizationCodeGrant { pub code_verifier: Option, } -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub struct RefreshTokenGrant { pub refresh_token: String, #[serde(default)] - scope: Option, + pub scope: Option, } -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub struct ClientCredentialsGrant { #[serde(default)] - scope: Option, + pub scope: Option, } #[derive( @@ -197,7 +200,7 @@ pub enum GrantType { ClientCredentials, } -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] #[serde(tag = "grant_type", rename_all = "snake_case")] pub enum AccessTokenRequest { AuthorizationCode(AuthorizationCodeGrant), @@ -209,19 +212,19 @@ pub enum AccessTokenRequest { #[serde_as] #[skip_serializing_none] -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub struct AccessTokenResponse { - access_token: String, - refresh_token: Option, + pub access_token: String, + pub refresh_token: Option, // TODO: this should be somewhere else - id_token: Option, + pub id_token: Option, - token_type: OAuthAccessTokenType, + pub token_type: OAuthAccessTokenType, #[serde_as(as = "Option>")] - expires_in: Option, + pub expires_in: Option, - scope: Option, + pub scope: Option, } impl AccessTokenResponse { @@ -263,7 +266,7 @@ impl AccessTokenResponse { } #[skip_serializing_none] -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub struct IntrospectionRequest { pub token: String, @@ -273,7 +276,7 @@ pub struct IntrospectionRequest { #[serde_as] #[skip_serializing_none] -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Default)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Default)] pub struct IntrospectionResponse { pub active: bool,