@aws-sdk/middleware-token 3.256.0 → 3.258.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4,7 +4,7 @@ exports.getTokenPlugin = void 0;
|
|
|
4
4
|
const tokenMiddleware_1 = require("./tokenMiddleware");
|
|
5
5
|
const getTokenPlugin = (options) => ({
|
|
6
6
|
applyToStack: (clientStack) => {
|
|
7
|
-
clientStack.addRelativeTo((0, tokenMiddleware_1.tokenMiddleware)(options), tokenMiddleware_1.
|
|
7
|
+
clientStack.addRelativeTo((0, tokenMiddleware_1.tokenMiddleware)(options), tokenMiddleware_1.tokenMiddlewareOptions);
|
|
8
8
|
},
|
|
9
9
|
});
|
|
10
10
|
exports.getTokenPlugin = getTokenPlugin;
|
|
@@ -1,19 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tokenMiddleware = exports.
|
|
3
|
+
exports.tokenMiddleware = exports.tokenMiddlewareOptions = void 0;
|
|
4
4
|
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
-
|
|
5
|
+
const types_1 = require("@aws-sdk/types");
|
|
6
|
+
exports.tokenMiddlewareOptions = {
|
|
6
7
|
name: "tokenMiddleware",
|
|
7
|
-
tags: ["TOKEN"],
|
|
8
|
+
tags: ["TOKEN", "AUTH"],
|
|
8
9
|
relation: "after",
|
|
9
10
|
toMiddleware: "retryMiddleware",
|
|
10
11
|
override: true,
|
|
11
12
|
};
|
|
12
|
-
const tokenMiddleware = (options) => (next) => async (args) => {
|
|
13
|
-
if (!protocol_http_1.HttpRequest.isInstance(args.request))
|
|
13
|
+
const tokenMiddleware = (options) => (next, context) => async (args) => {
|
|
14
|
+
if (!protocol_http_1.HttpRequest.isInstance(args.request) || context.currentAuthConfig)
|
|
14
15
|
return next(args);
|
|
15
|
-
const token = await options.token();
|
|
16
|
-
|
|
16
|
+
const token = options.token && (await options.token());
|
|
17
|
+
if (token === null || token === void 0 ? void 0 : token.token) {
|
|
18
|
+
const authConfig = {
|
|
19
|
+
in: types_1.HttpAuthLocation.HEADER,
|
|
20
|
+
name: "authorization",
|
|
21
|
+
scheme: "Bearer",
|
|
22
|
+
};
|
|
23
|
+
context.currentAuthConfig = authConfig;
|
|
24
|
+
args.request.headers[authConfig.name] = `${authConfig.scheme} ${token.token}`;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
context.currentAuthConfig = undefined;
|
|
28
|
+
}
|
|
17
29
|
return next(args);
|
|
18
30
|
};
|
|
19
31
|
exports.tokenMiddleware = tokenMiddleware;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { tokenMiddleware,
|
|
1
|
+
import { tokenMiddleware, tokenMiddlewareOptions } from "./tokenMiddleware";
|
|
2
2
|
export const getTokenPlugin = (options) => ({
|
|
3
3
|
applyToStack: (clientStack) => {
|
|
4
|
-
clientStack.addRelativeTo(tokenMiddleware(options),
|
|
4
|
+
clientStack.addRelativeTo(tokenMiddleware(options), tokenMiddlewareOptions);
|
|
5
5
|
},
|
|
6
6
|
});
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
2
|
-
|
|
2
|
+
import { HttpAuthLocation, } from "@aws-sdk/types";
|
|
3
|
+
export const tokenMiddlewareOptions = {
|
|
3
4
|
name: "tokenMiddleware",
|
|
4
|
-
tags: ["TOKEN"],
|
|
5
|
+
tags: ["TOKEN", "AUTH"],
|
|
5
6
|
relation: "after",
|
|
6
7
|
toMiddleware: "retryMiddleware",
|
|
7
8
|
override: true,
|
|
8
9
|
};
|
|
9
|
-
export const tokenMiddleware = (options) => (next) => async (args) => {
|
|
10
|
-
if (!HttpRequest.isInstance(args.request))
|
|
10
|
+
export const tokenMiddleware = (options) => (next, context) => async (args) => {
|
|
11
|
+
if (!HttpRequest.isInstance(args.request) || context.currentAuthConfig)
|
|
11
12
|
return next(args);
|
|
12
|
-
const token = await options.token();
|
|
13
|
-
|
|
13
|
+
const token = options.token && (await options.token());
|
|
14
|
+
if (token?.token) {
|
|
15
|
+
const authConfig = {
|
|
16
|
+
in: HttpAuthLocation.HEADER,
|
|
17
|
+
name: "authorization",
|
|
18
|
+
scheme: "Bearer",
|
|
19
|
+
};
|
|
20
|
+
context.currentAuthConfig = authConfig;
|
|
21
|
+
args.request.headers[authConfig.name] = `${authConfig.scheme} ${token.token}`;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
context.currentAuthConfig = undefined;
|
|
25
|
+
}
|
|
14
26
|
return next(args);
|
|
15
27
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { FinalizeRequestMiddleware, RelativeMiddlewareOptions } from "@aws-sdk/types";
|
|
2
2
|
import { TokenResolvedConfig } from "./configurations";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const tokenMiddlewareOptions: RelativeMiddlewareOptions;
|
|
4
4
|
export declare const tokenMiddleware: <Input extends object, Output extends object>(options: TokenResolvedConfig) => FinalizeRequestMiddleware<Input, Output>;
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
RelativeMiddlewareOptions,
|
|
4
4
|
} from "@aws-sdk/types";
|
|
5
5
|
import { TokenResolvedConfig } from "./configurations";
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const tokenMiddlewareOptions: RelativeMiddlewareOptions;
|
|
7
7
|
export declare const tokenMiddleware: <
|
|
8
8
|
Input extends object,
|
|
9
9
|
Output extends object
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-token",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.258.0",
|
|
4
4
|
"description": "Middleware and Plugin for setting token authentication",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
},
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aws-sdk/property-provider": "3.
|
|
29
|
-
"@aws-sdk/protocol-http": "3.
|
|
30
|
-
"@aws-sdk/token-providers": "3.
|
|
31
|
-
"@aws-sdk/types": "3.
|
|
32
|
-
"@aws-sdk/util-middleware": "3.
|
|
28
|
+
"@aws-sdk/property-provider": "3.257.0",
|
|
29
|
+
"@aws-sdk/protocol-http": "3.257.0",
|
|
30
|
+
"@aws-sdk/token-providers": "3.258.0",
|
|
31
|
+
"@aws-sdk/types": "3.257.0",
|
|
32
|
+
"@aws-sdk/util-middleware": "3.257.0",
|
|
33
33
|
"tslib": "^2.3.1"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|