2016-06-24 81 views
3

我需要使用javascript用重火力淺REST調用REST API,在過去的版本,我需要通過訪問令牌這樣的火力點3:如何獲得的accessToken使用JavaScript的

var authKey = ref.getAuth().token; 
    var s = firebaseUrl + '/.json?shallow=true&auth=' + authKey; 
    $http.get(s) 

怎麼辦我現在用firebase 3做這個嗎?

回答

4
firebase.auth().signInWithEmailAndPassword(u, p).then(function(result){ 

    result.getToken().then(function(token){ 
     $rootScope.userLoginToken = token; 
    }); 

}); 
1

當您使用SDK的版本3.x時,訪問令牌在authData中不再可用。但你可以得到的是當用戶獲得認證。

var auth = firebase.auth(); 

var provider = new firebase.auth.GoogleAuthProvider(); 
auth.signInWithPopup(provider).then(function(result) { 
    var accessToken = result.credential.accessToken; 
}); 

對於這一點,很多更多信息遷移您的Web應用程序時是相關的,看到upgrade guide for web apps(其中我複製從代碼)。

+0

弗蘭克我似乎無法得到result.credential使用firebase.auth()。signInWithEmailAndPassword(),我需要使用另一種方法嗎?我正在使用電子郵件/密碼驗證方法 – Stradosphere

+1

當您使用電子郵件和密碼時,沒有訪問令牌。這聽起來像你可能正在尋找@ stradosphere的答案。 –

+0

現在'credential.accessToken'只在登錄流程中暴露出來,現在沒有限制嗎?如果用戶已經通過身份驗證,則登錄例程從不運行,而應用程序使用已保存的身份驗證數據。 –

相關問題