2.2.1 • Published 10 months ago

@electron/github-app-auth v2.2.1

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

@electron/github-app-auth

Gets an auth token for a repo via a GitHub app installation

CircleCI npm version

Usage

Generating Credentials

In order to simply credential management @electron/github-app-auth contains a CLI tool to generate a "credential bundle" that contains the requisite information to generate tokens. You need both a private key for your application and the application ID.

npx @electron/github-app-auth --cert=my-private.key.pem --app-id=12345

This command will output a base64 encoded blob which you should store in your services secret storage (normally accessed via an environment variable). Below we will use MY_GITHUB_APP_CREDS as the environment variable.

With @octokit/rest

import { appCredentialsFromString, getAuthOptionsForRepo } from '@electron/github-app-auth';
import { Octokit } from '@octokit/rest';

const creds = appCredentialsFromString(process.env.MY_GITHUB_APP_CREDS);
const authOpts = await getAuthOptionsForRepo({
  owner: 'electron',
  name: 'electron'
}, creds)
const octo = new Octokit({
  ...authOpts,
});

// octo is now a valid octokit instance

With raw tokens

import { appCredentialsFromString, getTokenForRepo } from '@electron/github-app-auth';
import { Octokit } from '@octokit/rest';

const creds = appCredentialsFromString(process.env.MY_GITHUB_APP_CREDS);
const token = await getTokenForRepo({
  owner: 'electron',
  name: 'electron'
}, creds)

// token is now a valid github auth token

With raw tokens on the CLI

gh_token=$(npx @electron/github-app-auth --creds=$MY_GITHUB_APP_CREDS --owner=electron --repo=electron)
2.2.1

10 months ago

2.2.0

10 months ago

2.1.0

11 months ago

2.0.0

12 months ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago