학과별 커뮤니티 개발 - 6

정성윤·2023년 12월 6일
0

Swift 프로젝트

목록 보기
6/9

2023.10.27 ~ 2023.11.02

프론트엔드, 백엔드 간 데이터 통신 구축

이번 주차에는 사용자 인증 및 회원가입 기능에 대한 개발을 진행했습니다.

사용자가 발급받은 토큰이 유효한지 검사하기 위해서 발급받은 리프레시, 액세스 토큰에 대해 서버와의 통신을 통해 유효성 검사를 진행했습니다. 이 과정에서 토큰에 대한 개념 을 새롭게 알 수 있는 시간이었습니다.

액세스 토큰과 리프레시 토큰은 사용자 인증 및 권한 부여 과정에서 중요한 역할을 합니 다. 두 토큰 모두 모바일 애플리케이션에서 API 서버 및 외부 서비스와 통신할 때 사용 됩니다.

  1. 액세스 토큰
    액세스 토큰은 사용자나 앱이 특정 리소스에 접근할 수 있는 권한을 부여하는 역할을 합 니다. 사용자가 로그인하고, 서버에서 인증 및 권한 부여 프로세스를 통과하면 액세스 토 큰이 발급됩니다.
    이 토큰을 사용하여 API 요청을 할 때 서버는 해당 토큰을 확인하고, 사용자가 요청한 리소스에 액세스 권한이 있는지 확인합니다.
    하지만 유효기간이 짧고 주로 세션 동안 유지됩니다. 갱신주기가 짧은 이유는 보안을 강 화하기 위해서입니다.
  1. 리프레시 토큰
    리프레시 토큰은 장기적인 인증을 제공하는 데 사용됩니다. 액세스 토큰의 유효 기간이 만료되면, 리프레시 토큰을 사용하여 새로운 액세스 토큰을 발급 받을 수 있습니다.

그래서 저희가 짠 로직은.
1. 사용자가 세종대학교 포털을 로그인하면
2. 서버에서 액세스 / 리프레시 토큰을 발급해줌.
3. 사용자가 게시글 작성, 투표 등 어떤 기능을 사용할때마다 토큰 유효성 검사를
진행.
4. 토큰이 유효할 경우 즉, 리프레시 토큰이 유효할 경우는 새로운 토큰을 발급하여
보내줌. (액세스 토큰이 만료되어도 상관 X)
5. 리프레시 토큰이 만료되었을경우, 로그아웃을 진행. 재로그인을 실시
이 과정으로 로직을 구성했습니다.

앞서 통신한 로직과 마찬가지로, URLSession 프로토콜을 사용하여 통신을 하였습니다.

구현 코드 GitHub : https://github.com/Creative-Semester/ios
"AuthenticationManager" 참고

출처 : https://tansfil.tistory.com/59 https://www.uxcrush.com/figma-mobile-templates/page/4/ https://www.youtube.com/@dev_jeongdaeri
야곰(Swift5) 교재

내주 계획 : 게시판들의 page 별로 게시판의 뷰를 가져오는 페이징 통신을 진행할 계획입니다.

profile
이유있는 스위프트 개발자

0개의 댓글