Go package of OAuth 2.0 authorization for command line tools, which allows simple authorization flow for better UX
See the codeThis 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.
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:
You can make it simple by using oauth2cli as follows:
oauth2cli starts the local server and initiates the flow of OAuth 2.0 Authorization Code Grant.
sequenceDiagram
autonumber
participant RO as Resource Owner (User)
participant CLI as oauth2cli
participant UA as User Agent (Browser)
participant Client as Local Server <br/> (client)
participant AS as Auth Server
Note over Client,RO: (Prereq) Client registered with Authorization Server and has client_id
RO->>CLI: Command
CLI->>UA: Open
UA->>AS: Authorization Request
AS-->>UA: Login / Consent
RO->>UA: AuthN/AuthZ
UA->>AS: AuthN/AuthZ
AS-->>UA: AuthZ Response (redirect)
UA->>Client: Follow redirect
Client-->>UA: Success Response
UA-->>CLI: Close
CLI->>AS: Token Request
AS->>CLI: Token Response
CLI-->>RO: Exit
This is an open source software licensed under Apache 2.0. Feel free to open issues and pull requests.
Overall
Maintained
Code review
Go module
Latest release
Releases this year
240 followers · starred Apr 2026
67 followers · starred Jul 2024
172 followers · starred Aug 2024
Go package of OAuth 2.0 authorization for command line tools, which allows simple authorization flow for better UX
See the codeThis 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.
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:
You can make it simple by using oauth2cli as follows:
oauth2cli starts the local server and initiates the flow of OAuth 2.0 Authorization Code Grant.
sequenceDiagram
autonumber
participant RO as Resource Owner (User)
participant CLI as oauth2cli
participant UA as User Agent (Browser)
participant Client as Local Server <br/> (client)
participant AS as Auth Server
Note over Client,RO: (Prereq) Client registered with Authorization Server and has client_id
RO->>CLI: Command
CLI->>UA: Open
UA->>AS: Authorization Request
AS-->>UA: Login / Consent
RO->>UA: AuthN/AuthZ
UA->>AS: AuthN/AuthZ
AS-->>UA: AuthZ Response (redirect)
UA->>Client: Follow redirect
Client-->>UA: Success Response
UA-->>CLI: Close
CLI->>AS: Token Request
AS->>CLI: Token Response
CLI-->>RO: Exit
This is an open source software licensed under Apache 2.0. Feel free to open issues and pull requests.
Overall
Maintained
Code review
Go module
Latest release
Releases this year
240 followers · starred Apr 2026
67 followers · starred Jul 2024
172 followers · starred Aug 2024