configurer
238
2021-10-25 18:26:35
0
97

react axios로 id,pw전달 시 provider에서 받지 못하는 현상


안녕하세요 선배님들

기존에 사용하던 spring security 인증 부분에서 데이터를 불러오지 못하는 현상이 있어서 글을 남기게 됐습니다.


아래 코드에서 username, password가 공백으로 나오는 현상입니다.

HttpBasic으로, 기본 LoginForm으로 테스트 해봤을 때엔 모두 정상적으로 받을 수 있었습니다.

@Component
public class AuthenticationFilter implements AuthenticationProvider {
	
	@Override
	public Authentication authenticate(Authentication authentication) throws AuthenticationException {
		
		UserDto dto = new UserDto();
		String username = authentication.getPrincipal().toString();
		String password = authentication.getCredentials().toString();
		
	}
	
	@Override
	public boolean supports(Class<?> authentication) {
		return authentication.equals(UsernamePasswordAuthenticationToken.class);
	}
	
}


axios 부분입니다.

기존에는 params 없이 data( formdata_username, password ), headers에 원하는 옵션넣고 /loginproc에 넘겼을 때엔 정상적으로 동작하던 코드입니다.

근데 새로운 프로젝트 생성 후 돌려보니까 받아오지 못하고, data지운 후 params로 넘기니까

/loginproc?username=id&password=pw 이런식으로 넘기게 되고, 이걸 Provider에서 제대로 데이터를 받더라고요;;

그냥 저대로 진행해도 될 것 같은데 되던게 안되니까 왜안되는지 궁금해서요..

혹시 비슷한 현상 겪으신 선배님들 계실까요?? 버전업 때문에 ncu -u 후에 모듈 install 하긴 했습니다...

axios("/loginproc", {
			method: "POST",
			data: lgn,
			/*params: {
				username: id,
				password: pw,
			},*/
			headers: {
				"Content-Type": "multipart/form-data"
			},
		}).then((response) => {

			const authCode = response.data._auth_._authCode;
			const authResult = response.data._auth_._authMessage || response.data._auth_._redirectUrl;
			handleResult(authCode, authResult);

		}).catch((err) => {
			console.log(err)
		});


0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.