File tree Expand file tree Collapse file tree 1 file changed +9
-25
lines changed
crates/data-model/src/oauth2 Expand file tree Collapse file tree 1 file changed +9
-25
lines changed Original file line number Diff line number Diff line change @@ -188,31 +188,15 @@ impl AuthorizationGrant {
188188 return LoginHint :: None ;
189189 } ;
190190
191- let Some ( ( prefix, value) ) = login_hint. split_once ( ':' ) else {
192- // Validate the email
193- let Ok ( address) = lettre:: Address :: from_str ( login_hint) else {
194- // Return none if the format is incorrect
195- return LoginHint :: None ;
196- } ;
197- return LoginHint :: Email ( address) ;
198- } ;
199-
200- match prefix {
201- "mxid" => {
202- // Instead of erroring just return none
203- let Ok ( mxid) = <& UserId >:: try_from ( value) else {
204- return LoginHint :: None ;
205- } ;
206-
207- // Only handle MXIDs for current homeserver
208- if mxid. server_name ( ) != homeserver {
209- return LoginHint :: None ;
210- }
211-
212- LoginHint :: MXID ( mxid)
213- }
214- // Unknown hint type, treat as none
215- _ => LoginHint :: None ,
191+ if let Some ( value) = login_hint. strip_prefix ( "mxid:" )
192+ && let Ok ( mxid) = <& UserId >:: try_from ( value)
193+ && mxid. server_name ( ) == homeserver
194+ {
195+ LoginHint :: MXID ( mxid)
196+ } else if let Ok ( email) = lettre:: Address :: from_str ( login_hint) {
197+ LoginHint :: Email ( email)
198+ } else {
199+ LoginHint :: None
216200 }
217201 }
218202
You can’t perform that action at this time.
0 commit comments