Skip to content
Go package for OAuth 2.0 authorization in a command line interface (CLI) tool, which allows the simple authorization flow for better UX
Go Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
docs
e2e_test
example Add Config.LocalServerBindAddress (#19) Oct 25, 2019
.gitignore
LICENSE
Makefile
README.md
go.mod
go.sum
oauth2cli.go
oauth2cli_test.go
server.go

README.md

oauth2cli CircleCI GoDoc

This is a Go package for OAuth 2.0 authorization in a command line interface (CLI) tool. You can create a CLI tool with the simple authorization flow for better UX.

Take a look at the demo movie running the example application.

example

Purpose

When we create a CLI tool which accesses an API with OAuth, it needs the complicated flow such as copy/paste of a URL and code, as follows:

  1. User runs the command.
  2. Command shows the URL for authorization.
  3. User opens the browser, logs in to the server and approves the authorization.
  4. Server shows an authorization code.
  5. User copies the code and pastes into the command.
  6. Command accesses the API with the token.

You can make it simple by using oauth2cli as follows:

  1. User runs the command.
  2. Command opens the browser.
  3. User logs in to the server and approves the authorization.
  4. Command gets a token and access the API with the token.

How it works

oauth2cli starts the local server and initiates the flow of OAuth 2.0 Authorization Code Grant.

Take a look at the sequence diagram:

diagram

Contributions

This is an open source software licensed under Apache 2.0. Feel free to open issues and pull requests.

You can’t perform that action at this time.