Использование FireBase Google Auth и Google Fit API с одним токеном OAuth2 - PullRequest
0 голосов
/ 07 марта 2019

В настоящее время я работаю над простым веб-приложением, которое будет выполнять GET-вызов данных соответствия Google.

Чтобы уменьшить сложность приложения, я планирую разместить его на firebase и в полной мере использовать преимуществаоблачных функций, firestore и инструментов аутентификации.

До сих пор мне удалось прочитать мои данные соответствия Google, используя библиотеку узлов googleapis на внешнем интерфейсе, передав область охвата фитнеса https://www.googleapis.com/auth/fitness.activity.read как часть Google.кнопка входа.

Если бы я использовал реализацию Google Auth для Firebase, у него был бы другой идентификатор клиента / другие области, отличные от учетных данных, которые я сделал для чтения данных соответствия Google.

Кажется, если я хочуиспользуя firebase И Google Fit, пользователь должен будет войти в систему с помощью Google Auth Firebase, чтобы я мог аутентифицировать записи базы данных в свое приложение, а также предоставить мне доступ к их данным Google Fit из приложения.

Если есть способ, которым это можно объединить, чтобы я мог использовать один токен для аутентификации и чтения данных соответствия Google?

1 Ответ

0 голосов
/ 07 марта 2019

Похоже, мне просто пришлось копнуть немного глубже, вы можете добавить области к своему экземпляру провайдера Google Auth.

https://firebase.google.com/docs/auth/web/google-signin

var provider = new firebase.auth.GoogleAuthProvider();
provider.addScope('https://www.googleapis.com/auth/fitness.activity.read');

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

Затем для проверки пригодности используйте токен доступа, указанный в заголовке авторизации

Authorization: `Bearer ${accessToken}`
axios.post('https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate?alt=json', data, axiosconfig)

Примечание. Если вы хотите выполнять фоновые запросы к данным пользователей, пока они не находятся в приложении (в автономном режиме в терминах oauth2), вам необходимо использовать firebase вместе с библиотекой gapis js.

...