2012-09-07 2 views
1

현재 내 논리는 말한다 : -는 자바 스크립트 클라이언트에서 401 다루는 가장 좋은 방법 무엇입니까

  1. 는 gapi.client.HttpRequest 객체 myRequestObject = gapi.client.request (인수)
  2. 을 만들 실행 그 요청은 myRequestObject.execute (myCallback)와 함께
  3. 내가 401을 잡으면 액세스 토큰을 새로 고칩니다. 새로 고침 토큰을 보유한 JS 클라이언트 아이디어가 마음에 들지 않아 내 자신의 서버 서블릿을 호출하여이 작업을 수행합니다.
  4. 그래서 내 JS 클라이언트에는 새로운 유효한 access_token이 있지만 myRequestObject는 여전히 부실 access_token을 보유합니다.

_ 저는 비즈니스 로직까지 버블 링하지 않고 새로운 HttRequest 객체를 만들고 싶습니다. 대신

동일한 토큰을 새 토큰으로 다시 제출하기 만하면됩니다.

는 제가

myRequestObject.b.headers [ '인가'= '베어러'+ newAccessToken 직접 헤더를 찌를 수 있음을 발견 하였다;

하지만 더 공식적인 방법이 있습니까?

답변

0

전체 흐름의 자바 스크립트 구현을위한 드라이브 SDK 설명서의 업데이트의 OAuth 2.0 페이지를 확인 : https://developers.google.com/drive/credentials

자바 스크립트 클라이언트 라이브러리는 액세스 토큰을 제공하여 OAuth 2.0 클라이언트 측 흐름을 사용하는 기억, 새로 고침 토큰을 보유한 클라이언트에 대해 걱정할 필요가 없습니다.

+0

아, 더 이해가됩니다. 내가 처음에 그 페이지를 보았을 때 자바 스크립트 예제를 놓쳤을 것입니다 :-( – pinoyyid

+0

JavaScript 부분을 최근에 추가했습니다. 아마 –

+0

전에 Claudio가 제안한대로 JS 클라이언트 측 인증을 구현했습니다. 하지만 새로운 토큰을 사용하는 방법에 대한 문제는 여전히 남아 있습니다. 원래의 질문에서 언급했듯이 비즈니스 로직으로 돌아가서 API 호출을 다시 시도하고 싶지는 않습니다. 따라서 저수준 호출 기능이 요청 객체에 토큰에 액세스하십시오. 이 접근 방식에는 단점이 있습니까? – pinoyyid

관련 문제