Giter VIP home page Giter VIP logo

firebase-token-erlang's Introduction

Firebase Token Generator - Erlang

Build Status Hex.pm

Helper module for generating custom Firebase token in Erlang. Custom Firebase tokens are used on applications with totally different authentication methods. These tokens are in JWT (JSON Web Token) format and can be then used by client applications on authenticating to Firebase.

Only supports Firebase 3.x.x. See https://firebase.google.com/docs/auth/server/create-custom-tokens for more information.

OTP Version

Required: OTP 18 and later

Setup

This can be added as a dependency from hex.pm

{deps, [
  {firebase_token, "1.1.0"}
]}. 

Usage

One of the requirements for this library is the service account key JSON file that can be obtained from the Google API Manager Console

Account = firebase_token_account:load_from_file("/path/to/service_account.json"),
%% Or you can load from binary string input
%% Account = firebase_token_account:load(<<"{ ...JSON String... }">>),

Uid = <<"1">>, %% Main user id string. Length must not exceed by 36
Life = 3600,   %% Token life (when to expire). Must not exceed 3600 seconds
Extra = #{     %% Arbitrary values
  admin => true
},

{token, _FirebaseToken} = firebase_token:generate(Account, Uid, Life, Extra).

NOTE: Extras cannot have the following keys: acr, amr, at_hash, aud, auth_time, azp, cnf, c_hash, exp, firebase, iat, iss, jti, nbf, nonce and sub.

firebase-token-erlang's People

Contributors

ruel avatar

Watchers

 avatar  avatar  avatar

Forkers

posilva

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.