2013-09-25 3 views
4

Google OAuth2 Javascript 라이브러리를 사용하여 사용자의 액세스 토큰을 요청하고 있습니다. 토큰을 서버의 데이터베이스에 저장하려고합니다.Google OAuth2 Javascript 라이브러리를 사용하여 새로 고침 토큰을받는 방법은 무엇입니까?

토큰 만료 후 해당 사용자의 데이터에 액세스 할 수 있으려면 새로 고침 토큰을 저장해야합니다. 나는 서버 측 Google OAuth2 라이브러리 (access_type = offline 지정)를 사용할 때이를 수행하는 방법을 알고 있지만 클라이언트 측 Javascript 라이브러리로이를 수행 할 수 있어야하며 작동하지 않습니다.

답변

8

아니요 클라이언트에 새로 고침 토큰을 저장하려고합니다! 그것은 그의 사용자 이름과 암호를 저장하는 것과 비슷합니다.

Javascript 클라이언트는 새로 고침 토큰을 노출하므로 type = offline을 지원하지 않습니다.

귀하의 선택 사항은 다음과 같습니다 -

  1. 은 생성하고 해당 서버에있는 새로 고침 토큰을 저장
  2. 이 그들을 필요로 클라이언트가 간단하게 액세스 토큰을 요청 유지하게한다. immediate=true을 설정하면 사용자와의 상호 작용이 눈에 보이지 않습니다.
+0

클라이언트에서 액세스 및 새로 고침 토큰을 생성하여 서버에 저장하기 위해 보낼 방법이 없습니까? 내가 그렇게하려는 이유는 사용자가 서버 측 앱이 아닌 인증 할 때 클라이언트 측 앱 (Ember)과 상호 작용하기 때문에 서버에서 토큰을 생성 할 수 없기 때문입니다. 이게 말이 돼? – cwarny

+1

액세스 토큰 및 새로 고침 토큰이 다릅니다. 사용자는 클라이언트에서 액세스 토큰을 생성 할 수 있습니다. 그는 새로 고침 토큰을 생성 할 수 없습니다. 클라이언트 이외에 서버에서 인증을 수행하는 것이 특히 어렵지는 않습니다. 내 응용 프로그램은 서버에서 초기 승인 및 새로 고침 토큰 처리를 수행합니다. 사용자가 인증되면 서버는 자바 스크립트 애플리케이션을 제공합니다. 자바 스크립트 애플리케이션은 서버와 독립적으로 자체 액세스 토큰 처리를 수행합니다. – pinoyyid

+0

맞습니다. 그것이 결국 내가 한 일입니다. – cwarny

관련 문제