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

License

Notifications You must be signed in to change notification settings

pipedrive/oauth2cli

This branch is 12 commits ahead of, 171 commits behind int128/oauth2cli:master.

Folders and files

NameName
Last commit message
Last commit date
Dec 17, 2024
Oct 25, 2019
Oct 10, 2021
Jul 12, 2020
Apr 5, 2020
Sep 3, 2019
Oct 3, 2018
Aug 16, 2020
Oct 27, 2021
Oct 27, 2021
Oct 27, 2021
Aug 29, 2020
May 17, 2022
Oct 28, 2021

Repository files navigation

oauth2cli test 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 screencast of the example application.

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.

About

Go package for OAuth 2.0 authorization in a command line interface (CLI) tool, which allows the simple authorization flow for better UX

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%