imad-project / imad-ios

1 stars 0 forks source link

애플로그인 로직 수정 #103

Closed QuaRang1225 closed 7 months ago

QuaRang1225 commented 7 months ago

102 - 애플로그인 로직 수정

수정 이유

  • 애플로그인은 웹뷰화면을 사용하지 않는데 웹뷰를 사용하지 않지만, 받는 데이터형식이 HTML이였기 때문에 필연적으로 웹뷰가 필요했음
  • 이 과정이 불필요하다고 느끼고 다른 로직이 있을 것이라 생각하여 찾아본 결과 iOS에서 자체적으로 제공하는 애플로그인 SDK를 사용하는 방향 채택
  • 서버 개발자와의 회의 끝에 애플SDK 로그인 방식으로 로직을 변경하기로 결정함

기존 로직

  1. WebView를 통해 서버에 특정 auth provider로 로그인화면 요청
  2. WebView가 나타나고 해당 요청에 redirect URI로 인한 애플 로그인 Modal이 생성됨
  3. 로그인 완료 후 WebView에서 받은 토큰을 저장하여 로그인 성공

변경된 로직

  1. 애플로그인 버튼 클릭 후 받아온 정보들을 Api Server로 전송
  2. 서버는 받은 정보를 토대로 토큰을 제작해 클라이언트에게 전송
  3. 클라이언트에서 토큰을 받아 저장

결과

애플 자체 로그인 시 받은 authorization code,user identity, state, id token 등의 정보로 다시 요청을 걸기만 하면 되는 구조임으로 비교적 클라이언트의 수고가 덜어질 것이라 생각하고 실행한 로직이였고, 예상처럼 쉽게 해결할 수 있었음

다만 서버입장에서 구현해야할 내용이 많아 각자 개발 밸런스를 맞추지는 못했지만, 애플이 권장하는 로그인 방법에 더욱 부합하게 구현 했다고 생각함