DelegatingPasswordEncoder handles null encodedPassword
Fixes: gh-4872
This commit is contained in:
		
							parent
							
								
									e377dcf81b
								
							
						
					
					
						commit
						f558b5016c
					
				| 
						 | 
				
			
			@ -200,6 +200,9 @@ public class DelegatingPasswordEncoder implements PasswordEncoder {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	private String extractId(String prefixEncodedPassword) {
 | 
			
		||||
		if (prefixEncodedPassword == null) {
 | 
			
		||||
			return null;
 | 
			
		||||
		}
 | 
			
		||||
		int start = prefixEncodedPassword.indexOf(PREFIX);
 | 
			
		||||
		if(start != 0) {
 | 
			
		||||
			return null;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,4 +177,9 @@ public class DelegatingPasswordEncoderTests {
 | 
			
		|||
		verify(this.invalidId).matches(this.rawPassword, this.encodedPassword);
 | 
			
		||||
		verifyZeroInteractions(this.bcrypt, this.noop);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test(expected = IllegalStateException.class)
 | 
			
		||||
	public void matchesWhenRawPasswordNotNullAndEncodedPasswordNullThenThrowsIllegalStateException() {
 | 
			
		||||
		this.passwordEncoder.matches(this.rawPassword, null);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue