2017-01-12 5 views
4

아래와 같이 게시 요청이 있습니다. 액세스 토큰이 만료되면 새로 고침 토큰이 만료되고 서비스 호출이 계속되면 Retrofit 2.0 인터셉터와 같이 자동으로 처리됩니다. 중단없이?액세스 토큰이 만료되면 자동으로 새로 고침 토큰을 이동하고 안드로이드에서 HttpURLConnection을 사용하여 401을 얻는 방법?

URL url = new URL(myurl + "?access_token=" + access_token); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setReadTimeout(100000000 /* milliseconds */); 
conn.setConnectTimeout(150000000 /* milliseconds */); 
conn.setRequestMethod("POST"); 
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); 
conn.setRequestProperty("charset", "utf-8"); 
conn.setDoInput(true); 
conn.connect(); 

401 응답 코드를 얻으면 자동으로이 작업을 수행 할 수있는 방법이 있습니까?

+0

네, 수동으로 직접 구현할 수 있습니다. serviceCall을 요청하면 액세스 토큰이 만료되고 동시에 액세스 토큰을 요청할 수 있고 마지막에 수행 한 작업에 대한 요청을 이전에 수행 할 수 있습니다. –

답변

0

필자가 아는 한, 모든 프레임 워크에서이 방법을 제공하지 않습니다. 아래 명시된대로 SERIAL 호출을 게시해야합니다 :

  1. 기본 토큰 (Access Token)을 첨부하십시오. 성공적으로 완료했습니다. 2 단계로 이동하십시오.
  2. 새로 고침 토큰을 사용하여 새 액세스 토큰을 호출하십시오. 성공한 경우 액세스 토큰을 업데이트하고 1 단계와 같이 업데이트 된 액세스 토큰을 사용하여 다시 게시하십시오.
  3. 새로 고침 토큰이 만료 될 수있는 것과 같은 방식으로 동일한 SERIAL 방식으로 처리하는 것과 같습니다.

희망이 조금 있습니다.

+0

감사합니다 @neeraj – Supz

+0

서비스 또는 브로드 캐스트 리시버로이 문제를 해결할 수 있습니까? 그렇다면 어떻게? – Supz

+0

너희는 BroadcastReceiver 나 Interface로 우리 자신의 이벤트를 만들 수있다. 그러나 우리는 그것을 위해 코드를 작성해야합니다. 이미 작성된 메소드가 없습니다. – Tarun