Vendor OAuth2 for the oauth module: Google and Microsoft presets, Google service accounts
oauthoauth2googlemicrosoftentra
[decks]
"@jennifer/oauthext" = "^0.1.0"| Version | Status | Kind | Pin | Requires | Engines | Capabilities |
|---|---|---|---|---|---|---|
| 0.1.0 | live | git | 96ff3d57e190 | - | jennifer >=0.26.0 | net |
LGPL-3.0-only
0.1.0Vendor-specific OAuth2 for the bundled oauth module of Jennifer: Config presets for Google and Microsoft Entra ID, and Google service-account logins from a JSON key file (the RFC 7523 JWT bearer grant), which open Google Cloud and Workspace APIs to a program with no user. The presets were oauth.google / oauth.microsoft in the bundled module up to Jennifer 0.25.
jvc add @jennifer/oauthextThis vendors the deck to vendor/<scope>/oauthext/. Without jvc, unpack the src/ subtree of a release archive (<scope>-oauthext-<version>.tar.gz) there.
import "oauth.j" as oauth;
import "@jennifer/oauthext/" as oauthext;
def tok as oauth.Token init oauthext.googleServiceAccount(
fs.readString("service-account.json"),
"https://www.googleapis.com/auth/cloud-platform");
def cfg as oauth.Config init oauthext.microsoft("common", $clientId, "",
"https://outlook.office.com/IMAP.AccessAsUser.All offline_access");Jennifer 0.26.0 or newer, the default jennifer binary (the deck needs net; the stock jennifer-tiny has no network driver). RS256 signing for service accounts is in the default binary.
tools/check-all.sh # the full gate, as CI runs it
jennifer test src/oauthext_test.j # the test overlay
tools/check-docs.sh # docs against the code
tools/pack.sh dist # build the release archiveLGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <[email protected]>.
tools/check-headers.sh checks every source file's SPDX header against deck.toml.