Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/int128/oauth2cli
Go package of OAuth 2.0 authorization for command line tools, which allows simple authorization flow for better UX
https://github.com/int128/oauth2cli
cli golang oauth2
Last synced: 5 days ago
JSON representation
Go package of OAuth 2.0 authorization for command line tools, which allows simple authorization flow for better UX
- Host: GitHub
- URL: https://github.com/int128/oauth2cli
- Owner: int128
- License: apache-2.0
- Created: 2018-10-03T00:54:24.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-11T06:46:02.000Z (16 days ago)
- Last Synced: 2024-12-11T07:32:49.050Z (15 days ago)
- Topics: cli, golang, oauth2
- Language: Go
- Homepage:
- Size: 389 KB
- Stars: 55
- Watchers: 2
- Forks: 18
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# oauth2cli ![go](https://github.com/int128/oauth2cli/workflows/go/badge.svg) [![GoDoc](https://godoc.org/github.com/int128/oauth2cli?status.svg)](https://godoc.org/github.com/int128/oauth2cli)
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](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.
1. Command shows the URL for authorization.
1. User opens the browser, logs in to the server and approves the authorization.
1. Server shows an authorization code.
1. User copies the code and pastes into the command.
1. Command accesses the API with the token.You can make it simple by using oauth2cli as follows:
1. User runs the command.
1. Command opens the browser.
1. User logs in to the server and approves the authorization.
1. 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](https://tools.ietf.org/html/rfc6749#section-4.1).
Take a look at the sequence diagram:
![diagram](docs/diagram.svg)
## Contributions
This is an open source software licensed under Apache 2.0.
Feel free to open issues and pull requests.