Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@octokit/auth-callback

Package Overview
Dependencies
Maintainers
2
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@octokit/auth-callback - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

18

dist-node/index.js

@@ -6,3 +6,11 @@ 'use strict';

async function auth(callback) {
const token = (await callback()).replace(/^(token|bearer) +/i, "");
const result = await callback();
if (!result) {
return {
type: "unauthenticated"
};
}
const token = result.replace(/^(token|bearer) +/i, "");
const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth";

@@ -31,3 +39,9 @@ return {

const endpoint = request.endpoint.merge(route, parameters);
const token = (await callback()).replace(/^(token|bearer) +/i, "");
const result = await callback();
if (!result) {
return request(endpoint);
}
const token = result.replace(/^(token|bearer) +/i, "");
endpoint.headers.authorization = withAuthorizationPrefix(token);

@@ -34,0 +48,0 @@ return request(endpoint);

export async function auth(callback) {
const token = (await callback()).replace(/^(token|bearer) +/i, "");
const result = await callback();
if (!result) {
return {
type: "unauthenticated",
};
}
const token = result.replace(/^(token|bearer) +/i, "");
const tokenType = token.split(/\./).length === 3

@@ -4,0 +10,0 @@ ? "app"

import { withAuthorizationPrefix } from "./with-authorization-prefix";
export async function hook(callback, request, route, parameters) {
const endpoint = request.endpoint.merge(route, parameters);
const token = (await callback()).replace(/^(token|bearer) +/i, "");
const result = await callback();
if (!result) {
return request(endpoint);
}
const token = result.replace(/^(token|bearer) +/i, "");
endpoint.headers.authorization = withAuthorizationPrefix(token);
return request(endpoint);
}

7

dist-types/types.d.ts

@@ -13,3 +13,6 @@ import * as OctokitTypes from "@octokit/types";

export declare type Token = string;
export declare type Callback = () => Token | Promise<Token>;
export declare type Callback = () => Token | undefined | Promise<Token | undefined>;
export declare type UnauthenticatedAuthentication = {
type: "unauthenticated";
};
export declare type OAuthTokenAuthentication = {

@@ -30,2 +33,2 @@ type: "token";

};
export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication;
export declare type Authentication = UnauthenticatedAuthentication | OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication;
async function auth(callback) {
const token = (await callback()).replace(/^(token|bearer) +/i, "");
const result = await callback();
if (!result) {
return {
type: "unauthenticated",
};
}
const token = result.replace(/^(token|bearer) +/i, "");
const tokenType = token.split(/\./).length === 3

@@ -29,3 +35,7 @@ ? "app"

const endpoint = request.endpoint.merge(route, parameters);
const token = (await callback()).replace(/^(token|bearer) +/i, "");
const result = await callback();
if (!result) {
return request(endpoint);
}
const token = result.replace(/^(token|bearer) +/i, "");
endpoint.headers.authorization = withAuthorizationPrefix(token);

@@ -32,0 +42,0 @@ return request(endpoint);

{
"name": "@octokit/auth-callback",
"description": "GitHub API authentication using a callback method",
"version": "1.0.0",
"version": "1.1.0",
"license": "MIT",

@@ -6,0 +6,0 @@ "files": [

@@ -44,30 +44,17 @@ # auth-callback.js

Use callback to rotate through a set of tokens.
```js
const tokens = ["token1", "token2"];
let token;
const auth = createCallbackAuth(() => {
const token = tokens.shift();
tokens.push(token);
return token;
});
const auth = createCallbackAuth(() => token);
await auth();
// {
// type: 'token',
// token: 'token1',
// tokenType: 'oauth'
// type: 'unauthenticated'
// }
token = "secret123";
await auth();
// {
// type: 'token',
// token: 'token2',
// token: 'secret123',
// tokenType: 'oauth'
// }
await auth();
// {
// type: 'token',
// token: 'token1',
// tokenType: 'oauth'
// }
```

@@ -114,2 +101,9 @@

The async `auth()` method resolves to one of two possible authentication objects
1. **Unauthenticated** if the `callback()` returns or resolves a falsy value
2. **Token authentication** if the `callback()` returns or resolves with a string value
### Unauthenticated
<table width="100%">

@@ -138,2 +132,33 @@ <thead align=left>

<td>
<code>"unauthenticated"</code>
</td>
</tr>
</tbody>
</table>
### Token authentication
<table width="100%">
<thead align=left>
<tr>
<th width=150>
name
</th>
<th width=70>
type
</th>
<th>
description
</th>
</tr>
</thead>
<tbody align=left valign=top>
<tr>
<th>
<code>type</code>
</th>
<th>
<code>string</code>
</th>
<td>
<code>"token"</code>

@@ -140,0 +165,0 @@ </td>

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc