
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
This Python library help command-line tool authors to use OAuth2 services. Built using requests-oauthlib with parts of google_auth_oauthlib.
pip install cli-oauth2
Do something like this:
from oauthcli import OpenStreetMapAuth
auth = OpenStreetMapAuth(
client_id, secret_id, ['read_prefs']
).auth_server(token_test=lambda r: r.get('user/details'))
data = auth.get('user/details.json')
if data.status_code != 200:
print(f'Error {data.status_code}: {data.text})')
else:
print(f'Hello, {data.json()["user"]["display_name"]}')
Tokens are saved to disk, so subsequent runs won't require authorization.
Auth objects have these methods and properties:
auth_server()
opens a web browser and catches the response by
starting a local server.auth_code()
opens a web browser and expected a user to copy the code
presented by the provider. It uses urn:ietf:wg:oauth:2.0:oob
redirect uri.authorized
returns whether there is an active access token.get
, post
etc call the relevant requests
methods, but often shadow
the server name. See the example above.session
is the underlying OAuth2Session object.There are some predefined providers:
OpenStreetMapAuth
OpenStreetMapDevAuth
GoogleAuth
GitHubAuth
MastodonAuth
(requires a server
parameter)RedditAuth
FacebookAuth
LinkedInAuth
Note that only OSM and GitHub providers were tested. I welcome pull requests with fixes.
If you need to use another provider, just subclass AuthFlow
and
pass it provider_id
(the key for the stored token map),
OAuth2Session(client_id, scope=scopes)
,
auth_url
, token_url
, and client_secret
.
The tool stores tokens in a json in the configuration directory.
To clean some or all tokens, use the oauthclean
command-line tool.
Written by Ilya Zverev, published under Apache License 2.0.
Contains portions of google_auth_oauthlib as of commit 1a9dca889357b93bdad17d75a28ac81e3ba6067f, published under Apache License 2.0.
FAQs
Helper library for OAuth2 in command-line tools
We found that cli-oauth2 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.