We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
@disabled를 제거하여 코드의 신뢰도를 높인다.
최초 사용자가 새벽에 접속한다
소셜 로그인 버튼을 누르면 네이버 로그인창으로 리다이렉트 된다.
네이버 로그인창에서 아이디와 비밀번호를 입력하여 로그인하면 네이버 측에서 회원의 정보를 보내줌.
http://localhost:9000/login/oauth2/code/naver?code=JqUbLeT4pHkUTPUNcH&state=aPyDcRYBCeQ45Mv9QVuG3KPStu955bkIwdySaAJ9DaE=
위와 같은 형태로 보내줌.
(http://localhost:9000/login/oauth2/code/naver는 네이버아이디로로그인 설정페이지에서 리다이렉트 경로로 설정한 경로임.)
http://localhost:9000/login/oauth2/code/naver
시큐리티에서 위와 같이 보내준 정보를 토대로 oauthId를 뽑아내서 Member로 저장함
인증이 성공했으므로 토큰을 만들어서 /auth로 리다이렉트함
SuccessHandler.java의 onAuthenticationSuccess()에서 수행함.
response.sendRedirect("/auth?token=bearer " + accessToken);
프론트에서 토큰을 받아 localstorage에 저장함(Auth.vue 의 storeAuth()에서 수행)
그 토큰 계속 사용
로그인 버튼을 누르면 새벽 서버로 요청이 가는 게 아니라 네이버로 요청이 간다
--> 그럼 이건 인수테스트에서 못할 것 같네!
그럼 네이버에서 새벽서버로 정보를 넘겨주는 곳(위의 인증흐름에서 3번)부터 시작할까?
그럼
에서
code=JqUbLeT4pHkUTPUNcH&state=aPyDcRYBCeQ45Mv9QVuG3KPStu955bkIwdySaAJ9DaE=
이 부분을 테스트 할때 내가 직접 만들어줘야 할 것 같은데.. 이건 네이버에서 만들어주는 값이라 내가 어떻게 구성을 못할 것 같은데?
그럼 Mockito로 아무값이 오더라도 통과되게 할까?
--> 인수테스트에서 Mock쓰는 건 좀 아닌 것 같아..
네이버로 회원가입/로그인은 좀 힘들것 같으니까 유효한 토큰으로 자동로그인하는거라도 테스트 해보자.
private void login() { //@formatter:off return given(). auth().oauth2(TOKEN). when(). // ?? 어디로 보내지? then(). log().all(). statusCode(HttpStatus.OK.value()); //@formatter:on }
시큐리티를 써서 Member관련 컨트롤러가 없는데 어떡하지..?
머리 싸매다 포기선언
The text was updated successfully, but these errors were encountered:
Merge pull request #182 from woowacourse-teams/refactor/165-acceptanc…
7d0ddcf
…e-test #165 인수테스트 리팩토링하기
hwanghe159
Successfully merging a pull request may close this issue.
목적
@disabled를 제거하여 코드의 신뢰도를 높인다.
체크리스트
주의 사항
관련 이슈
일정
MemberAcceptanceTest를 포기하게 된 사연
인증 과정 먼저 설명해볼게요
최초 사용자가 새벽에 접속한다
소셜 로그인 버튼을 누르면 네이버 로그인창으로 리다이렉트 된다.
네이버 로그인창에서 아이디와 비밀번호를 입력하여 로그인하면 네이버 측에서 회원의 정보를 보내줌.
위와 같은 형태로 보내줌.
(
http://localhost:9000/login/oauth2/code/naver
는 네이버아이디로로그인 설정페이지에서 리다이렉트 경로로 설정한 경로임.)시큐리티에서 위와 같이 보내준 정보를 토대로 oauthId를 뽑아내서 Member로 저장함
인증이 성공했으므로 토큰을 만들어서 /auth로 리다이렉트함
SuccessHandler.java의 onAuthenticationSuccess()에서 수행함.
프론트에서 토큰을 받아 localstorage에 저장함(Auth.vue 의 storeAuth()에서 수행)
그 토큰 계속 사용
어떻게 해결해야 할까? 생각의 흐름
로그인 버튼을 누르면 새벽 서버로 요청이 가는 게 아니라 네이버로 요청이 간다
--> 그럼 이건 인수테스트에서 못할 것 같네!
그럼 네이버에서 새벽서버로 정보를 넘겨주는 곳(위의 인증흐름에서 3번)부터 시작할까?
그럼
에서
이 부분을 테스트 할때 내가 직접 만들어줘야 할 것 같은데.. 이건 네이버에서 만들어주는 값이라 내가 어떻게 구성을 못할 것 같은데?
그럼 Mockito로 아무값이 오더라도 통과되게 할까?
--> 인수테스트에서 Mock쓰는 건 좀 아닌 것 같아..
네이버로 회원가입/로그인은 좀 힘들것 같으니까 유효한 토큰으로 자동로그인하는거라도 테스트 해보자.
시큐리티를 써서 Member관련 컨트롤러가 없는데 어떡하지..?
머리 싸매다 포기선언
결론
The text was updated successfully, but these errors were encountered: