通过OAuth.io javascript SDK验证后启用令牌缓存

Jef*_*aal 1 javascript oauth-2.0 angularjs

我正在创建一个网站(在AngularJS中),该网站通过OAuth.io的javascript SDK 使用Google AnalyticsAPI .

一切都很简单,但是他们的文档确实缺乏; 它很短,只有很少的代码示例.

目前,每次刷新页面时,我都需要再次验证(通过弹出窗口),并且看到有一种方法可以使用他们的SDK启用缓存(注意:我知道可以使用cookie或浏览器存储来完成,但我想使用他们的SDK来做到这一点.)

它在这里解释:https://oauth.io/docs/api-reference/client/javascript#detailed-description-oauth-object-available-methods-popup

您可以使用'options,enable cache',但我真的不知道如何以及在何处添加此参数来执行此操作.


我弹出的代码:

$scope.connect.analytics = function() {
    OAuth.popup('google_analytics')
        .done(function(result) {
            console.log(result);
            $scope.connect.status = true;
        })
        .fail(function (err) {
            console.log(err)
        });
};
Run Code Online (Sandbox Code Playgroud)

Thi*_*ult 6

您可以使用{cache: true}第二个参数:

$scope.connect.analytics = function() {
    OAuth.popup('google_analytics', {cache: true})
        .done(function(result) {
            console.log(result);
            $scope.connect.status = true;
        })
        .fail(function (err) {
            console.log(err)
        });
};
Run Code Online (Sandbox Code Playgroud)

第二次调用弹出窗口时,它不会显示弹出窗口并直接在回调中使用上一个响应.

您可以使用after OAuth.clearCache('google_analytics');清除特定提供程序的缓存.