@@ -42,7 +42,7 @@ impl<U: User> OidcProvider<U> {
4242 self
4343 }
4444
45- async fn oidc_subprovider_by_id (
45+ async fn oidc_subprovider_by_id_or_slug (
4646 & self ,
4747 subprovider_id : & str ,
4848 ) -> Result < OidcSubprovider , ShieldError > {
@@ -54,7 +54,11 @@ impl<U: User> OidcProvider<U> {
5454 return Ok ( subprovider. clone ( ) ) ;
5555 }
5656
57- if let Some ( subprovider) = self . storage . oidc_subprovider_by_id ( subprovider_id) . await ? {
57+ if let Some ( subprovider) = self
58+ . storage
59+ . oidc_subprovider_by_id_or_slug ( subprovider_id)
60+ . await ?
61+ {
5862 return Ok ( subprovider) ;
5963 }
6064
@@ -183,7 +187,7 @@ impl<U: User> Provider for OidcProvider<U> {
183187 & self ,
184188 subprovider_id : & str ,
185189 ) -> Result < Option < Box < dyn Subprovider > > , ShieldError > {
186- self . oidc_subprovider_by_id ( subprovider_id)
190+ self . oidc_subprovider_by_id_or_slug ( subprovider_id)
187191 . await
188192 . map ( |subprovider| Some ( Box :: new ( subprovider) as Box < dyn Subprovider > ) )
189193 }
@@ -194,7 +198,7 @@ impl<U: User> Provider for OidcProvider<U> {
194198 session : Session ,
195199 ) -> Result < Response , ShieldError > {
196200 let subprovider = match request. subprovider_id {
197- Some ( subprovider_id) => self . oidc_subprovider_by_id ( & subprovider_id) . await ?,
201+ Some ( subprovider_id) => self . oidc_subprovider_by_id_or_slug ( & subprovider_id) . await ?,
198202 None => return Err ( ProviderError :: SubproviderMissing . into ( ) ) ,
199203 } ;
200204
@@ -287,7 +291,7 @@ impl<U: User> Provider for OidcProvider<U> {
287291 . ok_or_else ( || ShieldError :: Validation ( "Missing authorization code." . to_owned ( ) ) ) ?;
288292
289293 let subprovider = match request. subprovider_id {
290- Some ( subprovider_id) => self . oidc_subprovider_by_id ( & subprovider_id) . await ?,
294+ Some ( subprovider_id) => self . oidc_subprovider_by_id_or_slug ( & subprovider_id) . await ?,
291295 None => return Err ( ProviderError :: SubproviderMissing . into ( ) ) ,
292296 } ;
293297
@@ -405,7 +409,7 @@ impl<U: User> Provider for OidcProvider<U> {
405409 session : Session ,
406410 ) -> Result < Response , ShieldError > {
407411 let subprovider = match request. subprovider_id {
408- Some ( subprovider_id) => self . oidc_subprovider_by_id ( & subprovider_id) . await ?,
412+ Some ( subprovider_id) => self . oidc_subprovider_by_id_or_slug ( & subprovider_id) . await ?,
409413 None => return Err ( ProviderError :: SubproviderMissing . into ( ) ) ,
410414 } ;
411415
0 commit comments