Аутентификация Firebase в Polymer с использованием токена OAuth

У меня есть база данных Firebase, которая аутентифицируется с помощью учетной записи Google. В настоящее время у меня есть элемент <google-signin-aware>, в котором подробно описаны данные для входа в приложение для использования с API входа в Google, а при входе выполняется проверка подлинности ссылки Firebase с помощью токена доступа, возвращаемого при входе в Google.

Из обратного вызова для элемента <google-signin-aware> при успешном входе:

var ref = new Firebase("https://<myapp>.firebaseio.com");
var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token;
ref.authWithOAuthToken("google", access_token, function (error, authData){/*...*/});

Чтобы попытаться продолжить интеграцию с Polymer, я перехожу на элемент <firebase-auth>, который является «оболочкой для API аутентификации Firebase». Однако я не могу найти эквивалентный метод аутентификации с помощью токена доступа. Метод login() имеет два параметра. Есть ли способ передать токен доступа методу входа, чтобы Firebase аутентифицировал этот токен, а не собственное всплывающее окно?


person Luke Moll    schedule 19.11.2015    source источник


Ответы (2)


Элемент <firebase-auth> имеет внутреннюю ссылку Firebase ref, доступ к которой можно получить, вызвав

var ref = document.querySelector('#fbauth').ref

А потом авторизоваться как обычно

var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token;
ref.authWithOAuthToken("google", access_token, function (error, authData){/*...*/});
person Luke Moll    schedule 19.11.2015

Вас может заинтересовать мой собственный набор, который расширяет набор элементов Firebase Polymer: https://github.com/MeTaNoV/firebase-element-extended

person Pascal Gula    schedule 15.12.2015