{"repo":"pdobsan/oama","free":true,"listed":false,"github":"https://github.com/pdobsan/oama","clone":"git clone https://github.com/pdobsan/oama.git","description":"OAuth credential Manager","language":"Haskell","stars":255,"topics":["email","imap","oauth2","utility","smtp"],"license":null,"category":"auth-billing-email","readme_excerpt":"oama - OAuth credential MAnager Synopsis Many IMAP/SMTP clients, like msmtp, fdm, isync, aerc, neomutt or mutt can use OAuth2 access tokens but lack the ability to renew and/or authorize OAuth2 credentials. The purpose of oama is to provide these missing capabilities by acting as a kind of smart password manager. In particular, access token renewal happens automatically in the background transparent to the user. oama runs on Linux, macOS and BSD Unix type systems. Both x86 64 and arm64/aarch64 platforms are supported. The word oama refers to juvenile goatfish in Hawaii, see the logo. Backends and Security The managed OAuth credentials are kept in various encrypted backends . oama can use any of the backends below: - GNU PG encrypted files . These files are kept in the $XDG STATE HOME/oama directory. If the XDG STATE HOME environment variable is not set then it defaults to $HOME/.local/state . - Keyrings provided by any password manager with a FreeDesktop.org Secret Service compatible API. Some examples of such password managers are: - Gnome keyring - KDE Wallet Manager - KeePaasXC Additionally, oama can be configured to obtain the client ID and secret associated with an OAuth account from a password manager so these pieces of sensitive information don't need to be in the config file. Operational security Proof Key for Code Exchange (PKCE) is used during authorization. Use of PKCE is recommended both by Google and by Microsoft. PKCE is required in the new OAuth 2.1 draft. To a","default_branch":null,"files":null,"tree":[],"storefront":"/r/pdobsan","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pdobsan/oama/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."}