Heroku CLI plugin to manage OAuth clients.
Last updated 3 days ago by mimen .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @heroku-cli/plugin-oauth-v5 
SYNC missed versions from official npm registry.

Heroku OAuth CircleCI

Code Climate codecov npm version License


Command line plugin for managing OAuth clients, authorizations and tokens.

No need to install, this plugin comes built into the Heroku CLI.


To create a client:

$ heroku clients:create "Amazing" https://amazing-client.herokuapp.com/auth/heroku/callback
Creating Amazing... done

See OAuth clients under your account with:

$ heroku clients
Amazing  3e304bda-d376-4278-bdea-6d6c08aa1359  https://amazing-client.herokuapp.com/auth/heroku/callback

Get details about a client:

$ heroku clients:info 36120128-fee7-455e-8b7f-807aee130946
=== Amazing
created_at:         2016-01-21T02:11:57Z
id:                 36120128-fee7-455e-8b7f-807aee130946
name:               Amazing
redirect_uri:       https://amazing-client.herokuapp.com/auth/heroku/callback
secret:             a14cf558-60b8-44f2-a804-3b249b48aa57
updated_at:         2016-01-21T02:11:57Z

Update clients:

$ heroku clients:update 3e304bda-d376-4278-bdea-6d6c08aa1359 --url https://amazing-client.herokuapp.com/auth/heroku/callback
Updated Amazing... done


List them:

$ heroku authorizations
Amazing                        9e3a4063-b833-432e-ad75-4b0d7195be13  global
Heroku CLI                     676cb46c-7597-4be1-8a6a-f87b9f2f1065  global


You can create a special user-created authorization against your account that will come with an access token which doesn't expire:

$ heroku authorizations:create --description "For use with Anvil"
Created OAuth authorization.
  ID:          105a7bfa-34c3-476e-873a-b1ac3fdc12fb
  Description: For use with Anvil
  Token:       4cee516c-f8c6-4f14-9edf-fc6ef09cedc5
  Scope:       global

You can also pass in short output format to only output the token.

$ heroku authorizations:create --output-format short

Another option allows for tokens that expire. This token expires in 10 seconds.

$ heroku authorizations:create --expires-in 10
Created OAuth authorization.
  Client:      <none>
  ID:          2231biha6-5b1e-4268-ba04-2ee7b74m2gf6
  Description: Long-lived user authorization
  Scope:       global
  Token:       9aa5d667-fg37-4028-8dc9-b2191b5z5966

A combination of short format and expires-in can be handy to pass into a job that needs access to heroku:

$ heroku run "HEROKU_EMAIL=`heroku auth:whoami` HEROKU_API_KEY=`heroku authorizations:create --expires-in 120 --output-format short` ./my_job.sh" -a myapp

Optionally, you can specify a list of scopes for the authorization:

$ heroku authorizations:create --description "For use with Anvil" --scope identity,read-protected
Created OAuth authorization.
  ID:          105a7bfa-34c3-476e-873a-b1ac3fdc12fb
  Description: For use with Anvil
  Token:       4cee516c-f8c6-4f14-9edf-fc6ef09cedc5
  Scope:       identity, read-protected

The procured token can now be used like an API key:

$ curl -u ":4cee516c-f8c6-4f14-9edf-fc6ef09cedc5" https://api.heroku.com/apps


Any authorization on your account can be revoked at any time:

$ heroku authorizations:revoke 105a7bfa-34c3-476e-873a-b1ac3fdc12fb
Revoked authorization from "Another App".

heroku authorizations

list OAuth authorizations

  $ heroku authorizations

  -j, --json  output in json format

See code: lib/commands/authorizations/index.js

heroku authorizations:create

create a new OAuth authorization

  $ heroku authorizations:create

  -S, --short                    only output token
  -d, --description=description  set a custom authorization description
  -e, --expires-in=expires-in    set expiration in seconds (default no expiration)
  -j, --json                     output in json format
  -s, --scope=scope              set custom OAuth scopes

  This creates an authorization with access to your Heroku account.

See code: lib/commands/authorizations/create.js

heroku authorizations:info ID

show an existing OAuth authorization

  $ heroku authorizations:info ID

  -j, --json  output in json format

See code: lib/commands/authorizations/info.js

heroku authorizations:revoke ID

revoke OAuth authorization

  $ heroku authorizations:revoke ID

  $ heroku authorizations:destroy

See code: lib/commands/authorizations/revoke.js

heroku authorizations:rotate ID

updates an OAuth authorization token

  $ heroku authorizations:rotate ID

See code: lib/commands/authorizations/rotate.js

heroku authorizations:update ID

updates an OAuth authorization

  $ heroku authorizations:update ID

  -d, --description=description  set a custom authorization description
  --client-id=client-id          identifier of OAuth client to set
  --client-secret=client-secret  secret of OAuth client to set

See code: lib/commands/authorizations/update.js

heroku clients

list your OAuth clients

  $ heroku clients

  -j, --json  output in json format

See code: lib/commands/clients/index.js

heroku clients:create NAME REDIRECT_URI

create a new OAuth client

  $ heroku clients:create NAME REDIRECT_URI

  -j, --json   output in json format
  -s, --shell  output in shell format

See code: lib/commands/clients/create.js

heroku clients:destroy ID

delete client by ID

  $ heroku clients:destroy ID

See code: lib/commands/clients/destroy.js

heroku clients:info ID

show details of an oauth client

  $ heroku clients:info ID

  -j, --json   output in json format
  -s, --shell  output in shell format

See code: lib/commands/clients/info.js

heroku clients:rotate ID

rotate OAuth client secret

  $ heroku clients:rotate ID

  -j, --json   output in json format
  -s, --shell  output in shell format

See code: lib/commands/clients/rotate.js

heroku clients:update ID

update OAuth client

  $ heroku clients:update ID

  -n, --name=name  change the client name
  --url=url        change the client redirect URL

See code: lib/commands/clients/update.js

heroku sessions

list your OAuth sessions

  $ heroku sessions

  -j, --json  output in json format

See code: lib/commands/sessions/index.js

heroku sessions:destroy ID

delete (logout) OAuth session by ID

  $ heroku sessions:destroy ID

See code: lib/commands/sessions/destroy.js

Current Tags

  • 7.47.10                                ...           latest (3 days ago)

34 Versions

  • 7.47.10                                ...           3 days ago
  • 7.47.9                                ...           3 days ago
  • 7.47.8                                ...           4 days ago
  • 7.42.12                                ...           5 months ago
  • 7.39.3                                ...           9 months ago
  • 7.39.2                                ...           10 months ago
  • 7.39.1                                ...           10 months ago
  • 7.24.0                                ...           2 years ago
  • 7.22.5                                ...           2 years ago
  • 7.21.0                                ...           2 years ago
  • 7.20.0                                ...           2 years ago
  • 7.19.4                                ...           2 years ago
  • 7.19.0                                ...           2 years ago
  • 7.18.10                                ...           2 years ago
  • 7.18.6                                ...           2 years ago
  • 7.18.0                                ...           2 years ago
  • 7.16.2                                ...           2 years ago
  • 7.16.0                                ...           2 years ago
  • 7.15.0                                ...           2 years ago
  • 7.12.6                                ...           2 years ago
  • 7.12.4                                ...           2 years ago
  • 7.9.3                                ...           2 years ago
  • 7.9.2                                ...           2 years ago
  • 7.9.1                                ...           2 years ago
  • 7.5.6                                ...           3 years ago
  • 7.5.5                                ...           3 years ago
  • 7.5.1                                ...           3 years ago
  • 7.5.0                                ...           3 years ago
  • 7.4.8                                ...           3 years ago
  • 7.4.6                                ...           3 years ago
  • 7.4.5                                ...           3 years ago
  • 7.4.0                                ...           3 years ago
  • 7.3.0                                ...           3 years ago
  • 2.3.5                                ...           3 years ago

Copyright 2014 - 2017 © taobao.org |