Modules@robinpath/oauth

@robinpath/oauth

0.1.1Public

OAuth 2.0 authorization flows and PKCE for RobinPath

@robinpath/oauth

OAuth 2.0 authorization flows: auth URL, code exchange, refresh, client credentials, PKCE, token management

Category Functions Auth License

Why use this module?

The oauth module lets you:

  • Build an OAuth 2.0 authorization URL with required parameters
  • Exchange an authorization code for access and refresh tokens
  • Refresh an expired access token using a refresh token
  • Get an access token using the client credentials grant (machine-to-machine)
  • Generate a cryptographically random PKCE code verifier

All functions are callable directly from RobinPath scripts with a simple, consistent API.

Installation

npm install @robinpath/oauth

Quick Start

No credentials needed — start using it right away:

oauth.exchangeCode "https://oauth2.googleapis.com/token" {"code": "...", "clientId": "..."}

Available Functions

FunctionDescription
oauth.authUrlBuild an OAuth 2.0 authorization URL with required parameters
oauth.exchangeCodeExchange an authorization code for access and refresh tokens
oauth.refreshTokenRefresh an expired access token using a refresh token
oauth.clientCredentialsGet an access token using the client credentials grant (machine-to-machine)
oauth.pkceVerifierGenerate a cryptographically random PKCE code verifier
oauth.pkceChallengeGenerate a PKCE code challenge from a verifier
oauth.getTokenRetrieve a stored OAuth token by name
oauth.isExpiredCheck if a stored token is expired (with buffer time)
oauth.generateStateGenerate a cryptographically random state parameter for CSRF protection
oauth.revokeTokenRevoke an OAuth token at the provider's revocation endpoint
oauth.clearTokensClear stored tokens by name or all tokens

Examples

Exchange an authorization code for access and refresh tokens

oauth.exchangeCode "https://oauth2.googleapis.com/token" {"code": "...", "clientId": "..."}

Refresh an expired access token using a refresh token

oauth.refreshToken "https://oauth2.googleapis.com/token" {"name": "google", "clientId": "..."}

Get an access token using the client credentials grant (machine-to-machine)

oauth.clientCredentials "https://api.example.com/oauth/token" {"clientId": "...", "clientSecret": "..."}

Integration with RobinPath

import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/oauth";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  oauth.exchangeCode "https://oauth2.googleapis.com/token" {"code": "...", "clientId": "..."}
`);

Full API Reference

See MODULE.md for complete documentation including all parameters, return types, error handling, and advanced examples.

Related Modules

License

MIT

Versions (1)

VersionTagPublished
0.1.1latestyesterday
Install
$ robinpath install @robinpath/oauth
Version0.1.1
LicenseMIT
Unpacked Size5.8 KB
Versions1
Weekly Downloads0
Total Downloads0
Stars0
Last Publishyesterday
Createdyesterday

Category

web