@schemavaults/auth-client-sdk 0.11.2 → 0.13.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.
- package/dist/auth-client.d.ts +6 -7
- package/dist/auth-client.js +63 -38
- package/dist/auth-client.js.map +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/acquire-access-token.js +6 -2
- package/dist/lib/acquire-access-token.js.map +1 -1
- package/dist/lib/authenticate-url-encoder.d.ts +2 -2
- package/dist/lib/authenticate-url-encoder.js +3 -3
- package/dist/lib/authenticate-url-encoder.js.map +1 -1
- package/dist/lib/authenticate-with-redirect.d.ts +2 -2
- package/dist/lib/authenticate-with-redirect.js +3 -4
- package/dist/lib/authenticate-with-redirect.js.map +1 -1
- package/dist/lib/check-app-authorization.d.ts +2 -1
- package/dist/lib/check-app-authorization.js +7 -9
- package/dist/lib/check-app-authorization.js.map +1 -1
- package/dist/lib/check-app-to-api-permission.js +5 -1
- package/dist/lib/check-app-to-api-permission.js.map +1 -1
- package/dist/lib/check-if-authenticated-with-server.js +1 -1
- package/dist/lib/check-if-authenticated-with-server.js.map +1 -1
- package/dist/lib/exchange-auth-tokens.d.ts +4 -3
- package/dist/lib/exchange-auth-tokens.js +9 -7
- package/dist/lib/exchange-auth-tokens.js.map +1 -1
- package/dist/lib/handle-successful-authentication.d.ts +2 -2
- package/dist/lib/handle-successful-authentication.js +7 -5
- package/dist/lib/handle-successful-authentication.js.map +1 -1
- package/dist/lib/handle-successful-exchange-auth-tokens-response.d.ts +3 -2
- package/dist/lib/handle-successful-exchange-auth-tokens-response.js +4 -3
- package/dist/lib/handle-successful-exchange-auth-tokens-response.js.map +1 -1
- package/dist/lib/list-api-server-domains.js +1 -4
- package/dist/lib/list-api-server-domains.js.map +1 -1
- package/dist/lib/list-client-application-domains.js +2 -5
- package/dist/lib/list-client-application-domains.js.map +1 -1
- package/dist/lib/list-client-applications.js.map +1 -1
- package/dist/lib/list-my-organization-memberships.js +3 -3
- package/dist/lib/list-my-organization-memberships.js.map +1 -1
- package/dist/lib/load-api-server-definition.d.ts +2 -2
- package/dist/lib/load-api-server-definition.js +3 -8
- package/dist/lib/load-api-server-definition.js.map +1 -1
- package/dist/lib/load-client-application-definition.d.ts +2 -2
- package/dist/lib/load-client-application-definition.js +3 -8
- package/dist/lib/load-client-application-definition.js.map +1 -1
- package/dist/lib/send-authenticate-request.js +5 -2
- package/dist/lib/send-authenticate-request.js.map +1 -1
- package/dist/types/IAuthClientConstructorOptions.d.ts +2 -1
- package/dist/types/ISchemaVaultsAuthClient.d.ts +1 -1
- package/dist/types/ISendAuthenticateRequestOptions.d.ts +1 -0
- package/dist/types/acquire-access-token-options.d.ts +1 -2
- package/package.json +3 -3
- package/generate-version.sh +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-with-redirect.js","sourceRoot":"","sources":["../../src/lib/authenticate-with-redirect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate-with-redirect.js","sourceRoot":"","sources":["../../src/lib/authenticate-with-redirect.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import type { ISchemaVaultsAuthClientAdapter } from "../types/ISchemaVaultsAuthC
|
|
|
2
2
|
import { type AppId } from "@schemavaults/app-definitions";
|
|
3
3
|
export interface ICheckAppAuthorizationOpts {
|
|
4
4
|
app_id: AppId;
|
|
5
|
+
auth_server_url: string;
|
|
5
6
|
adapter: ISchemaVaultsAuthClientAdapter;
|
|
6
7
|
}
|
|
7
|
-
export declare function checkAppAuthorization({ adapter, app_id, }: ICheckAppAuthorizationOpts): Promise<boolean>;
|
|
8
|
+
export declare function checkAppAuthorization({ adapter, app_id, auth_server_url, }: ICheckAppAuthorizationOpts): Promise<boolean>;
|
|
8
9
|
export default checkAppAuthorization;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { appIdSchema
|
|
2
|
-
export async function checkAppAuthorization({ adapter, app_id, }) {
|
|
1
|
+
import { appIdSchema } from "@schemavaults/app-definitions";
|
|
2
|
+
export async function checkAppAuthorization({ adapter, app_id, auth_server_url, }) {
|
|
3
3
|
if (typeof app_id !== "string") {
|
|
4
|
-
throw new TypeError("Expected app_id to be a string"
|
|
4
|
+
throw new TypeError("Expected 'app_id' to be a string!", {
|
|
5
|
+
cause: `Received '${typeof app_id}'`,
|
|
6
|
+
});
|
|
5
7
|
}
|
|
6
|
-
|
|
8
|
+
if (!(await appIdSchema.safeParseAsync(app_id)).success) {
|
|
7
9
|
throw new TypeError("Invalid client 'app_id' to check authorization for!");
|
|
8
10
|
}
|
|
9
|
-
|
|
10
|
-
if (isHardcodedAppId(app_id)) {
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
const response = await adapter.fetch(`/api/apps/${app_id}/check-authorization`, {
|
|
11
|
+
const response = await adapter.fetch(new URL(`/api/apps/${app_id}/check-authorization`, auth_server_url).toString(), {
|
|
14
12
|
method: "GET",
|
|
15
13
|
credentials: "include",
|
|
16
14
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-app-authorization.js","sourceRoot":"","sources":["../../src/lib/check-app-authorization.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"check-app-authorization.js","sourceRoot":"","sources":["../../src/lib/check-app-authorization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAc,MAAM,+BAA+B,CAAC;AAQxE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,OAAO,EACP,MAAM,EACN,eAAe,GACY;IAC3B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CAAC,mCAAmC,EAAE;YACvD,KAAK,EAAE,aAAa,OAAO,MAAM,GAAG;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,IAAI,GAAG,CACL,aAAa,MAAM,sBAAsB,EACzC,eAAe,CAChB,CAAC,QAAQ,EAAE,EACZ;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAQ,IAAgC,CAAC,UAAU,KAAK,IAAI,CAAC;AAC/D,CAAC;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function checkAppToApiPermission({ adapter, auth_server_uri, api_server_id, client_app_id, }) {
|
|
2
|
-
const response = await adapter.fetch(
|
|
2
|
+
const response = await adapter.fetch(new URL(`/api/apis/${api_server_id}/connect_app/${client_app_id}`, auth_server_uri).toString(), {
|
|
3
3
|
method: "GET",
|
|
4
4
|
credentials: "include",
|
|
5
5
|
});
|
|
@@ -9,9 +9,13 @@ export async function checkAppToApiPermission({ adapter, auth_server_uri, api_se
|
|
|
9
9
|
const body = await response.json();
|
|
10
10
|
if (typeof body !== "object" ||
|
|
11
11
|
!body ||
|
|
12
|
+
!("success" in body) ||
|
|
12
13
|
!body.success) {
|
|
13
14
|
throw new Error("Check app-to-api permission response indicated failure");
|
|
14
15
|
}
|
|
16
|
+
if (!("is_allowed" in body) || typeof body.is_allowed !== "boolean") {
|
|
17
|
+
throw new TypeError("Expected a boolean 'is_allowed' property on response object!");
|
|
18
|
+
}
|
|
15
19
|
return body.is_allowed;
|
|
16
20
|
}
|
|
17
21
|
export default checkAppToApiPermission;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-app-to-api-permission.js","sourceRoot":"","sources":["../../src/lib/check-app-to-api-permission.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAC5C,OAAO,EACP,eAAe,EACf,aAAa,EACb,aAAa,GACgB;IAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,GAAG,
|
|
1
|
+
{"version":3,"file":"check-app-to-api-permission.js","sourceRoot":"","sources":["../../src/lib/check-app-to-api-permission.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAC5C,OAAO,EACP,eAAe,EACf,aAAa,EACb,aAAa,GACgB;IAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,IAAI,GAAG,CACL,aAAa,aAAa,gBAAgB,aAAa,EAAE,EACzD,eAAe,CAChB,CAAC,QAAQ,EAAE,EAEZ;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,0CAA0C,QAAQ,CAAC,MAAM,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,IAAI;QACL,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;QACpB,CAAC,IAAI,CAAC,OAAO,EACb,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -15,7 +15,7 @@ export default async function checkIfAuthenticatedWithServer({ auth_server_uri,
|
|
|
15
15
|
}
|
|
16
16
|
let userData;
|
|
17
17
|
try {
|
|
18
|
-
const response = await adapter.fetch(
|
|
18
|
+
const response = await adapter.fetch(new URL(`/api/auth/whoami/${client_app_id}`, auth_server_uri).toString(), {
|
|
19
19
|
method: "GET",
|
|
20
20
|
credentials: "include",
|
|
21
21
|
headers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-if-authenticated-with-server.js","sourceRoot":"","sources":["../../src/lib/check-if-authenticated-with-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQrE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,8BAA8B,CAAC,EAC3D,eAAe,EACf,OAAO,EACP,aAAa,GACuB;IACpC,MAAM,uBAAuB,GAC3B,OAAO,OAAO,CAAC,+BAA+B,KAAK,UAAU;QAC7D,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAuB,OAAO,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,GAAG,
|
|
1
|
+
{"version":3,"file":"check-if-authenticated-with-server.js","sourceRoot":"","sources":["../../src/lib/check-if-authenticated-with-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQrE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,8BAA8B,CAAC,EAC3D,eAAe,EACf,OAAO,EACP,aAAa,GACuB;IACpC,MAAM,uBAAuB,GAC3B,OAAO,OAAO,CAAC,+BAA+B,KAAK,UAAU;QAC7D,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAuB,OAAO,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,IAAI,GAAG,CAAC,oBAAoB,aAAa,EAAE,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,EACxE;YACE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,SAAS;YACtB,OAAO;SACR,CACF,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;QACJ,CAAC;aAAM,IACL,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC,IAAI,CAAC,IAAI;YACV,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAC7B,CAAC;YACD,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,WAAW,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;IAC9B,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import type { ISchemaVaultsAuthClientAdapter } from "../types/ISchemaVaultsAuthClientAdapter";
|
|
2
|
-
import type { AppId } from "@schemavaults/app-definitions";
|
|
3
|
-
import { type RefreshToken, RequestTokensResult, type SuccessfullyGeneratedTokensRecord } from "@schemavaults/auth-common";
|
|
2
|
+
import type { AppId, SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
|
|
3
|
+
import { type RefreshToken, type RequestTokensResult, type SuccessfullyGeneratedTokensRecord } from "@schemavaults/auth-common";
|
|
4
4
|
export interface IExchangeAuthTokensOpts {
|
|
5
5
|
refreshToken: RefreshToken | "AS_HTTP_ONLY_COOKIE";
|
|
6
6
|
audience: string | string[];
|
|
7
7
|
replaceRefreshToo?: boolean;
|
|
8
8
|
auth_server_uri: string;
|
|
9
|
+
environment: SchemaVaultsAppEnvironment;
|
|
9
10
|
debug: boolean;
|
|
10
11
|
client_app_id: AppId;
|
|
11
12
|
adapter: ISchemaVaultsAuthClientAdapter;
|
|
12
13
|
handleSuccessfulExchangeAuthTokensResponse: (response: RequestTokensResult) => Promise<SuccessfullyGeneratedTokensRecord>;
|
|
13
14
|
logout: () => Promise<void>;
|
|
14
15
|
}
|
|
15
|
-
export declare function exchangeAuthTokens({ refreshToken, audience, replaceRefreshToo, debug, auth_server_uri, client_app_id, adapter, handleSuccessfulExchangeAuthTokensResponse, logout, }: IExchangeAuthTokensOpts): Promise<SuccessfullyGeneratedTokensRecord>;
|
|
16
|
+
export declare function exchangeAuthTokens({ refreshToken, audience, replaceRefreshToo, debug, environment, auth_server_uri, client_app_id, adapter, handleSuccessfulExchangeAuthTokensResponse, logout, }: IExchangeAuthTokensOpts): Promise<SuccessfullyGeneratedTokensRecord>;
|
|
16
17
|
export default exchangeAuthTokens;
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { createRefreshTokenPOSTBodySchema, createRequestTokensResultSchema, } from "@schemavaults/auth-common";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export async function exchangeAuthTokens({ refreshToken, audience, replaceRefreshToo, debug, environment, auth_server_uri, client_app_id, adapter, handleSuccessfulExchangeAuthTokensResponse, logout, }) {
|
|
3
4
|
if (debug) {
|
|
4
5
|
console.log("[SchemaVaultsAuthClient] Attempting to send request to exchange refresh token for access token...");
|
|
5
6
|
}
|
|
6
|
-
const exchange_refresh_token_endpoint =
|
|
7
|
+
const exchange_refresh_token_endpoint = new URL(`/api/auth/token/refresh_token/${client_app_id}`, auth_server_uri);
|
|
7
8
|
if (!audience && !replaceRefreshToo) {
|
|
8
9
|
throw new Error("Type of token to acquire not specified");
|
|
9
10
|
}
|
|
11
|
+
const refreshTokenPOSTBodySchema = createRefreshTokenPOSTBodySchema(z, environment);
|
|
10
12
|
// Exchange the authorization code for an access token
|
|
11
13
|
let request_body;
|
|
12
14
|
try {
|
|
13
|
-
const parsed = await
|
|
15
|
+
const parsed = await refreshTokenPOSTBodySchema.safeParseAsync({
|
|
14
16
|
grant_type: "refresh_token",
|
|
15
17
|
client_app_id,
|
|
16
18
|
audience: audience,
|
|
@@ -56,14 +58,14 @@ export async function exchangeAuthTokens({ refreshToken, audience, replaceRefres
|
|
|
56
58
|
}
|
|
57
59
|
if (debug) {
|
|
58
60
|
console.log("[SchemaVaultsAuthClient::exchangeAuthTokens()] " +
|
|
59
|
-
`Sending POST request to "${exchange_refresh_token_endpoint}" with body & headers:`, request_body, exchangeAuthTokensReqHeaders);
|
|
61
|
+
`Sending POST request to "${exchange_refresh_token_endpoint.toString()}" with body & headers:`, request_body, exchangeAuthTokensReqHeaders);
|
|
60
62
|
}
|
|
61
63
|
let tokens_response_data;
|
|
62
64
|
try {
|
|
63
65
|
if (debug) {
|
|
64
66
|
console.log(`POST => ${exchange_refresh_token_endpoint}`);
|
|
65
67
|
}
|
|
66
|
-
const response = await adapter.fetch(exchange_refresh_token_endpoint, {
|
|
68
|
+
const response = await adapter.fetch(exchange_refresh_token_endpoint.toString(), {
|
|
67
69
|
body: JSON.stringify(request_body),
|
|
68
70
|
method: "POST",
|
|
69
71
|
headers: exchangeAuthTokensReqHeaders,
|
|
@@ -98,7 +100,7 @@ export async function exchangeAuthTokens({ refreshToken, audience, replaceRefres
|
|
|
98
100
|
}
|
|
99
101
|
throw new Error(`Token exchange failed (HTTP ${response.status}): ${serverMessage}`);
|
|
100
102
|
}
|
|
101
|
-
const parsed_tokens_result = await
|
|
103
|
+
const parsed_tokens_result = await createRequestTokensResultSchema(z, environment).safeParseAsync(await response.json());
|
|
102
104
|
if (!parsed_tokens_result.success) {
|
|
103
105
|
console.error("Failed to parse tokens response from server: ", parsed_tokens_result.error);
|
|
104
106
|
throw new Error("Failed to parse tokens response from server!");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchange-auth-tokens.js","sourceRoot":"","sources":["../../src/lib/exchange-auth-tokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exchange-auth-tokens.js","sourceRoot":"","sources":["../../src/lib/exchange-auth-tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,12 @@ export interface IHandleSuccessfulAuthenticationOpts {
|
|
|
13
13
|
environment: SchemaVaultsAppEnvironment;
|
|
14
14
|
adapter: ISchemaVaultsAuthClientAdapter;
|
|
15
15
|
client_app_id: AppId;
|
|
16
|
-
|
|
16
|
+
auth_server_url: string;
|
|
17
17
|
defaultTokenAudiences: string | string[];
|
|
18
18
|
storeRefreshToken: (refreshToken: RefreshToken) => void;
|
|
19
19
|
storeUserData: (userData: UserData) => void;
|
|
20
20
|
storeMultipleAccessTokens: (accessTokens: Record<ApiServerId, AccessToken | "AS_HTTP_ONLY_COOKIE">) => void;
|
|
21
21
|
triggerAuthStateChanged: () => void;
|
|
22
22
|
}
|
|
23
|
-
export declare function handleSuccessfulAuthentication({ authorization_code, challenge_time, code_verifier, received_state, redirect_uri, loadCodeVerifier, loadOAuth2State, debug, environment, adapter,
|
|
23
|
+
export declare function handleSuccessfulAuthentication({ authorization_code, challenge_time, code_verifier, received_state, redirect_uri, loadCodeVerifier, loadOAuth2State, debug, environment, adapter, auth_server_url, client_app_id, defaultTokenAudiences, storeRefreshToken, storeUserData, storeMultipleAccessTokens, triggerAuthStateChanged, }: IHandleSuccessfulAuthenticationOpts): Promise<void>;
|
|
24
24
|
export default handleSuccessfulAuthentication;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createAuthorizationCodePOSTBodySchema, PKCE_ProofKeyManager, createRequestTokensResultSchema, } from "@schemavaults/auth-common";
|
|
2
2
|
import debugPrintTokensAsTable from "./debugPrintTokensAsTable";
|
|
3
3
|
import debugPrintUserDataAsTable from "./debugPrintUserDataAsTable";
|
|
4
|
+
import { z } from "zod";
|
|
4
5
|
import assertHttpOnlyRefreshTokenCookieHasAccompanyingMarkerCookie from "./assert-http-only-refresh-token-has-accompanying-expiry-marker";
|
|
5
6
|
import { timingSafeStringEqual } from "@schemavaults/auth-common";
|
|
6
|
-
export async function handleSuccessfulAuthentication({ authorization_code, challenge_time, code_verifier, received_state, redirect_uri, loadCodeVerifier, loadOAuth2State, debug, environment, adapter,
|
|
7
|
+
export async function handleSuccessfulAuthentication({ authorization_code, challenge_time, code_verifier, received_state, redirect_uri, loadCodeVerifier, loadOAuth2State, debug, environment, adapter, auth_server_url, client_app_id, defaultTokenAudiences, storeRefreshToken, storeUserData, storeMultipleAccessTokens, triggerAuthStateChanged, }) {
|
|
7
8
|
if (debug) {
|
|
8
9
|
console.log("[SchemaVaultsAuthClient::handleSuccessfulAuthentication]" +
|
|
9
10
|
" " +
|
|
@@ -129,7 +130,7 @@ export async function handleSuccessfulAuthentication({ authorization_code, chall
|
|
|
129
130
|
}
|
|
130
131
|
// Get the endpoint to exchange the authorization code for an access token
|
|
131
132
|
// https://datatracker.ietf.org/doc/html/rfc7636#section-4.5
|
|
132
|
-
const authorization_code_token_endpoint =
|
|
133
|
+
const authorization_code_token_endpoint = new URL(`/api/auth/token/authorization_code/${client_app_id}`, auth_server_url).toString();
|
|
133
134
|
if (debug) {
|
|
134
135
|
console.log("[SchemaVaultsAuthClient::handleSuccessfulAuthentication()] Token Endpoint: ", authorization_code_token_endpoint);
|
|
135
136
|
}
|
|
@@ -141,10 +142,11 @@ export async function handleSuccessfulAuthentication({ authorization_code, chall
|
|
|
141
142
|
console.warn("[SchemaVaultsAuthClient::handleSuccessfulAuthentication()] No access token audience(s) set");
|
|
142
143
|
audience = [];
|
|
143
144
|
}
|
|
145
|
+
const authorizationCodePOSTBodySchema = createAuthorizationCodePOSTBodySchema(z, environment);
|
|
144
146
|
// Exchange the authorization code for an access token
|
|
145
147
|
let request_body;
|
|
146
148
|
try {
|
|
147
|
-
const parsed = await
|
|
149
|
+
const parsed = await authorizationCodePOSTBodySchema.safeParseAsync({
|
|
148
150
|
grant_type: "authorization_code",
|
|
149
151
|
code: authorization_code,
|
|
150
152
|
code_verifier: cached_code_verifier,
|
|
@@ -199,7 +201,7 @@ export async function handleSuccessfulAuthentication({ authorization_code, chall
|
|
|
199
201
|
let refresh_token_expiry;
|
|
200
202
|
let user;
|
|
201
203
|
try {
|
|
202
|
-
const tokens_data = await
|
|
204
|
+
const tokens_data = await createRequestTokensResultSchema(z, environment).safeParseAsync(await response.json());
|
|
203
205
|
if (!tokens_data.success) {
|
|
204
206
|
console.error("[SchemaVaultsAuthClient::handleSuccessfulAuthentication()] " +
|
|
205
207
|
"Failed to parse tokens from auth server response:", tokens_data.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-successful-authentication.js","sourceRoot":"","sources":["../../src/lib/handle-successful-authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"handle-successful-authentication.js","sourceRoot":"","sources":["../../src/lib/handle-successful-authentication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { type AccessToken, type SuccessfullyGeneratedTokensRecord } from "@schemavaults/auth-common";
|
|
2
2
|
import type { ISchemaVaultsAuthClientAdapter } from "../types/ISchemaVaultsAuthClientAdapter";
|
|
3
|
-
import type { ApiServerId } from "@schemavaults/app-definitions";
|
|
3
|
+
import type { ApiServerId, SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
|
|
4
4
|
export interface IHandleSuccessfulExchangeAuthTokensResponseOpts {
|
|
5
5
|
tokens_response: unknown;
|
|
6
6
|
debug: boolean;
|
|
7
|
+
environment: SchemaVaultsAppEnvironment;
|
|
7
8
|
adapter: ISchemaVaultsAuthClientAdapter;
|
|
8
9
|
storeMultipleAccessTokens: (access_tokens: Record<ApiServerId, AccessToken | "AS_HTTP_ONLY_COOKIE">) => void;
|
|
9
10
|
}
|
|
10
|
-
export default function handleSuccessfulExchangeAuthTokensResponse({ tokens_response, debug, storeMultipleAccessTokens, adapter, }: IHandleSuccessfulExchangeAuthTokensResponseOpts): Promise<SuccessfullyGeneratedTokensRecord>;
|
|
11
|
+
export default function handleSuccessfulExchangeAuthTokensResponse({ tokens_response, debug, environment, storeMultipleAccessTokens, adapter, }: IHandleSuccessfulExchangeAuthTokensResponseOpts): Promise<SuccessfullyGeneratedTokensRecord>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// handle-successful-exchange-auth-tokens-response.ts
|
|
2
|
-
import {
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { createRequestTokensResultSchema, } from "@schemavaults/auth-common";
|
|
3
4
|
import assertHttpOnlyRefreshTokenCookieHasAccompanyingMarkerCookie from "../lib/assert-http-only-refresh-token-has-accompanying-expiry-marker";
|
|
4
|
-
export default async function handleSuccessfulExchangeAuthTokensResponse({ tokens_response, debug, storeMultipleAccessTokens, adapter, }) {
|
|
5
|
-
const parsed_tokens_data = await
|
|
5
|
+
export default async function handleSuccessfulExchangeAuthTokensResponse({ tokens_response, debug, environment, storeMultipleAccessTokens, adapter, }) {
|
|
6
|
+
const parsed_tokens_data = await createRequestTokensResultSchema(z, environment).safeParseAsync(tokens_response);
|
|
6
7
|
if (!parsed_tokens_data.success) {
|
|
7
8
|
if (debug) {
|
|
8
9
|
console.error("[SchemaVaultsAuthClient::handleSuccessfulExchangeAuthTokensResponse()] " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-successful-exchange-auth-tokens-response.js","sourceRoot":"","sources":["../../src/lib/handle-successful-exchange-auth-tokens-response.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"handle-successful-exchange-auth-tokens-response.js","sourceRoot":"","sources":["../../src/lib/handle-successful-exchange-auth-tokens-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { apiServerIdSchema,
|
|
1
|
+
import { apiServerIdSchema, schemaVaultsApiServerDomainRefSchema, } from "@schemavaults/app-definitions";
|
|
2
2
|
export async function listApiServerDomains({ adapter, auth_server_uri, api_server_id, }) {
|
|
3
3
|
if (!(await apiServerIdSchema.safeParseAsync(api_server_id)).success) {
|
|
4
4
|
throw new TypeError("Invalid api_server_id");
|
|
5
5
|
}
|
|
6
|
-
if (isHardcodedApiServerId(api_server_id)) {
|
|
7
|
-
return HARDCODED_CORE_SCHEMAVAULTS_API_SERVER_DOMAINS.filter((d) => d.api_server_id === api_server_id);
|
|
8
|
-
}
|
|
9
6
|
const response = await adapter.fetch(`${auth_server_uri}/api/apis/${api_server_id}/domains`, {
|
|
10
7
|
method: "GET",
|
|
11
8
|
credentials: "include",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-api-server-domains.js","sourceRoot":"","sources":["../../src/lib/list-api-server-domains.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"list-api-server-domains.js","sourceRoot":"","sources":["../../src/lib/list-api-server-domains.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,EACjB,oCAAoC,GACrC,MAAM,+BAA+B,CAAC;AAQvC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,OAAO,EACP,eAAe,EACf,aAAa,GACa;IAC1B,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,GAAG,eAAe,aAAa,aAAa,UAAU,EACtD;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,IAId,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,mCAAmC,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,oCAAoC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import { appIdSchema,
|
|
1
|
+
import { appIdSchema, schemaVaultsAppDomainRefSchema, } from "@schemavaults/app-definitions";
|
|
2
2
|
export async function listClientApplicationDomains({ adapter, auth_server_uri, app_id, }) {
|
|
3
3
|
if (!(await appIdSchema.safeParseAsync(app_id)).success) {
|
|
4
4
|
throw new TypeError("Invalid app_id");
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
return HARDCODED_CORE_SCHEMAVAULTS_APP_DOMAINS.filter((d) => d.app_id === app_id);
|
|
8
|
-
}
|
|
9
|
-
const response = await adapter.fetch(`${auth_server_uri}/api/apps/${app_id}/domains`, {
|
|
6
|
+
const response = await adapter.fetch(new URL(`/api/apps/${app_id}/domains`, auth_server_uri).toString(), {
|
|
10
7
|
method: "GET",
|
|
11
8
|
credentials: "include",
|
|
12
9
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-client-application-domains.js","sourceRoot":"","sources":["../../src/lib/list-client-application-domains.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"list-client-application-domains.js","sourceRoot":"","sources":["../../src/lib/list-client-application-domains.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,EACX,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AAQvC,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EACjD,OAAO,EACP,eAAe,EACf,MAAM,GAC4B;IAClC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,IAAI,GAAG,CAAC,aAAa,MAAM,UAAU,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,EAClE;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,CAAC,MAAM,EAAE,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,MAAM,GAAG,IAId,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,OAAO,IAAI,2CAA2C,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,8BAA8B,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,eAAe,4BAA4B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-client-applications.js","sourceRoot":"","sources":["../../src/lib/list-client-applications.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,OAAO,EACP,eAAe,EACf,UAAU,EACV,YAAY,EACZ,UAAU,GACkB;IAC5B,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,YAAY,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC9C,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7C,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,GAAG,eAAe,aAAa,YAAY,CAAC,QAAQ,EAAE,EAAE,EACxD;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"list-client-applications.js","sourceRoot":"","sources":["../../src/lib/list-client-applications.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,OAAO,EACP,eAAe,EACf,UAAU,EACV,YAAY,EACZ,UAAU,GACkB;IAC5B,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,YAAY,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC9C,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7C,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,GAAG,eAAe,aAAa,YAAY,CAAC,QAAQ,EAAE,EAAE,EACxD;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,MAAM,GAAG,IAA6B,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,oCAAoC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { organizationMembershipRoleDetailsSchema, } from "@schemavaults/auth-common";
|
|
2
|
-
import { SCHEMAVAULTS_AUTH_APP_ID } from "@schemavaults/app-definitions";
|
|
3
2
|
import { z } from "zod";
|
|
4
3
|
const listMyOrganizationMembershipsResponseSchema = z
|
|
5
4
|
.object({
|
|
@@ -25,8 +24,9 @@ export async function listMyOrganizationMemberships({ adapter, auth_server_uri,
|
|
|
25
24
|
}
|
|
26
25
|
else {
|
|
27
26
|
// On an external app the auth-server's cookies are not available
|
|
28
|
-
// cross-origin; authenticate with
|
|
29
|
-
|
|
27
|
+
// cross-origin; authenticate with an access token addressed to the auth
|
|
28
|
+
// server. Its token audience is the auth server URL (not the app id).
|
|
29
|
+
const audience = auth_server_uri;
|
|
30
30
|
let accessToken;
|
|
31
31
|
try {
|
|
32
32
|
accessToken = await acquireAccessToken({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-my-organization-memberships.js","sourceRoot":"","sources":["../../src/lib/list-my-organization-memberships.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uCAAuC,GAGxC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-my-organization-memberships.js","sourceRoot":"","sources":["../../src/lib/list-my-organization-memberships.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uCAAuC,GAGxC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,MAAM,2CAA2C,GAAG,CAAC;KAClD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,uCAAuC,CAAC;KAC9D,CAAC;SACD,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SAC/B,MAAM,EAAE;CACZ,CAAC;KACD,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACtD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,EAClD,OAAO,EACP,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,KAAK,GAAG,KAAK,GACsB;IAGnC,MAAM,MAAM,GAAG,KAAc,CAAC;IAE9B,oCAAoC;IACpC,MAAM,WAAW,GAAgB,EAAE,MAAM,EAAE,CAAC;IAE5C,IAAI,cAAc,EAAE,CAAC;QACnB,sEAAsE;QACtE,qEAAqE;QACrE,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,iEAAiE;QACjE,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,QAAQ,GAAW,eAAe,CAAC;QACzC,IAAI,WAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,kBAAkB,CAAC;gBACrC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gDAAgD,QAAQ,IAAI,EAC5D;gBACE,KAAK,EAAE,CAAC;aACT,CACF,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,OAAO,GAAG;YACpB,aAAa,EAAE,UAAU,WAAW,CAAC,KAAK,EAAE;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAW,GAAG,eAAe,uBAAuB,CAAC;IAEnE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CACT,2CAA2C,MAAM,gBAAgB,QAAQ,MAAM,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE5D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,kEAAkE,QAAQ,CAAC,MAAM,GAAG,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,MAAM,GACV,MAAM,2CAA2C,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAE/B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -2,8 +2,8 @@ import type { ISchemaVaultsAuthClientAdapter } from "../types/ISchemaVaultsAuthC
|
|
|
2
2
|
import { type ApiServerId, type SchemaVaultsApiServerDefinition } from "@schemavaults/app-definitions";
|
|
3
3
|
export interface ILoadApiServerDefinitionOpts {
|
|
4
4
|
adapter: ISchemaVaultsAuthClientAdapter;
|
|
5
|
-
|
|
5
|
+
auth_server_url: string;
|
|
6
6
|
api_server_id: ApiServerId;
|
|
7
7
|
}
|
|
8
|
-
export declare function loadApiServerDefinition({ adapter,
|
|
8
|
+
export declare function loadApiServerDefinition({ adapter, auth_server_url, api_server_id, }: ILoadApiServerDefinitionOpts): Promise<SchemaVaultsApiServerDefinition>;
|
|
9
9
|
export default loadApiServerDefinition;
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import { apiServerIdSchema,
|
|
2
|
-
export async function loadApiServerDefinition({ adapter,
|
|
1
|
+
import { apiServerIdSchema, } from "@schemavaults/app-definitions";
|
|
2
|
+
export async function loadApiServerDefinition({ adapter, auth_server_url, api_server_id, }) {
|
|
3
3
|
if (!(await apiServerIdSchema.safeParseAsync(api_server_id)).success) {
|
|
4
4
|
throw new TypeError("Invalid api_server_id");
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
const hardcoded = getHardcodedApiServer(api_server_id);
|
|
8
|
-
if (hardcoded)
|
|
9
|
-
return hardcoded;
|
|
10
|
-
}
|
|
11
|
-
const response = await adapter.fetch(`${auth_server_uri}/api/apis/${api_server_id}`, {
|
|
6
|
+
const response = await adapter.fetch(new URL(`/api/apis/${api_server_id}`, auth_server_url).toString(), {
|
|
12
7
|
method: "GET",
|
|
13
8
|
credentials: "include",
|
|
14
9
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-api-server-definition.js","sourceRoot":"","sources":["../../src/lib/load-api-server-definition.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"load-api-server-definition.js","sourceRoot":"","sources":["../../src/lib/load-api-server-definition.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAQvC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAC5C,OAAO,EACP,eAAe,EACf,aAAa,GACgB;IAC7B,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,IAAI,GAAG,CAAC,aAAa,aAAa,EAAE,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,EACjE;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,IAId,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,sCAAsC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -2,8 +2,8 @@ import type { ISchemaVaultsAuthClientAdapter } from "../types/ISchemaVaultsAuthC
|
|
|
2
2
|
import { type AppId, type SchemaVaultsApp } from "@schemavaults/app-definitions";
|
|
3
3
|
export interface ILoadClientApplicationDefinitionOpts {
|
|
4
4
|
adapter: ISchemaVaultsAuthClientAdapter;
|
|
5
|
-
|
|
5
|
+
auth_server_url: string;
|
|
6
6
|
app_id: AppId;
|
|
7
7
|
}
|
|
8
|
-
export declare function loadClientApplicationDefinition({ adapter,
|
|
8
|
+
export declare function loadClientApplicationDefinition({ adapter, auth_server_url, app_id, }: ILoadClientApplicationDefinitionOpts): Promise<SchemaVaultsApp>;
|
|
9
9
|
export default loadClientApplicationDefinition;
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import { appIdSchema,
|
|
2
|
-
export async function loadClientApplicationDefinition({ adapter,
|
|
1
|
+
import { appIdSchema, } from "@schemavaults/app-definitions";
|
|
2
|
+
export async function loadClientApplicationDefinition({ adapter, auth_server_url, app_id, }) {
|
|
3
3
|
if (!(await appIdSchema.safeParseAsync(app_id)).success) {
|
|
4
4
|
throw new TypeError("Invalid app_id");
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
const hardcoded = getHardcodedApp(app_id);
|
|
8
|
-
if (hardcoded)
|
|
9
|
-
return hardcoded;
|
|
10
|
-
}
|
|
11
|
-
const response = await adapter.fetch(`${auth_server_uri}/api/apps/${app_id}`, {
|
|
6
|
+
const response = await adapter.fetch(new URL(`/api/apps/${app_id}`, auth_server_url).toString(), {
|
|
12
7
|
method: "GET",
|
|
13
8
|
credentials: "include",
|
|
14
9
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-client-application-definition.js","sourceRoot":"","sources":["../../src/lib/load-client-application-definition.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,
|
|
1
|
+
{"version":3,"file":"load-client-application-definition.js","sourceRoot":"","sources":["../../src/lib/load-client-application-definition.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,WAAW,GACZ,MAAM,+BAA+B,CAAC;AAQvC,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,EACpD,OAAO,EACP,eAAe,EACf,MAAM,GAC+B;IACrC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAClC,IAAI,GAAG,CAAC,aAAa,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,EAC1D;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,SAAS;KACvB,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,iDAAiD,QAAQ,CAAC,MAAM,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,MAAM,GAAG,IAId,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,OAAO,IAAI,8CAA8C,CACjE,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC;AACpB,CAAC;AAED,eAAe,+BAA+B,CAAC"}
|
|
@@ -13,6 +13,7 @@ export async function sendAuthenticateRequest(opts) {
|
|
|
13
13
|
const adapter = opts.adapter;
|
|
14
14
|
const env = opts.app_environment;
|
|
15
15
|
const redirect_uri = opts.redirect_uri;
|
|
16
|
+
const auth_server_url = opts.auth_server_url;
|
|
16
17
|
if (env === "development") {
|
|
17
18
|
console.log("[sendAuthenticateRequest] sending request to the auth server...");
|
|
18
19
|
}
|
|
@@ -71,7 +72,7 @@ export async function sendAuthenticateRequest(opts) {
|
|
|
71
72
|
if (env === "development") {
|
|
72
73
|
console.log("[sendAuthenticateRequest] Sending POST request via adapter");
|
|
73
74
|
}
|
|
74
|
-
const authentication_request_response = await adapter.fetch(`/api/auth/${authentication_type}`, {
|
|
75
|
+
const authentication_request_response = await adapter.fetch(new URL(`/api/auth/${authentication_type}`, auth_server_url).toString(), {
|
|
75
76
|
body: JSON.stringify(auth_request_body),
|
|
76
77
|
method: "POST",
|
|
77
78
|
credentials: "same-origin",
|
|
@@ -134,7 +135,9 @@ export async function sendAuthenticateRequest(opts) {
|
|
|
134
135
|
errorMessage = body.message;
|
|
135
136
|
}
|
|
136
137
|
}
|
|
137
|
-
catch {
|
|
138
|
+
catch {
|
|
139
|
+
/* use default message */
|
|
140
|
+
}
|
|
138
141
|
throw new Error(errorMessage);
|
|
139
142
|
}
|
|
140
143
|
throw new Error(`Failed to authenticate (response status ${response.status})`);
|