2012-03-20 31 views
3

私はGoogleカレンダーの表示を目立たせるアプリを持っています。このアプリは100%のクライアント側のjavascriptですが、そのようにしたいと思いますが、GoogleのOAuthトークンの有効期限を過ぎると、ユーザーはアプリを開いたままにしてGoogle APIをポーリングし続けます。Google OAuthトークンの有効期限

私は、トークンをリフレッシュする方法や新しいトークンを要求する方法について、人々から完全に透過的な情報を求めています。 3600秒後の瞬間に、アプリはユーザーのGoogleアカウントへのアクセスを再要求しなければならず、フルリダイレクトによってアプリケーションが中断されます。

私はいくつかの方法を試しましたが、最初はlocalStorageでうまく動作するサーバー側の認証を使用しようとしましたが、リクエストトークンを取得した後にアクセストークンをPOSTしようとすると失敗します。誰もがGoogleとauthedユーザにauthおよび維持する方法上の任意のアイデアを持っている場合。:(

をどちらも仕事を投稿:)

+1

リフレッシュトークンを使用してください。これらは長続きし、新しいアクセストークンを取得するために使用できます。クライアントサイドのウェブアプリケーションではサポートされていない場合がありますが、このページでは、リフレッシュトークンについて詳しく説明しています。https://developers.google.com/accounts/docs/OAuth2 – abraham

答えて

0

を共有してくださいあります残念ながら私はこれを行うの見つけた唯一の方法は、Webサーバを使用していますclient_secretを安全に保つ他の方法はありません。これはあなたにオプションであれば、私は次のGoogleドキュメントに記載された方法を実装し成功を収めてきました:

https://developers.google.com/accounts/docs/OAuth2WebServer

基本的に私が最初に成功した場合に、クライアント上でオフラインアクセスを要求し、結果の認証コードを交換私のウェブサーバーを使って更新トークンを取得する。リフレッシュトークンは、超長期有効期限を持つクッキーに保存することもできます。アクセストークンが期限切れになるたびに、リフレッシュトークンを使用して別のアクセストークンを要求します。

関連する問題