@@ -209,7 +209,8 @@ async fn main() -> Result<(), StartupError> {
209209 axum:: serve ( listener, app. into_make_service ( ) )
210210 . with_graceful_shutdown ( shutdown_requested)
211211 . await
212- . context ( RunServerSnafu )
212+ . context ( RunServerSnafu ) ?;
213+ Ok ( ( ) )
213214}
214215
215216#[ derive( Debug , Deserialize , PartialEq , Eq , Hash , Clone ) ]
@@ -315,64 +316,64 @@ async fn get_user_info(
315316 backend,
316317 user_info_cache,
317318 } = state;
318- Ok ( Json (
319- user_info_cache
320- . try_get_with_by_ref ( & req, async {
321- match backend. as_ref ( ) {
322- ResolvedBackend :: None => {
323- let user_id = match & req {
324- UserInfoRequest :: UserInfoRequestById ( UserInfoRequestById { id } ) => {
325- Some ( id)
326- }
327- _ => None ,
328- } ;
329- let username = match & req {
330- UserInfoRequest :: UserInfoRequestByName ( UserInfoRequestByName {
331- username,
332- } ) => Some ( username) ,
333- _ => None ,
334- } ;
335- Ok ( UserInfo {
336- id : user_id. cloned ( ) ,
337- username : username. cloned ( ) ,
338- groups : vec ! [ ] ,
339- custom_attributes : HashMap :: new ( ) ,
340- } )
341- }
342- ResolvedBackend :: Keycloak ( keycloak) => keycloak
343- . get_user_info ( & req)
344- . await
345- . context ( get_user_info_error:: KeycloakSnafu ) ,
346- ResolvedBackend :: ExperimentalXfscAas ( aas) => aas
347- . get_user_info ( & req)
348- . await
349- . context ( get_user_info_error:: ExperimentalXfscAasSnafu ) ,
350- ResolvedBackend :: ActiveDirectory {
351- ldap_server,
352- tls,
353- base_distinguished_name,
354- custom_attribute_mappings,
355- additional_group_attribute_filters,
356- } => backend:: active_directory:: get_user_info (
357- & req,
358- ldap_server,
359- tls,
360- base_distinguished_name,
361- custom_attribute_mappings,
362- additional_group_attribute_filters,
363- )
364- . await
365- . context ( get_user_info_error:: ActiveDirectorySnafu ) ,
366- ResolvedBackend :: Entra ( entra) => entra
367- . get_user_info ( & req)
368- . await
369- . context ( get_user_info_error:: EntraSnafu ) ,
370- ResolvedBackend :: OpenLdap ( openldap) => openldap
371- . get_user_info ( & req)
372- . await
373- . context ( get_user_info_error:: OpenLdapSnafu ) ,
319+ let user_info = user_info_cache
320+ . try_get_with_by_ref ( & req, async {
321+ match backend. as_ref ( ) {
322+ ResolvedBackend :: None => {
323+ let user_id = match & req {
324+ UserInfoRequest :: UserInfoRequestById ( UserInfoRequestById { id } ) => {
325+ Some ( id)
326+ }
327+ _ => None ,
328+ } ;
329+ let username = match & req {
330+ UserInfoRequest :: UserInfoRequestByName ( UserInfoRequestByName {
331+ username,
332+ } ) => Some ( username) ,
333+ _ => None ,
334+ } ;
335+ Ok ( UserInfo {
336+ id : user_id. cloned ( ) ,
337+ username : username. cloned ( ) ,
338+ groups : vec ! [ ] ,
339+ custom_attributes : HashMap :: new ( ) ,
340+ } )
374341 }
375- } )
376- . await ?,
377- ) )
342+ ResolvedBackend :: Keycloak ( keycloak) => keycloak
343+ . get_user_info ( & req)
344+ . await
345+ . context ( get_user_info_error:: KeycloakSnafu ) ,
346+ ResolvedBackend :: ExperimentalXfscAas ( aas) => aas
347+ . get_user_info ( & req)
348+ . await
349+ . context ( get_user_info_error:: ExperimentalXfscAasSnafu ) ,
350+ ResolvedBackend :: ActiveDirectory {
351+ ldap_server,
352+ tls,
353+ base_distinguished_name,
354+ custom_attribute_mappings,
355+ additional_group_attribute_filters,
356+ } => backend:: active_directory:: get_user_info (
357+ & req,
358+ ldap_server,
359+ tls,
360+ base_distinguished_name,
361+ custom_attribute_mappings,
362+ additional_group_attribute_filters,
363+ )
364+ . await
365+ . context ( get_user_info_error:: ActiveDirectorySnafu ) ,
366+ ResolvedBackend :: Entra ( entra) => entra
367+ . get_user_info ( & req)
368+ . await
369+ . context ( get_user_info_error:: EntraSnafu ) ,
370+ ResolvedBackend :: OpenLdap ( openldap) => openldap
371+ . get_user_info ( & req)
372+ . await
373+ . context ( get_user_info_error:: OpenLdapSnafu ) ,
374+ }
375+ } )
376+ . await ?;
377+
378+ Ok ( Json ( user_info) )
378379}
0 commit comments