티스토리 뷰
728x90
반응형
서버에서 json 형식의 데이터를 받아오려면 HTTP 통신을 해야한다
HTTP 통신 라이브러리의 최강자인 Alamofire를 이용하면 매우 simple 한 request코드를 작성할 수 있다
+
서버가 보안상의 이유로 인증된 사용자 에게만 데이터를 준다고 한다면, 인증된 사용자가 보낸 request 인지를 어떻게 알 수 있을까?
HTTP 헤더에 Authorization 이란 key 값으로 서버가 " 인증된 사용자구나 OK! " 할 수 있는 value 값을 보내면 된다
이 access_key 는 앱에서 여러 API를 호출할때 마다 헤더에 실어보내야하므로 안전한 곳에 저장하여 어디서나 접근 가능하게 할 수 있어야한다
이를 위한 라이브러리로는 Keychain-swift 를 추천한다 ( 사용법도 매우 간단하고 안전성도 좋은 것 같고 여러 디바이스 간의 싱크도 제공한다 굿굿 )
KeychainSwift에 access_key를 저장 (key - value 값으로)
KeychainSwift().set(access_key, forKey: "access_key") | cs |
key값으로 해당 value값을 가져온다
KeychainSwift().get("access_key")! //String? 값을 리턴해주므로 !를 붙여서 옵셔널을 해제하고 String값만 | cs |
이제 request 해보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | let url = "http://www......." let headers: HTTPHeaders = ["Authorization" : KeychainSwift().get("access_key")!] let request = Alamofire.request(url,headers:headers) .responseJSON{ (responseObject) in if responseObject.result.isSuccess { } if responseObject.result.isFailure { } } debugPrint(request) | cs |
request를 찍어보면
-H "Authorization: access_key값"
를 확인할 수 있다
반응형
'🍏 > iOS' 카테고리의 다른 글
[StatusBar] StatusBar 색깔을 White로 바꾸자 (0) | 2018.12.29 |
---|---|
UICollectionViewCell 간의 간격에 대하여 (0) | 2018.11.03 |
JS에서 SWIFT를 불러보자 ( 웹뷰에서 네이티브로 화면이동가능한 하이브리드 앱 구현 위해 ) (2) | 2018.09.20 |
vision framework (0) | 2018.06.22 |
[FireBase - iOS] Firebase Auth를 사용하여 간단한 회원가입을 구현하자 (0) | 2017.09.18 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- ipad multitasking
- flutter dynamic link
- Django Heroku Scheduler
- flutter deep link
- 장고 Custom Management Command
- Flutter Spacer
- Flutter 로딩
- 플러터 싱글톤
- Watch App for iOS App vs Watch App
- Flutter Clipboard
- Django Firebase Cloud Messaging
- SerializerMethodField
- Sketch 누끼
- 장고 URL querystring
- ribs
- 플러터 얼럿
- github actions
- 구글 Geocoding API
- flutter build mode
- Flutter getter setter
- METAL
- Python Type Hint
- Flutter Text Gradient
- Django FCM
- PencilKit
- cocoapod
- flutter 앱 출시
- Dart Factory
- DRF APIException
- drf custom error
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함