{"repo":"RiddleMan/doken","free":true,"listed":false,"github":"https://github.com/RiddleMan/doken","clone":"git clone https://github.com/RiddleMan/doken.git","description":"Tool for getting tokens from OAuth 2.0/OpenID Connect providers","language":"Rust","stars":24,"topics":["chromium","cli","command-line","made-with-rust","oauth2","openid-connect","rust","terminal","tool","authentication"],"license":"MIT","category":"cli-tools","readme_excerpt":"doken Tool for getting tokens from OAuth 2.0/OpenID Connect providers. Features Retrieving token using Authorization Code , Authorization Code with PKCE , Resource Owner Password Client Credentials , Client Credentials , Implicit grants Refreshing token without opening a browser if IdP provides refresh token Reading options from CLI Arguments, Environment variables, .env file Prerequisites - Chromium-based browser (Edge, Chromium, Chrome) Installation Install pre-built binaries via shell script Install pre-built binaries via PowerShell script Ensure you run this command in Adminstrative shell. Install pre-built binaries via Homebrew Usage Basic Authorization Code with PKCE grant The most common use case that most of the Identity Providers support (if your IdP doesn't support PKCE, please use authorization-code grant). It opens a browser to pass the grant and authorize. Returns an access token as an output. Providing arguments as environment variables If you have an Identity Provider you constantly request, then you provide all of them using environment variables. Every argument could be passed as the following DOKEN MY ARGUMENT ex. DOKEN TOKEN URL . Sharing project's IdP settings via .env file The tool detects the closest .env file in a tree structure to make it easier to execute repeatable commands within the scope of the project. To do so create a .env file at the root of your project with the following contents: Then retrieving a token goes like this: Saving multiple IdP p","default_branch":null,"files":null,"tree":[],"storefront":"/r/RiddleMan","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/RiddleMan/doken/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}