Skip to content

Commit 414eb35

Browse files
authored
Support standard OIDC birthdate claim (#120)
Fixes #119
1 parent 1bc4a2f commit 414eb35

File tree

4 files changed

+13
-0
lines changed

4 files changed

+13
-0
lines changed

src/claims.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ where
105105
pub(crate) email_verified: Option<bool>,
106106
pub(crate) gender: Option<GC>,
107107
pub(crate) birthday: Option<EndUserBirthday>,
108+
pub(crate) birthdate: Option<EndUserBirthday>,
108109
pub(crate) zoneinfo: Option<EndUserTimezone>,
109110
pub(crate) locale: Option<LanguageTag>,
110111
pub(crate) phone_number: Option<EndUserPhoneNumber>,
@@ -137,6 +138,7 @@ where
137138
email_verified: None,
138139
gender: None,
139140
birthday: None,
141+
birthdate: None,
140142
zoneinfo: None,
141143
locale: None,
142144
phone_number: None,
@@ -178,6 +180,7 @@ where
178180
set_email_verified -> email_verified[Option<bool>],
179181
set_gender -> gender[Option<GC>],
180182
set_birthday -> birthday[Option<EndUserBirthday>],
183+
set_birthdate -> birthdate[Option<EndUserBirthday>],
181184
set_zoneinfo -> zoneinfo[Option<EndUserTimezone>],
182185
set_locale -> locale[Option<LanguageTag>],
183186
set_phone_number -> phone_number[Option<EndUserPhoneNumber>],
@@ -210,6 +213,7 @@ where
210213
| ("email_verified", None)
211214
| ("gender", None)
212215
| ("birthday", None)
216+
| ("birthdate", None)
213217
| ("zoneinfo", None)
214218
| ("locale", None)
215219
| ("phone_number", None)
@@ -261,6 +265,7 @@ where
261265
[Option(Boolean(email_verified))]
262266
[Option(gender)]
263267
[Option(birthday)]
268+
[Option(birthdate)]
264269
[Option(zoneinfo)]
265270
[Option(locale)]
266271
[Option(phone_number)]
@@ -299,6 +304,7 @@ where
299304
[Option(email_verified)]
300305
[Option(gender)]
301306
[Option(birthday)]
307+
[Option(birthdate)]
302308
[Option(zoneinfo)]
303309
[Option(locale)]
304310
[Option(phone_number)]

src/id_token.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,7 @@ where
313313
set_email_verified -> email_verified[Option<bool>],
314314
set_gender -> gender[Option<GC>],
315315
set_birthday -> birthday[Option<EndUserBirthday>],
316+
set_birthdate -> birthdate[Option<EndUserBirthday>],
316317
set_zoneinfo -> zoneinfo[Option<EndUserTimezone>],
317318
set_locale -> locale[Option<LanguageTag>],
318319
set_phone_number -> phone_number[Option<EndUserPhoneNumber>],
@@ -621,6 +622,7 @@ mod tests {
621622
assert_eq!(claims.email_verified(), None);
622623
assert_eq!(claims.gender(), None);
623624
assert_eq!(claims.birthday(), None);
625+
assert_eq!(claims.birthdate(), None);
624626
assert_eq!(claims.zoneinfo(), None);
625627
assert_eq!(claims.locale(), None);
626628
assert_eq!(claims.phone_number(), None);
@@ -672,6 +674,7 @@ mod tests {
672674
\"email_verified\":true,\
673675
\"gender\":\"male\",\
674676
\"birthday\":\"1956-05-12\",\
677+
\"birthdate\":\"1956-07-12\",\
675678
\"zoneinfo\":\"America/Los_Angeles\",\
676679
\"locale\":\"en-US\",\
677680
\"phone_number\":\"+1 (555) 555-5555\",\
@@ -808,6 +811,7 @@ mod tests {
808811
email_verified: Some(true),
809812
gender: Some(CoreGenderClaim::new("male".to_string())),
810813
birthday: Some(EndUserBirthday::new("1956-05-12".to_string())),
814+
birthdate: Some(EndUserBirthday::new("1956-07-12".to_string())),
811815
zoneinfo: Some(EndUserTimezone::new("America/Los_Angeles".to_string())),
812816
locale: Some(LanguageTag::new("en-US".to_string())),
813817
phone_number: Some(EndUserPhoneNumber::new("+1 (555) 555-5555".to_string())),
@@ -885,6 +889,7 @@ mod tests {
885889
assert_eq!(claims.email_verified(), new_claims.email_verified());
886890
assert_eq!(claims.gender(), new_claims.gender());
887891
assert_eq!(claims.birthday(), new_claims.birthday());
892+
assert_eq!(claims.birthdate(), new_claims.birthdate());
888893
assert_eq!(claims.zoneinfo(), new_claims.zoneinfo());
889894
assert_eq!(claims.locale(), new_claims.locale());
890895
assert_eq!(claims.phone_number(), new_claims.phone_number(),);

src/user_info.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ where
291291
set_email_verified -> email_verified[Option<bool>],
292292
set_gender -> gender[Option<GC>],
293293
set_birthday -> birthday[Option<EndUserBirthday>],
294+
set_birthdate -> birthdate[Option<EndUserBirthday>],
294295
set_zoneinfo -> zoneinfo[Option<EndUserTimezone>],
295296
set_locale -> locale[Option<LanguageTag>],
296297
set_phone_number -> phone_number[Option<EndUserPhoneNumber>],

src/verification.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2081,6 +2081,7 @@ mod tests {
20812081
email_verified: None,
20822082
gender: None,
20832083
birthday: None,
2084+
birthdate: None,
20842085
zoneinfo: None,
20852086
locale: None,
20862087
phone_number: None,

0 commit comments

Comments
 (0)