# README
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.

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:
- User runs the command.
- Command shows the URL for authorization.
- User opens the browser, logs in to the server and approves the authorization.
- Server shows an authorization code.
- User copies the code and pastes into the command.
- Command accesses the API with the token.
You can make it simple by using oauth2cli as follows:
- User runs the command.
- Command opens the browser.
- User logs in to the server and approves the authorization.
- 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:
Contributions
This is an open source software licensed under Apache 2.0. Feel free to open issues and pull requests.
# Packages
No description provided by the author
No description provided by the author
Package oauth2params provides the generators of parameters such as state and PKCE.
# Functions
GetToken performs the Authorization Code Grant Flow and returns a token received from the provider.
# Constants
DefaultLocalServerSuccessHTML is a default response body on authorization success.