esiapi
is a Go based library and toolset for dealing with the
EVE-Online ESI API.
A variety of tools are available which show the basics of the API in addition to OAuth token management. Currently, backends for tokens exist in Google Cloud Datastore and in a flat-file (JSON) on disk. By using keys in Datastore, multiple worker machines can be used with a shared per-user authentication system.
Dependencies in this package can be managed by
using Glide, a Go package manager. Running glide up && glide install
in this directory will vendor all dependencies
from upstreams.
The clients in this package are built with Go-Swagger using a reduced version of the Swagger client definition from CCP. There is a bug in Go-Swagger which refuses to process the current CCP swagger definition. See this issue for details go-swagger/go-swagger#733
Helpers are provided to navigate the OAuth2 flows, and several CLI tools exist to navigate the credentials.
Most of the tools are built with the assumption that you will be using Google Cloud Datastore as a backing store, but there is no limitation in the API for how credentials and tokens are stored.
Provision and refresh the tokens in a Google Cloud Datastore entity.
Parameters:
-
-esi.settings=path/to/file
- A path to a JSON file containing the credentials to use to bootstrap the OAuth2 flow. See thesettings.json.example
file in this repository for reference. -
-esi.ds.project=project-name
- The project name to use for the Cloud Datastore table. Authentication is handled out of band - use thegcloud auth
workflow to authenticate on a client machine, or use the service account already provisioned. -
-esi.token.name=token-name
- What to name this token. Allows using multiple per-user tokens.