관리 메뉴

스윞한 개발자

IOS 학과별 커뮤니티 개발 - 6 본문

프로젝트

IOS 학과별 커뮤니티 개발 - 6

스윞남 2024. 1. 25. 17:42
728x90
반응형
SMALL

이번에는 전 포스팅과 마찬가지로 프론트엔드/백엔드 간 데이터 통신 구축을 했고,

 

토큰 저장법, 통신법, 키체인 등 원리와 기능들의 이론적인 부분에 대해서 공부 했습니다!

 

 

 

 

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" 참고
출처 :

 

GitHub - Creative-Semester/ios

Contribute to Creative-Semester/ios development by creating an account on GitHub.

github.com

https://tansfil.tistory.com/59

 

쉽게 알아보는 서버 인증 2편(Access Token + Refresh Token)

안녕하세요! 이전 포스팅에는 크게 세션/쿠키 인증, 토큰 기반 인증(대표적으로 JWT)에 대하여 알아보았습니다. 저희가 앱, 웹 혹은 서버 개발을 하면서 꼭 사용하게 되는 인증(Authorization)은 아주

tansfil.tistory.com

https://www.youtube.com/@dev_jeongdaeri

 

개발하는 정대리

한국에서 개발자로 살아남기! 예전에 저처럼 프로그래머가 되고 싶지만 그 길을 몰라 해매는 분들에게 도움 되고자 이 채널을 운영하기 시작했습니다. 프로그램에 관심 있는 분들이나 취업 준

www.youtube.com

야곰(Swift5) 교재

 https://www.uxcrush.com/figma-mobile-templates/page/4/

 

Figma Mobile App Templates - UXCrush

A curated selection of all the best mobile templates created and shared by the Figma community. Great mobile app concepts on UXCrush.com

www.uxcrush.com

내주 계획

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

728x90
반응형
LIST