Goth

Google + Auth = Goth

A simple library to generate and retrieve Oauth2 tokens for use with Google Cloud Service accounts.

Installation

  1. Add Goth to your list of dependencies in mix.exs:

    def deps do
     [{:goth, "~> 0.0.1"}]
    end
  2. Ensure Goth is started before your application:

    def application do
     [applications: [:goth]]
    end
  3. Pass in your credentials json downloaded from your GCE account:

    config :goth,
     json: "path/to/google/json/creds.json" |> File.read!

Usage

Retrieve a token:

Call Token.for_scope/1 passing in a string of scopes, separated by a space:

alias Goth.Token
{:ok, token} = Token.for_scope("https://www.googleapis.com/auth/pubsub")
#=>
  %Goth.Token{
    expires: 1453356568,
    token: "ya29.cALlJ4ICWRvMkYB-WsAR-CZnExE459PA7QPqKg5nei9y2T9-iqmbcgxq8XrTATNn_BPim",
    type: "Bearer"
  }