All Projects → cli → Oauth

cli / Oauth

Licence: mit
A library for performing OAuth Device flow and Web application flow in Go client apps.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Oauth

Chattt
❯❯❯ Chat without leaving your terminal
Stars: ✭ 239 (-2.05%)
Mutual labels:  cli
Home Assistant Cli
💻 Command-line tool for Home Assistant
Stars: ✭ 243 (-0.41%)
Mutual labels:  cli
Covid19 Tracker Cli
A curl-based command line tracker for Novel Coronavirus or COVID-19 pandemic. It Supports terminal for linux and macos, command prompt for windows, and termux for android with real-time updates.
Stars: ✭ 244 (+0%)
Mutual labels:  cli
Hstr
bash and zsh shell history suggest box - easily view, navigate, search and manage your command history.
Stars: ✭ 2,909 (+1092.21%)
Mutual labels:  cli
Laravel Zero
A PHP framework for console artisans
Stars: ✭ 2,821 (+1056.15%)
Mutual labels:  cli
Hackathon Starter Kit
A Node-Typescript/Express Boilerplate with Authentication(Local, Github, Facebook, Twitter, Google, Dropbox, LinkedIn, Discord, Slack), Authorization, and CRUD functionality + PWA Support!
Stars: ✭ 242 (-0.82%)
Mutual labels:  oauth2
Vultr Cli
Official command line tool for Vultr services
Stars: ✭ 235 (-3.69%)
Mutual labels:  cli
Websocat
Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
Stars: ✭ 3,477 (+1325%)
Mutual labels:  cli
Kb
A minimalist command line knowledge base manager
Stars: ✭ 2,789 (+1043.03%)
Mutual labels:  cli
3llo
3llo - Trello interactive CLI aplication
Stars: ✭ 245 (+0.41%)
Mutual labels:  cli
Pychubby
Automated face warping tool.
Stars: ✭ 240 (-1.64%)
Mutual labels:  cli
Trello Cli
Command line client for Trello
Stars: ✭ 242 (-0.82%)
Mutual labels:  cli
Lyra
A simple to use, composable, command line parser for C++ 11 and beyond
Stars: ✭ 238 (-2.46%)
Mutual labels:  cli
Sucks
Simple command-line script for the Ecovacs series of robot vacuums
Stars: ✭ 237 (-2.87%)
Mutual labels:  cli
Npx
execute npm package binaries (moved)
Stars: ✭ 2,634 (+979.51%)
Mutual labels:  cli
Plex Sync
🎬 Command line utility for synchronizing Plex Media Server watched / seen status between multiple servers
Stars: ✭ 239 (-2.05%)
Mutual labels:  cli
Toggl Cli
A simple command-line interface for toggl.com
Stars: ✭ 241 (-1.23%)
Mutual labels:  cli
Jenkins Cli
Jenkins CLI allows you manage your Jenkins as an easy way
Stars: ✭ 245 (+0.41%)
Mutual labels:  cli
Hiper
🚀 A statistical analysis tool for performance testing
Stars: ✭ 2,667 (+993.03%)
Mutual labels:  cli
Fui
Add CLI & form interface to your program. Docs: https://docs.rs/fui
Stars: ✭ 244 (+0%)
Mutual labels:  cli

oauth

A library for Go client applications that need to perform OAuth authorization against a server, typically GitHub.com.


Traditionally, OAuth for web applications involves redirecting to a URI after the user authorizes an app. While web apps (and some native client apps) can receive a browser redirect, client apps such as CLI applications do not have such an option.

To accommodate client apps, this library implements the OAuth Device Authorization Grant which GitHub.com now supports. With Device flow, the user is presented with a one-time code that they will have to enter in a web browser while authorizing the app on the server. Device flow is suitable for cases where the web browser may be running on a separate device than the client app itself; for example a CLI application could run within a headless, containerized instance, but the user may complete authorization using a browser on their phone.

To transparently enable OAuth authorization on any GitHub host (e.g. GHES instances without OAuth “Device flow” support), this library also bundles an implementation of OAuth web application flow in which the client app starts a local server at http://127.0.0.1:<port>/ that acts as a receiver for the browser redirect. First, Device flow is attempted, and the localhost server is used as fallback. With the localhost server, the user's web browser must be running on the same machine as the client application itself.

Usage

Applications that need more control over the user experience around authentication should directly interface with github.com/cli/oauth/device and github.com/cli/oauth/webapp packages.

In theory, these packages would enable authorization on any OAuth-enabled host. In practice, however, this was only tested for authorizing with GitHub.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].