SASL-XOAUTH2-TOOL(1)
π NAME π
sasl-xoauth2-tool β bestie, this is the manual page for it, from the Generated Python Manual collection, section 1 of the manual. Yes we're doing man page section 1 energy today. π
β¨ SYNOPSIS β¨
sasl-xoauth2-tool [-h] {get-token,test-config,test-token-refresh} ...
okay so it's literally a little command dispatcher: you pick one of get-token, test-config, or test-token-refresh and then it does the thing. that's the whole vibe. π
π«Ά POSITIONAL ARGUMENTS π«Ά
COMMAND 'sasl-xoauth2-tool get-token' π
usage: sasl-xoauth2-tool get-token [-h] --client-id CLIENT_ID
[--tenant TENANT]
[--client-secret CLIENT_SECRET]
[--scope SCOPE] [--use-device-flow]
[--overwrite-existing-token]
{outlook,gmail} [output_file]
Fetches initial access and refresh tokens from an OAuth 2 provider. like, it goes and gets you the tokens, bestie. that's the errand. π§
{outlook,gmail}β service type. you gotta tell it which one, no guessing.output_fileβ output file, and'-'for stdout. yes, a literal dash means "just print it at me". π€
COMMAND 'sasl-xoauth2-tool test-config' π
usage: sasl-xoauth2-tool test-config [-h] [--config-file CONFIG_FILE]
Tests a sasl-xoauth2 config file for syntax errors. it's the vibe check for your config. if it's giving broken, this will tell you. π
COMMAND 'sasl-xoauth2-tool test-token-refresh' π
usage: sasl-xoauth2-tool test-token-refresh [-h] [--config-file
CONFIG_FILE]
token_file
Tests that a token can be refreshed (i.e., that the OAuth 2 flow is working correctly). basically: does the refresh actually go through or are we in our flop era π
token_fileβ file containing initial access token.
π OPTIONS π
OPTIONS 'sasl-xoauth2-tool get-token' π
--client-idCLIENT_ID β required for both services. no client id, no token, periodt.--tenantTENANT β wanted by'outlook'(defaults to'consumers'). so if you're on outlook, it's lowkey expecting this one.--client-secretCLIENT_SECRET β required for both services, will prompt the user if blank. leave it empty and it'll ask you nicely π«Ά--scopeSCOPE β required for'gmail'. gmail said "you WILL tell me the scope", iconic honestly.--use-device-flowβ use simplified device flow for Outlook/Azure. the chill, low-effort route. β¨--overwrite-existing-tokenβ overwrite existing token file (preserves extra fields). so yes it stomps the file, but it's polite about your extra fields, we love that for it. πΈ
OPTIONS 'sasl-xoauth2-tool test-config' π
--config-fileCONFIG_FILE β config file path (defaults to'/etc/sasl-xoauth2.conf').
OPTIONS 'sasl-xoauth2-tool test-token-refresh' π
--config-fileCONFIG_FILE β config file path (defaults to'/etc/sasl-xoauth2.conf').
ngl, both of those default to the exact same path, so if you don't pass--config-fileyou're vibing with'/etc/sasl-xoauth2.conf'whether you meant to or not. π«‘
π AUTHOR π
Tarick Bedeir tarick@bedeir.com
β DISTRIBUTION β
The latest version of sasl-xoauth2 may be downloaded from https://github.com/tarickb/sasl-xoauth2
and that's the whole page, bestie, we ate and left no crumbs π this was sasl-xoauth2, dated 2025-08-04, and it's the SASL-XOAUTH2-TOOL(1) page β mwah, go forth and refresh those tokens πβ¨
π¦ where this page comes from
- epel 10: sasl-xoauth2 0.27-1.el10_2 Β· Apache-2.0
- fedora 43: sasl-xoauth2 0.27-1.fc43 Β· Apache-2.0
- fedora 43: sasl-xoauth2 0.27-1.fc43 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms