애플로그인은 웹뷰화면을 사용하지 않는데 웹뷰를 사용하지 않지만, 받는 데이터형식이 HTML이였기 때문에 필연적으로 웹뷰가 필요했음
이 과정이 불필요하다고 느끼고 다른 로직이 있을 것이라 생각하여 찾아본 결과 iOS에서 자체적으로 제공하는 애플로그인 SDK를 사용하는 방향 채택
서버 개발자와의 회의 끝에 애플SDK 로그인 방식으로 로직을 변경하기로 결정함
기존 로직
WebView를 통해 서버에 특정 auth provider로 로그인화면 요청
WebView가 나타나고 해당 요청에 redirect URI로 인한 애플 로그인 Modal이 생성됨
로그인 완료 후 WebView에서 받은 토큰을 저장하여 로그인 성공
변경된 로직
애플로그인 버튼 클릭 후 받아온 정보들을 Api Server로 전송
서버는 받은 정보를 토대로 토큰을 제작해 클라이언트에게 전송
클라이언트에서 토큰을 받아 저장
결과
애플 자체 로그인 시 받은 authorization code,user identity, state, id token 등의 정보로 다시 요청을 걸기만 하면 되는 구조임으로 비교적 클라이언트의 수고가 덜어질 것이라 생각하고 실행한 로직이였고, 예상처럼 쉽게 해결할 수 있었음
다만 서버입장에서 구현해야할 내용이 많아 각자 개발 밸런스를 맞추지는 못했지만, 애플이 권장하는 로그인 방법에 더욱 부합하게 구현 했다고 생각함
102 - 애플로그인 로직 수정
애플 자체 로그인 시 받은
authorization code
,user identity
,state
,id token
등의 정보로 다시 요청을 걸기만 하면 되는 구조임으로 비교적 클라이언트의 수고가 덜어질 것이라 생각하고 실행한 로직이였고, 예상처럼 쉽게 해결할 수 있었음다만 서버입장에서 구현해야할 내용이 많아 각자 개발 밸런스를 맞추지는 못했지만, 애플이 권장하는 로그인 방법에 더욱 부합하게 구현 했다고 생각함