2013-09-25 76 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

访问令牌和刷新令牌是不同的。用户可以在客户端上生成访问令牌。他无法生成刷新令牌。除了客户端之外,在服务器上进行身份验证并不是特别困难。我的应用程序在服务器上执行初始授权和刷新令牌处理。一旦用户被认证,服务器就会提供javascript应用程序。 JavaScript应用程序然后独立于服务器进行自己的访问令牌处理。 – pinoyyid

+0

这是正确的。这就是我最终做的。 – cwarny