OAuth弹出窗口被阻止

时间:2014-07-07 13:45:45

标签: javascript html angularjs oauth popup

我正在使用http://oauth.io连接到AngularJS应用程序中的Facebook,Twitter,....这样我就不必担心重定向等,并在获取访问令牌时加载数据。一切正常,但弹出窗口在我触发弹出窗口时被阻止。

奇怪的是,如果你去OAuth.io的控制面板并尝试连接,它不会触发弹出窗口阻止程序,它会按预期工作。当我自己实现它时,它会触发Chrome中的弹出警告。

这是我的代码:

指令:

<div class="service" ng-click="addAccountToBrand(brand, service); brand.accountGridVisible = false">
  <h1>{{ service | serviceAbbreviation }}</h1>
  <p>{{ service | serviceName }}</p>
</div>

控制器:

OAuth.getData(service).then(function (oauthResult) {
  var partial = OAuthConfig[service].hasMultipleAccounts ? 'oauth-connect-multiple' : 'oauth-connect-single';
  partial = service === 'GoogleAnalytics' ? 'oauth-connect-google-analytics' : partial;

  Popover.show(partial, {
    brand: brand,
    service: service,
    serviceData: oauthResult.serviceData,
    result: oauthResult.result,
    token: oauthResult.token
  });
});

服务

OAuth.popup(serviceSnakeCased, {
  state: "YOUR_SERVER_SIDE_STATE", // TODO: generate a random state
  authorize: {
    approval_prompt: 'force'
  }
}, function (error, result) {
  console.log('OAuth connection:', result);
});

非常感谢任何帮助!

0 个答案:

没有答案