2017-10-05 13 views
0

私の質問は、すでに次の質問では、約90%に答えている:
How to get the refresh token with Google OAuth2 Javascript library?純粋なクライアントサイドアプリケーションでGoogle OAuth 2.0 APIからaccess_tokenをリフレッシュするにはどうすればよいですか?

私は、クライアント側のJSのWebアプリを持っています。このアプリケーションでは、Google APIを使用したいと考えています。これを行うには、毎時access_tokenを更新する必要がありますが、を何度も繰り返して表示することなく、は表示されません。現在のところ、サーバー側のコードはなく、サーバー側のコードを避けたいので、アプリケーションの移植性が高くなります(Electronなど)。

これは、私が持っている唯一の可能性は、上にリンクされた質問の答えのオプション2だということです。それは言う:

あなたのクライアントは、必要に応じてアクセストークンを要求し続けます。 immediate=trueを設定すると、ユーザーとのやりとりが見えなくなります。

私は両方のドキュメンテーションを通して見てきた:Google API Client LibraryGoogle Identity Platform(バックグラウンドでクライアントライブラリで使われている直接のOAuth 2.0のエンドポイントです)。

immediateというオプションが見つかりません。しかし、このアンサーは、refresh_tokenを使わずに、純粋なクライアント側Webアプリケーション内のaccess_tokenを更新することが可能であるべきだと教えてくれます。しかしどうですか?

また、Webpackベースのプロジェクトと統合するのが難しいため、クライアントライブラリを使用しないようにしたいと思っています。だから、OAuthエンドポイントのようなHTTP要求を元に戻すことにまず関心があります。

編集:固定間違ったリンク

答えて

0

あなたがにリンクされている答えはクライアントライブラリの以前のバージョンに言及していました。現在のバージョンはhttps://developers.google.com/identity/protocols/OAuth2UserAgentに記載されており、NBはテストされていないと考えています(immediate=true相当)prompt=none

+0

これは私が探している可能性があります。私の目には、 '.grantOfflineAccess()'メソッドがありました。今、私は違いが何であるかを知る必要があります。そして、私が必要なものを正確に知ったら、HTTPの観点からは何をしているのでしょうか?今までありがとう。 –

+0

grantOfflineAccessは、サーバーの認証フローとともに使用するためのものです。あなたが純粋なJS /ブラウザソリューションを探しているなら、grantOfflineAccessはそうではありません。私は、https://github.com/google/google-api-javascript-client/issues/232に「GSI v2がトークンをキャッシュしてリフレッシュするので、ライブラリがそうであるかもしれない」というコメントを見ましたあなたのための仕事。 – pinoyyid

+0

私は今、自分自身で問題を開いています:https://github.com/google/google-api-javascript-client/issues/343私は基本的に同じことを話しました。それはちょうど:トークンの自動リフレッシュが動作していないようです。詳細は、この問題に記載されています。 –

関連する問題