2014-12-23 2 views
0

Gmail OAuth와 통합되어 잘 작동합니다. 남아있는 유일한 문제는 refreshToken을 사용하여 만료 될 때 새 accessToken을 검색하는 것입니다. 나는 CoreData에서이 두 가지를 모두 유지하므로 내 앱 어디서나 쉽게 액세스 할 수 있습니다. 내 문제는 어디서 새로 고침해야할지 모르겠다. 요청이 실패하면 Mailcore에서 NSNotification 또는 이와 유사한 기능을 제공합니까? 이렇게하면 토큰을 새로 고쳐야하고 새로 고칠 수 있고 새 토큰으로 요청을 다시 시도 할 수 있음을 알고 있습니다.Mailcore : 실패한 요청 듣기

업데이트 :

나의 현재 솔루션은 토큰에게 응용 프로그램이 활성화 될 때마다 새로 고침하는 것입니다. 만료되면 (즉 요청이 실패 할 때) 토큰을 새로 고치는 것을 선호합니다.

+0

OAuth2를 사용하면 작업 오류를 확인할 수 있습니다. 인증 오류가 발생하면 토큰이 만료되었음을 의미합니다. –

+0

감사합니다. 아주 큰 프로젝트에서 일하고 있는데 전 세계적으로 더 많은 것을 원했습니다 (예 : 작업 오류가있을 때 NSNotification이 게시되었습니다).하지만 비슷한 일을 할 수 있습니다. –

답변

0

토큰을 업데이트하기에 좋은시기를 추측하는 대신 'expires_in'값을 사용하여 토큰 새로 고침을 위해 충분한 시간이 경과했는지 여부와 관련된 일종의 논리를 실행하십시오. 처음으로 토큰을 잡고 타임 스탬프를 설정하는 것입니다. 그런 다음 IMAP/SMTP와 관련된 다음 호출에서 현재 타임 스탬프가 마지막 업데이트 이후 50 분 이상인지 확인합니다 (토큰은 한 시간 동안 만 유효하므로 잘 작동하는 것 같습니다).

희망이 도움이됩니다. :)