@memberjunction/core 2.90.0 → 2.91.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/generic/authTypes.d.ts +193 -0
- package/dist/generic/authTypes.d.ts.map +1 -0
- package/dist/generic/authTypes.js +19 -0
- package/dist/generic/authTypes.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common authentication types shared between frontend and backend authentication systems
|
|
3
|
+
* This file provides type definitions used by both JWT validation (backend) and OAuth flows (frontend)
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Standard authentication provider types
|
|
7
|
+
*/
|
|
8
|
+
export declare const AUTH_PROVIDER_TYPES: {
|
|
9
|
+
readonly MSAL: "msal";
|
|
10
|
+
readonly AUTH0: "auth0";
|
|
11
|
+
readonly OKTA: "okta";
|
|
12
|
+
readonly COGNITO: "cognito";
|
|
13
|
+
readonly GOOGLE: "google";
|
|
14
|
+
readonly CUSTOM: "custom";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Type for authentication provider identifiers
|
|
18
|
+
*/
|
|
19
|
+
export type AuthProviderType = typeof AUTH_PROVIDER_TYPES[keyof typeof AUTH_PROVIDER_TYPES];
|
|
20
|
+
/**
|
|
21
|
+
* Base configuration for authentication providers
|
|
22
|
+
* Used by both backend (JWT validation) and frontend (OAuth flows)
|
|
23
|
+
*/
|
|
24
|
+
export interface AuthProviderConfig {
|
|
25
|
+
/**
|
|
26
|
+
* Unique name identifier for this provider instance
|
|
27
|
+
*/
|
|
28
|
+
name: string;
|
|
29
|
+
/**
|
|
30
|
+
* Type of authentication provider (e.g., 'msal', 'auth0', 'okta')
|
|
31
|
+
*/
|
|
32
|
+
type: AuthProviderType | string;
|
|
33
|
+
/**
|
|
34
|
+
* OAuth client ID
|
|
35
|
+
*/
|
|
36
|
+
clientId?: string;
|
|
37
|
+
/**
|
|
38
|
+
* OAuth client secret (backend only, never expose to frontend)
|
|
39
|
+
*/
|
|
40
|
+
clientSecret?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Provider domain (e.g., 'your-domain.auth0.com')
|
|
43
|
+
*/
|
|
44
|
+
domain?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Tenant ID for multi-tenant providers (e.g., Azure AD)
|
|
47
|
+
*/
|
|
48
|
+
tenantId?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Token issuer URL (must match 'iss' claim in JWT)
|
|
51
|
+
*/
|
|
52
|
+
issuer?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Expected audience for tokens
|
|
55
|
+
*/
|
|
56
|
+
audience?: string;
|
|
57
|
+
/**
|
|
58
|
+
* JWKS endpoint URL for retrieving signing keys
|
|
59
|
+
*/
|
|
60
|
+
jwksUri?: string;
|
|
61
|
+
/**
|
|
62
|
+
* OAuth redirect URI for callback after authentication
|
|
63
|
+
*/
|
|
64
|
+
redirectUri?: string;
|
|
65
|
+
/**
|
|
66
|
+
* OAuth scopes to request
|
|
67
|
+
*/
|
|
68
|
+
scopes?: string[];
|
|
69
|
+
/**
|
|
70
|
+
* Authority URL for providers that use it (e.g., MSAL)
|
|
71
|
+
*/
|
|
72
|
+
authority?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Allow provider-specific configuration fields
|
|
75
|
+
*/
|
|
76
|
+
[key: string]: any;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* User information extracted from authentication tokens or user profiles
|
|
80
|
+
*/
|
|
81
|
+
export interface AuthUserInfo {
|
|
82
|
+
/**
|
|
83
|
+
* User's email address
|
|
84
|
+
*/
|
|
85
|
+
email?: string;
|
|
86
|
+
/**
|
|
87
|
+
* User's first name
|
|
88
|
+
*/
|
|
89
|
+
firstName?: string;
|
|
90
|
+
/**
|
|
91
|
+
* User's last name
|
|
92
|
+
*/
|
|
93
|
+
lastName?: string;
|
|
94
|
+
/**
|
|
95
|
+
* User's full display name
|
|
96
|
+
*/
|
|
97
|
+
fullName?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Preferred username or handle
|
|
100
|
+
*/
|
|
101
|
+
preferredUsername?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Unique user identifier from the auth provider
|
|
104
|
+
*/
|
|
105
|
+
userId?: string;
|
|
106
|
+
/**
|
|
107
|
+
* User's roles or groups
|
|
108
|
+
*/
|
|
109
|
+
roles?: string[];
|
|
110
|
+
/**
|
|
111
|
+
* Additional provider-specific claims
|
|
112
|
+
*/
|
|
113
|
+
[key: string]: any;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Token information structure
|
|
117
|
+
*/
|
|
118
|
+
export interface AuthTokenInfo {
|
|
119
|
+
/**
|
|
120
|
+
* OAuth access token for API calls
|
|
121
|
+
*/
|
|
122
|
+
accessToken?: string;
|
|
123
|
+
/**
|
|
124
|
+
* ID token containing user claims
|
|
125
|
+
*/
|
|
126
|
+
idToken?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Refresh token for obtaining new access tokens
|
|
129
|
+
*/
|
|
130
|
+
refreshToken?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Token expiration time
|
|
133
|
+
*/
|
|
134
|
+
expiresAt?: Date;
|
|
135
|
+
/**
|
|
136
|
+
* Token type (usually 'Bearer')
|
|
137
|
+
*/
|
|
138
|
+
tokenType?: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* JWT payload structure based on standard OIDC claims
|
|
142
|
+
*/
|
|
143
|
+
export interface AuthJwtPayload {
|
|
144
|
+
/**
|
|
145
|
+
* Subject - unique identifier for the user
|
|
146
|
+
*/
|
|
147
|
+
sub?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Email address
|
|
150
|
+
*/
|
|
151
|
+
email?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Given/first name
|
|
154
|
+
*/
|
|
155
|
+
given_name?: string;
|
|
156
|
+
/**
|
|
157
|
+
* Family/last name
|
|
158
|
+
*/
|
|
159
|
+
family_name?: string;
|
|
160
|
+
/**
|
|
161
|
+
* Full name
|
|
162
|
+
*/
|
|
163
|
+
name?: string;
|
|
164
|
+
/**
|
|
165
|
+
* Preferred username
|
|
166
|
+
*/
|
|
167
|
+
preferred_username?: string;
|
|
168
|
+
/**
|
|
169
|
+
* Token issuer
|
|
170
|
+
*/
|
|
171
|
+
iss?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Token audience
|
|
174
|
+
*/
|
|
175
|
+
aud?: string | string[];
|
|
176
|
+
/**
|
|
177
|
+
* Expiration time (seconds since epoch)
|
|
178
|
+
*/
|
|
179
|
+
exp?: number;
|
|
180
|
+
/**
|
|
181
|
+
* Issued at time (seconds since epoch)
|
|
182
|
+
*/
|
|
183
|
+
iat?: number;
|
|
184
|
+
/**
|
|
185
|
+
* Not before time (seconds since epoch)
|
|
186
|
+
*/
|
|
187
|
+
nbf?: number;
|
|
188
|
+
/**
|
|
189
|
+
* Additional claims
|
|
190
|
+
*/
|
|
191
|
+
[key: string]: any;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=authTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authTypes.d.ts","sourceRoot":"","sources":["../../src/generic/authTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;CAOtB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAE5F;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Common authentication types shared between frontend and backend authentication systems
|
|
4
|
+
* This file provides type definitions used by both JWT validation (backend) and OAuth flows (frontend)
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.AUTH_PROVIDER_TYPES = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Standard authentication provider types
|
|
10
|
+
*/
|
|
11
|
+
exports.AUTH_PROVIDER_TYPES = {
|
|
12
|
+
MSAL: 'msal',
|
|
13
|
+
AUTH0: 'auth0',
|
|
14
|
+
OKTA: 'okta',
|
|
15
|
+
COGNITO: 'cognito',
|
|
16
|
+
GOOGLE: 'google',
|
|
17
|
+
CUSTOM: 'custom'
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=authTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authTypes.js","sourceRoot":"","sources":["../../src/generic/authTypes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACU,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export * from "./generic/explorerNavigationItem";
|
|
|
23
23
|
export * from "./generic/compositeKey";
|
|
24
24
|
export * from "./generic/authEvaluator";
|
|
25
25
|
export * from "./generic/metadataUtil";
|
|
26
|
+
export * from "./generic/authTypes";
|
|
26
27
|
export * from "./generic/databaseProviderBase";
|
|
27
28
|
export declare function SetProvider(provider: any): void;
|
|
28
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,gCAAgC,CAAC;AAE/C,wBAAgB,WAAW,CAAC,QAAQ,KAAA,QAMnC"}
|
package/dist/index.js
CHANGED
|
@@ -45,6 +45,7 @@ __exportStar(require("./generic/explorerNavigationItem"), exports);
|
|
|
45
45
|
__exportStar(require("./generic/compositeKey"), exports);
|
|
46
46
|
__exportStar(require("./generic/authEvaluator"), exports);
|
|
47
47
|
__exportStar(require("./generic/metadataUtil"), exports);
|
|
48
|
+
__exportStar(require("./generic/authTypes"), exports);
|
|
48
49
|
__exportStar(require("./generic/databaseProviderBase"), exports);
|
|
49
50
|
function SetProvider(provider) {
|
|
50
51
|
metadata_1.Metadata.Provider = provider;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,iDAA8C;AAC9C,iDAA8C;AAC9C,mDAAgD;AAChD,6CAA0C;AAE1C,qDAAmC;AACnC,qDAAmC;AACnC,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AACrC,4DAA0C;AAC1C,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,6DAA2C;AAC3C,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,4DAA0C;AAC1C,6EAA2D;AAC3D,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,mEAAiD;AACjD,yDAAuC;AACvC,0DAAwC;AACxC,yDAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,iDAA8C;AAC9C,iDAA8C;AAC9C,mDAAgD;AAChD,6CAA0C;AAE1C,qDAAmC;AACnC,qDAAmC;AACnC,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AACrC,4DAA0C;AAC1C,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,6DAA2C;AAC3C,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,4DAA0C;AAC1C,6EAA2D;AAC3D,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,mEAAiD;AACjD,yDAAuC;AACvC,0DAAwC;AACxC,yDAAuC;AACvC,sDAAoC;AAEpC,iEAA+C;AAE/C,SAAgB,WAAW,CAAC,QAAQ;IAChC,mBAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,uBAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,iBAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,qBAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,mBAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,CAAC;AAND,kCAMC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.91.0",
|
|
4
4
|
"description": "MemberJunction: Core Library including Metadata, Application, Entity Retrieval and Manipulation, and Utilities",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"@types/debug": "^4.1.12"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@memberjunction/global": "2.
|
|
23
|
+
"@memberjunction/global": "2.91.0",
|
|
24
24
|
"rxjs": "^7.8.1",
|
|
25
25
|
"zod": "^3.23.8",
|
|
26
26
|
"debug": "^4.4.0"
|