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
  1. Ensure Goth is started before your application:
def application do
[applications: [:goth]]
end
  1. 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 comma:

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"
}