@@ -45,6 +45,7 @@ use time::OffsetDateTime;
4545use tracing:: {
4646 debug,
4747 error,
48+ trace,
4849 warn,
4950} ;
5051
@@ -123,16 +124,26 @@ impl DeviceRegistration {
123124
124125 /// Loads the OIDC registered client from the secret store, deleting it if it is expired.
125126 async fn load_from_secret_store ( database : & Database , region : & Region ) -> Result < Option < Self > , AuthError > {
127+ trace ! ( ?region, "loading device registration from secret store" ) ;
126128 let device_registration = database. get_secret ( Self :: SECRET_KEY ) . await ?;
127129
128130 if let Some ( device_registration) = device_registration {
129131 // check that the data is not expired, assume it is invalid if not present
130132 let device_registration: Self = serde_json:: from_str ( & device_registration. 0 ) ?;
131133
132134 if let Some ( client_secret_expires_at) = device_registration. client_secret_expires_at {
133- if !is_expired ( & client_secret_expires_at) && device_registration. region == region. as_ref ( ) {
135+ let is_expired = is_expired ( & client_secret_expires_at) ;
136+ let registration_region_is_valid = device_registration. region == region. as_ref ( ) ;
137+ trace ! (
138+ ?is_expired,
139+ ?registration_region_is_valid,
140+ "checking if device registration is valid"
141+ ) ;
142+ if !is_expired && registration_region_is_valid {
134143 return Ok ( Some ( device_registration) ) ;
135144 }
145+ } else {
146+ warn ! ( "no expiration time found for the client secret" ) ;
136147 }
137148 }
138149
@@ -291,19 +302,25 @@ impl BuilderIdToken {
291302 match token {
292303 Some ( token) => {
293304 let region = token. region . clone ( ) . map_or ( OIDC_BUILDER_ID_REGION , Region :: new) ;
294-
295305 let client = client ( region. clone ( ) ) ;
296- // if token is expired try to refresh
306+
297307 if token. is_expired ( ) {
308+ trace ! ( "token is expired, refreshing" ) ;
298309 token. refresh_token ( & client, database, & region) . await
299310 } else {
300311 Ok ( Some ( token) )
301312 }
302313 } ,
303- None => Ok ( None ) ,
314+ None => {
315+ debug ! ( "secret stored in the database was empty" ) ;
316+ Ok ( None )
317+ } ,
304318 }
305319 } ,
306- Ok ( None ) => Ok ( None ) ,
320+ Ok ( None ) => {
321+ debug ! ( "no secret found in the database" ) ;
322+ Ok ( None )
323+ } ,
307324 Err ( err) => {
308325 error ! ( %err, "Error getting builder id token from keychain" ) ;
309326 Err ( err) ?
0 commit comments