일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Check
- Xcode
- GCD
- 스마트폰
- loop
- push
- UIView
- 신도림
- Example
- 포켓볼
- error
- 해몽
- 얻는법
- UITableView
- 공략
- 포켓몬 GO
- setting
- 아이폰7
- IOS
- swift
- swift3
- 보라카이
- LG유플러스
- afterdelay
- 샘플
- 신도림 테크노마트
- Bitcode
- 앱스토어
- simulator
- 페이백
- Today
- Total
도래울
APNS 토큰 방식 본문
애플 플랫폼에서 개발하다 보면 유독 인증서를 많이 이용하는것을 볼수 있습니다. 보안 때문이라고는 하지만 구글 같은곳에서도 인증에 키를 사용하는데 애플은 인증서를 사용하는 경우가 대부분이죠. 이로 인해 대부분의 애플 개발 시작하기는 인증서 파일 만들기, 인증서 파일 등록하기, 여러대의 컴퓨터에서 인증서 사용하기 등 의 문서가 많습니다.
그런데 애플이 애플 푸쉬서비스(Apple Push Notification Service)에 토큰 기반 인증을 지원한다고 하네요!!
애플 뉴스 : Token Authentication Now Available for Push Notifications
그동안 애플 푸쉬서비스를 사용하려면 인증서를 애플 개발자 사이트에서 다운로드 받아서 openssl로 한번 파일 변환하고 이를 푸쉬 전송하는 서버에서 푸쉬 보낼때 전송했어야 했는데요.
이제는 인증서 대신 토큰으로만 전송할 수 있게 되었습니다. 또한 인증서는 1년의 유효기간을 가지고 있어서 1년에 한번씩 갱신하는것을 까먹을경우 푸쉬가 전송되지 않는 문제도 있었는데 토큰은 유효기간이 없습니다 !!
토큰을 생성해보니 p8 확장자를 가진 파일을 다운로드 하게 하는데요. 파일을 열어보면 문자열을 확인할 수 있습니다. FCM(aka GCM)처럼 단순 키 문자열은 아니라 뭔가 낚인것도 같지만… 그전에 인증서 발급할때 openssl 로 했던거 생각하면 이게 어딘가요 ㅜㅜ
푸쉬 서버를 직접 운영하고 있다면 이 새로운 기능을 위해 별도 구현을 해야되구요. 저처럼 외부 푸시 서비스를 이용하는경우에는 해당서비스에서 지원하기를 기다리면 되겠습니다 ~ (카카오 푸쉬 사용하고 있는데 해주시면 감사히 잘쓰겠습니다 ㅎㅎ)
참고로 APNs 서버 API 문서(APNs Provider API)를 보면 인증에 HTTP/2 + JWT(JSON Web Token)를 사용한다고 되있습니다. 이게 JSON으로 인증하는 표준기술이라던데 저도 어떻게 동작하는지는 모르겠는데 애플도 사용한다고 하니 괜찮은가보다라는 생각이 드네요.
'개발 > iOS' 카테고리의 다른 글
swift 문자열 자르기 (0) | 2016.12.07 |
---|---|
Get parts of a NSURL in objective-c (0) | 2016.12.02 |
Xcode 8 주석 단축키 동작 안될때 (0) | 2016.11.24 |
cryptoSwift encrypt decrypt aes/ecb/pkcs7 (0) | 2016.11.16 |
ios bitcode error (0) | 2016.11.16 |