stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
Minified + gzip package size for @nodeart/firebase-connector in KB


Firebase connector


google.com firebaseAuth method


github.com firebaseAuth method


facebook.com firebaseAuth method


email & password firebaseAuth method


twitter.com firebaseAuth method


anonymous firebaseAuth method


vk.com is not among standard auth providers in firebase, so we provide our own solution for this. To get acquainted with the flow, please, read this article.

In order to avoid creation of http server, vkAuthService works only with firebase and not with REST API. So, we strongly recommend to set redirect url to be a current location, thus one can get a token on a client side.

Internal work of a service one can found in source


VkConfigService declaration

import {Injectable} from "@angular/core";
import {VkAuthConfig, VkConfig, PopupConfig} from "@nodeart/firebase-connector";

export class VkConfiguration implements VkAuthConfig {
    public vkConfig : VkConfig = {
        client_id: 'app_id',
        display: 'popup',
        scope: ['friends'],
        response_type: 'token',
        v: 5.63
    public popupConfig: PopupConfig = {
        location: 'no',
        height: 600,
        width: 600
    public cleanUp: boolean = true;
    public dbPath: string = 'auth/vk'; // #1 note that this field should be the same on server and client side #2;
    constructor() { }

VkConfigService register

import {NgModule} from "@angular/core";
import {VkConfiguration} from "./vkAuthConfig.service";
  providers: [
    {provide: 'VkAuthConfig', useClass: VkConfiguration}
export class SomeModule { }

Server side or firebase cloud functions code:

'use strict';

const admin = require('firebase-admin');
// #2 note that this field should be the same on server and client side #1;
const authWithVk = admin.database().ref('auth/vk'); 

const listener = (ref, snapshot) => {
  const key = snapshot.key,
        val = snapshot.val();
  if (!val.processed) {
        .then(token => {
          const data = Object.assign(val, {
            access_token: token,
            expires_in: null,
            processed: true
          return data
        .then(data => console.log(`custom token generated = ${JSON.stringify(data)}`))

authWithVk.on('child_added', snapshot => listener(authWithVk, snapshot));

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.