Goth
Google + Auth = Goth
A simple library to generate and retrieve Oauth2 tokens for use with Google Cloud Service accounts.
Installation
Add Goth to your list of dependencies in
mix.exs:def deps do [{:goth, "~> 0.1.4"}] end
Ensure Goth is started before your application:
def application do [applications: [:goth]] end
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"
}