@@ -53,7 +53,6 @@ impl Encoder<'_> {
53
53
}
54
54
55
55
pub fn encode_jwt_token ( app : & mut App ) {
56
- app. data . error = String :: new ( ) ;
57
56
let header = app. data . encoder . header . input . lines ( ) . join ( "\n " ) ;
58
57
if header. is_empty ( ) {
59
58
app. handle_error ( String :: from ( "Header should not be empty" ) . into ( ) ) ;
@@ -79,20 +78,35 @@ pub fn encode_jwt_token(app: &mut App) {
79
78
let token = jsonwebtoken:: encode ( & header, & payload, & encoding_key) ;
80
79
match token {
81
80
Ok ( token) => {
82
- app. data . encoder . encoded = ScrollableTxt :: new ( token) ;
83
- app. data . encoder . signature_verified = true ;
81
+ if token != app. data . encoder . encoded . get_txt ( ) {
82
+ app. data . encoder . encoded = ScrollableTxt :: new ( token) ;
83
+ app. data . encoder . signature_verified = true ;
84
+ }
85
+ }
86
+ Err ( e) => {
87
+ app. handle_error ( e. into ( ) ) ;
88
+ return ;
84
89
}
85
- Err ( e) => app. handle_error ( e. into ( ) ) ,
86
90
}
87
91
}
88
- Err ( e) => app. handle_error ( e) ,
92
+ Err ( e) => {
93
+ app. handle_error ( e) ;
94
+ return ;
95
+ }
89
96
}
90
97
}
91
- Err ( e) => app. handle_error ( format ! ( "Error parsing payload: {:}" , e) . into ( ) ) ,
98
+ Err ( e) => {
99
+ app. handle_error ( format ! ( "Error parsing payload: {:}" , e) . into ( ) ) ;
100
+ return ;
101
+ }
92
102
}
93
103
}
94
- Err ( e) => app. handle_error ( format ! ( "Error parsing header: {:}" , e) . into ( ) ) ,
104
+ Err ( e) => {
105
+ app. handle_error ( format ! ( "Error parsing header: {:}" , e) . into ( ) ) ;
106
+ return ;
107
+ }
95
108
}
109
+ app. data . error = String :: new ( ) ;
96
110
}
97
111
98
112
pub fn encoding_key_from_secret ( alg : & Algorithm , secret_string : & str ) -> JWTResult < EncodingKey > {
0 commit comments