javascript - Angularfire firebase 身份验证 - 谷歌

标签 javascript angularjs firebase angularfire firebase-authentication

即使有了这个小例子,我也在努力为 AngularFire 实现 Firebase 身份验证。我从谷歌文档中能得到的信息并不多,因为它们主要解决 js web 而不是 Angularfire 的问题。自 2016 年 5 月 18 日起,Angularfire 的 Firebase 旧版文档已弃用。任何人都可以帮助实现新的实现或向我发布相关链接吗?

到目前为止我得到了;

TypeError: classifiedsFactory.$authWithOAuthPopup is not a function

当我单击登录按钮时,控制台中出现错误,因此它 ($authWithOAuthPopup) 显然已经过时了。

classifieds.fac.js(工厂)

(function() {

    "use strict";

    angular
        .module("ngClassifieds")
        .factory("classifiedsFactory", function($firebaseAuth) {

            return $firebaseAuth();

        });
})();

classifieds.ctr.js( Controller )

(function() {

  "use strict";

  angular
    .module("ngClassifieds")
    .controller("classifiedsCtrl", function($scope, $firebaseArray, classifiedsFactory) {

        $scope.login = function(){
            classifiedsFactory.$authWithOAuthPopup('google').then(function(authData) {
                console.log(authData);
            }).catch(function(error) {
                console.error(error)
            })
        }

        $scope.logout = function(){
            classifiedsFactory.$unauth();
        }



    });

})();

html 中的登录按钮

    <md-button ng-click="login()">
        Login with Gmail
    </md-button>

    <md-button ng-click="logout()">
        Logout
    </md-button>

最佳答案

$firebaseAuth().$authWithOAuthPopup ( legacy documentation ) 自 Firebase 3.0 发布以来已被弃用。

您应该使用 $signInWithPopup 来代替。

classifiedsFactory.$signInWithPopup("google").then(function(result) {
  console.log("Signed in as:", result.user.uid);
}).catch(function(error) {
  console.error("Authentication failed:", error);
});

你可以找到一些详细的 AngularFire 文档 here .

关于javascript - Angularfire firebase 身份验证 - 谷歌,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39150210/

相关文章:

php - 构建在 Google Fusion Tables 之上

javascript - 为什么在定义了一些从对象到变量上下文的方法后丢失了?

android - Firebase 聊天应用程序 setValue 公共(public)数据库失败错误?

javascript - Firebase数据库重写数据

javascript - 使用函数验证用户输入的最小值和最大值之间的值

javascript - 让 JSON 与 Google Maps API 3 一起工作

javascript - 在 Angular JS Controller 或服务中添加更多依赖项有什么坏处吗

javascript - 如何在运行时添加 SVG 元素 - Angular

javascript - 使 img src 可通过变量更改

android - Firebase 中的 ExceptionInInitializerError