@@ -18,6 +18,7 @@ use crate::{
18
18
mail:: { send_password_reset_email, send_password_reset_success_email} ,
19
19
user:: check_password_strength,
20
20
} ,
21
+ headers:: get_device_info,
21
22
mail:: Mail ,
22
23
server_config,
23
24
} ;
@@ -99,13 +100,14 @@ impl PasswordResetServer {
99
100
debug ! ( "Starting password reset request" ) ;
100
101
101
102
let ip_address;
102
- let user_agent ;
103
+ let device_info ;
103
104
if let Some ( ref info) = req_device_info {
104
105
ip_address = info. ip_address . clone ( ) ;
105
- user_agent = info. user_agent . clone ( ) . unwrap_or_default ( ) ;
106
+ let agent = info. user_agent . clone ( ) . unwrap_or_default ( ) ;
107
+ device_info = get_device_info ( & agent) ;
106
108
} else {
107
109
ip_address = String :: new ( ) ;
108
- user_agent = String :: new ( ) ;
110
+ device_info = String :: new ( ) ;
109
111
}
110
112
111
113
let email = request. email ;
@@ -152,14 +154,13 @@ impl PasswordResetServer {
152
154
error ! ( "Failed to commit transaction" ) ;
153
155
Status :: internal ( "unexpected error" )
154
156
} ) ?;
155
-
156
157
send_password_reset_email (
157
158
& user,
158
159
& self . mail_tx ,
159
160
config. enrollment_url . clone ( ) ,
160
161
& enrollment. id ,
161
162
Some ( & ip_address) ,
162
- Some ( & user_agent ) ,
163
+ Some ( & device_info ) ,
163
164
) ?;
164
165
165
166
info ! (
@@ -255,13 +256,14 @@ impl PasswordResetServer {
255
256
let enrollment = self . validate_session ( request. token . as_ref ( ) ) . await ?;
256
257
257
258
let ip_address;
258
- let user_agent ;
259
+ let device_info ;
259
260
if let Some ( ref info) = req_device_info {
260
261
ip_address = info. ip_address . clone ( ) ;
261
- user_agent = info. user_agent . clone ( ) . unwrap_or_default ( ) ;
262
+ let agent = info. user_agent . clone ( ) . unwrap_or_default ( ) ;
263
+ device_info = get_device_info ( & agent) ;
262
264
} else {
263
265
ip_address = String :: new ( ) ;
264
- user_agent = String :: new ( ) ;
266
+ device_info = String :: new ( ) ;
265
267
}
266
268
267
269
if let Err ( err) = check_password_strength ( & request. password ) {
@@ -302,7 +304,7 @@ impl PasswordResetServer {
302
304
& user,
303
305
& self . mail_tx ,
304
306
Some ( & ip_address) ,
305
- Some ( & user_agent ) ,
307
+ Some ( & device_info ) ,
306
308
) ?;
307
309
308
310
// Prepare event context and push the event
0 commit comments