GitHub - octokit/auth-callback.js: GitHub API authentication using a callback method (original) (raw)
auth-callback.js
GitHub API authentication using a callback method
Usage
Browsers | Load @octokit/auth-callback directly from esm.sh <script type="module"> import { createCallbackAuth } from "https://esm.sh/@octokit/auth-callback"; </script> |
---|---|
Node | Install with npm install @octokit/auth-callback import { createCallbackAuth } from "@octokit/auth-callback"; |
let token;
const auth = createCallbackAuth({ callback: () => token }); await auth(); // { // type: 'unauthenticated' // } token = "secret123"; await auth(); // { // type: 'token', // token: 'secret123', // tokenType: 'oauth' // }
createCallbackAuth(options)
The createCallbackAuth
method accepts a single options
parameter
name | type | description |
---|---|---|
options.callback | function | Required. A method that returns or resolves with a token string. |
auth()
The async auth()
method does not accept any arguments
Authentication object
The async auth()
method resolves to one of two possible authentication objects
- Unauthenticated if the
callback()
returns or resolves a falsy value - Token authentication if the
callback()
returns or resolves with a string value
Unauthenticated
name | type | description |
---|---|---|
type | string | "unauthenticated" |
Token authentication
name | type | description |
---|---|---|
type | string | "token" |
token | string | The personal access token |
tokenType | string | One of: "oauth" (if returned string is an OAuth or personal access tokens) "installation" (if returned string is an installation access tokens) "app" (if returned string is a JSON Web Token (JWT) for GitHub App authentication) |
auth.hook(request, route, parameters)
or auth.hook(request, options)
auth.hook()
hooks directly into the request life cycle. It amends the request to authenticate correctly based on the request URL.
The request
option is an instance of @octokit/request. The route
/options
parameters are the same as for the request() method.
auth.hook()
can be called directly to send an authenticated request
const { data: user } = await auth.hook(request, "GET /user");
Or it can be passed as option to request().
const requestWithAuth = request.defaults({ request: { hook: auth.hook, }, });
const { data: user } = await requestWithAuth("GET /user");
Contributing
See CONTRIBUTING.md