Nano Hash - криптовалюты, майнинг, программирование

Могу ли я использовать аутентификацию Firebase для защиты данных на моем частном сервере?

Из-за некоторых ограничений моего проекта мне нужно управлять моим API-сервером и базой данных отдельно от Firebase, однако ничто не мешает мне использовать другие их инструменты, такие как аналитика и, в данном конкретном случае, аутентификация.

Я хотел спросить, возможен ли следующий сценарий:

  1. Я аутентифицирую пользователя в своем клиентском приложении, используя их SDK
  2. Я отправляю соответствующие данные jwt в заголовках моего API

Могу ли я затем каким-то образом проверить это на своем сервере, чтобы, по сути, избежать сложной службы аутентификации и вместо этого использовать для этого firebase? Есть ли примеры, желательно для сервера NodeJS.


Ответы:


1

Да, вы можете, это очень распространенный вариант использования, и аутентификация firebase была сделана с учетом такого использования. Как вы сказали, отправьте данные jwt в заголовках, затем на сервере вы проверяете токен с помощью службы firebase:

var admin = require('firebase-admin');

admin.initializeApp(); //may require other steps, see last link

// idToken comes from the client app
admin.auth().verifyIdToken(idToken, true)//second argument is optional, checks whether the ID token was revoked
  .then(function(decodedToken) {
    let uid = decodedToken.uid;
    // ...
  }).catch(function(error) {
    // Handle error
  });

https://firebase.google.com/docs/auth/admin/verify-id-tokens

https://firebase.google.com/docs/reference/admin/node/admin.auth.Auth#verifyidtoken

https://firebase.google.com/docs/admin/setup

05.05.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..