@dereekb/firebase-server 14.0.1 → 14.2.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/calcom/index.esm.js +3 -2
- package/calcom/package.json +11 -10
- package/calcom/src/lib/calcom.oauth.connection.service.d.ts +2 -2
- package/discord/index.esm.js +174 -19
- package/discord/package.json +11 -10
- package/discord/src/lib/discord.oauth.connection.config.d.ts +43 -2
- package/discord/src/lib/discord.oauth.connection.module.d.ts +18 -1
- package/discord/src/lib/discord.oauth.connection.service.d.ts +40 -3
- package/index.esm.js +9 -1
- package/mailgun/package.json +10 -9
- package/mcp/package.json +12 -11
- package/model/index.esm.js +5182 -2369
- package/model/package.json +10 -9
- package/model/src/lib/userexternalconnection/index.d.ts +2 -0
- package/model/src/lib/userexternalconnection/oauth/index.d.ts +1 -0
- package/model/src/lib/userexternalconnection/oauth/userexternalconnection.oauth.config.d.ts +51 -0
- package/model/src/lib/userexternalconnection/oauth/userexternalconnection.oauth.controller.d.ts +49 -0
- package/model/src/lib/userexternalconnection/oauth/userexternalconnection.oauth.refresh.d.ts +35 -0
- package/model/src/lib/userexternalconnection/oauth/userexternalconnection.oauth.service.d.ts +300 -7
- package/model/src/lib/userexternalconnection/oauth/userexternalconnection.oauth.state.d.ts +213 -12
- package/model/src/lib/userexternalconnection/oauth/userexternalconnection.oauth.throttle.d.ts +81 -0
- package/model/src/lib/userexternalconnection/userexternalconnection.action.server.d.ts +214 -1
- package/model/src/lib/userexternalconnection/userexternalconnection.error.d.ts +118 -5
- package/model/src/lib/userexternalconnection/userexternalconnection.module.d.ts +52 -2
- package/model/src/lib/userexternalconnection/userexternalconnection.policy.d.ts +117 -0
- package/model/src/lib/userexternalconnection/userexternalconnection.signin.d.ts +286 -0
- package/oidc/package.json +11 -10
- package/package.json +12 -12
- package/src/lib/auth/auth.service.d.ts +26 -0
- package/test/package.json +12 -11
- package/twilio/package.json +9 -8
- package/zoho/index.esm.js +3 -2
- package/zoho/package.json +11 -10
- package/zoho/src/lib/zoho.oauth.connection.service.d.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "14.0
|
|
3
|
+
"version": "14.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": {
|
|
@@ -58,17 +58,17 @@
|
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"@cantoo/pdf-lib": "^2.6.5",
|
|
61
|
-
"@dereekb/analytics": "14.0
|
|
62
|
-
"@dereekb/calcom": "14.0
|
|
63
|
-
"@dereekb/date": "14.0
|
|
64
|
-
"@dereekb/dbx-core": "14.0
|
|
65
|
-
"@dereekb/discord": "14.0
|
|
66
|
-
"@dereekb/firebase": "14.0
|
|
67
|
-
"@dereekb/model": "14.0
|
|
68
|
-
"@dereekb/nestjs": "14.0
|
|
69
|
-
"@dereekb/rxjs": "14.0
|
|
70
|
-
"@dereekb/util": "14.0
|
|
71
|
-
"@dereekb/zoho": "14.0
|
|
61
|
+
"@dereekb/analytics": "14.2.0",
|
|
62
|
+
"@dereekb/calcom": "14.2.0",
|
|
63
|
+
"@dereekb/date": "14.2.0",
|
|
64
|
+
"@dereekb/dbx-core": "14.2.0",
|
|
65
|
+
"@dereekb/discord": "14.2.0",
|
|
66
|
+
"@dereekb/firebase": "14.2.0",
|
|
67
|
+
"@dereekb/model": "14.2.0",
|
|
68
|
+
"@dereekb/nestjs": "14.2.0",
|
|
69
|
+
"@dereekb/rxjs": "14.2.0",
|
|
70
|
+
"@dereekb/util": "14.2.0",
|
|
71
|
+
"@dereekb/zoho": "14.2.0",
|
|
72
72
|
"@google-cloud/firestore": "^7.11.6",
|
|
73
73
|
"@google-cloud/storage": "^7.22.0",
|
|
74
74
|
"@modelcontextprotocol/node": "2.0.0",
|
|
@@ -167,6 +167,31 @@ export interface FirebaseServerAuthUserContext extends FirebaseServerAuthUserIde
|
|
|
167
167
|
* Removes all custom claims from the user.
|
|
168
168
|
*/
|
|
169
169
|
clearClaims(): Promise<void>;
|
|
170
|
+
/**
|
|
171
|
+
* Mints a short-lived Firebase Auth custom token the client exchanges via `signInWithCustomToken`.
|
|
172
|
+
*
|
|
173
|
+
* This is how a sign-in performed OUTSIDE Firebase Auth — a third-party OAuth provider Firebase has
|
|
174
|
+
* no native provider for — is bridged back into it: the server authenticates the user against the
|
|
175
|
+
* provider, resolves them to a uid, and mints a token for that uid. The alternative (a generic
|
|
176
|
+
* OIDC/SAML provider) requires the one-way Identity Platform upgrade, which this workspace avoids.
|
|
177
|
+
*
|
|
178
|
+
* ## Two operational notes
|
|
179
|
+
*
|
|
180
|
+
* 1. `createCustomToken` NESTS the developer claims under a `claims` key inside the unexchanged JWT
|
|
181
|
+
* (see `decodeEncodedCreateCustomTokenResult()` in `@dereekb/firebase-server/test`). This is only
|
|
182
|
+
* a property of the token BEFORE it is exchanged — after `signInWithCustomToken`, Firebase spreads
|
|
183
|
+
* them to the top level of the ID token, where security rules read them. Do not pre-flatten.
|
|
184
|
+
* 2. Minting requires `iam.serviceAccounts.signBlob` (the Service Account Token Creator role) when
|
|
185
|
+
* the Admin SDK runs on default credentials rather than an explicit key file. The Auth emulator
|
|
186
|
+
* does not check this, so the standard failure mode is "works locally, 403s in production".
|
|
187
|
+
*
|
|
188
|
+
* The user's STORED custom claims are applied by Firebase on exchange regardless of this argument;
|
|
189
|
+
* `claims` here adds one-off claims to this sign-in only, and does not persist anything.
|
|
190
|
+
*
|
|
191
|
+
* @param claims - Optional additional claims to embed in this token.
|
|
192
|
+
* @returns The custom token to hand to the client.
|
|
193
|
+
*/
|
|
194
|
+
mintCustomToken<T extends AuthClaimsObject = AuthClaimsObject>(claims?: Maybe<AuthClaimsUpdate<T>>): Promise<string>;
|
|
170
195
|
}
|
|
171
196
|
/**
|
|
172
197
|
* Base implementation of {@link FirebaseServerAuthUserContext} that manages a single user's
|
|
@@ -247,6 +272,7 @@ export declare abstract class AbstractFirebaseServerAuthUserContext<S extends Fi
|
|
|
247
272
|
updateClaims<T extends AuthClaimsObject = AuthClaimsObject>(claims: AuthClaimsUpdate<T>): Promise<void>;
|
|
248
273
|
clearClaims(): Promise<void>;
|
|
249
274
|
setClaims<T extends AuthClaimsObject = AuthClaimsObject>(claims: Maybe<AuthClaimsUpdate<T>>): Promise<void>;
|
|
275
|
+
mintCustomToken<T extends AuthClaimsObject = AuthClaimsObject>(claims?: Maybe<AuthClaimsUpdate<T>>): Promise<string>;
|
|
250
276
|
}
|
|
251
277
|
/**
|
|
252
278
|
* Read-only auth context derived from a Firebase callable function request.
|
package/test/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "14.0
|
|
3
|
+
"version": "14.2.0",
|
|
4
|
+
"sideEffects": false,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"peerDependencies": {
|
|
6
|
-
"@dereekb/analytics": "14.0
|
|
7
|
-
"@dereekb/date": "14.0
|
|
8
|
-
"@dereekb/firebase": "14.0
|
|
9
|
-
"@dereekb/firebase-server": "14.0
|
|
10
|
-
"@dereekb/firebase-server/oidc": "14.0
|
|
11
|
-
"@dereekb/model": "14.0
|
|
12
|
-
"@dereekb/nestjs": "14.0
|
|
13
|
-
"@dereekb/rxjs": "14.0
|
|
14
|
-
"@dereekb/util": "14.0
|
|
7
|
+
"@dereekb/analytics": "14.2.0",
|
|
8
|
+
"@dereekb/date": "14.2.0",
|
|
9
|
+
"@dereekb/firebase": "14.2.0",
|
|
10
|
+
"@dereekb/firebase-server": "14.2.0",
|
|
11
|
+
"@dereekb/firebase-server/oidc": "14.2.0",
|
|
12
|
+
"@dereekb/model": "14.2.0",
|
|
13
|
+
"@dereekb/nestjs": "14.2.0",
|
|
14
|
+
"@dereekb/rxjs": "14.2.0",
|
|
15
|
+
"@dereekb/util": "14.2.0",
|
|
15
16
|
"@google-cloud/firestore": "^7.11.6",
|
|
16
17
|
"@google-cloud/storage": "^7.22.0",
|
|
17
18
|
"@nestjs/common": "^12.0.1",
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
"supertest": "^7.2.2"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
|
-
"@dereekb/nestjs": "14.0
|
|
28
|
+
"@dereekb/nestjs": "14.2.0"
|
|
28
29
|
},
|
|
29
30
|
"exports": {
|
|
30
31
|
"./package.json": "./package.json",
|
package/twilio/package.json
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/twilio",
|
|
3
|
-
"version": "14.0
|
|
3
|
+
"version": "14.2.0",
|
|
4
|
+
"sideEffects": false,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"peerDependencies": {
|
|
6
|
-
"@dereekb/date": "14.0
|
|
7
|
-
"@dereekb/firebase": "14.0
|
|
8
|
-
"@dereekb/firebase-server": "14.0
|
|
9
|
-
"@dereekb/model": "14.0
|
|
10
|
-
"@dereekb/nestjs": "14.0
|
|
11
|
-
"@dereekb/rxjs": "14.0
|
|
12
|
-
"@dereekb/util": "14.0
|
|
7
|
+
"@dereekb/date": "14.2.0",
|
|
8
|
+
"@dereekb/firebase": "14.2.0",
|
|
9
|
+
"@dereekb/firebase-server": "14.2.0",
|
|
10
|
+
"@dereekb/model": "14.2.0",
|
|
11
|
+
"@dereekb/nestjs": "14.2.0",
|
|
12
|
+
"@dereekb/rxjs": "14.2.0",
|
|
13
|
+
"@dereekb/util": "14.2.0"
|
|
13
14
|
},
|
|
14
15
|
"exports": {
|
|
15
16
|
"./package.json": "./package.json",
|
package/zoho/index.esm.js
CHANGED
|
@@ -1060,9 +1060,10 @@ function _type_of$1(obj) {
|
|
|
1060
1060
|
_create_class(ZohoUserExternalConnectionOAuthService, [
|
|
1061
1061
|
{
|
|
1062
1062
|
key: "authorizeUrlForState",
|
|
1063
|
-
value: function authorizeUrlForState(
|
|
1063
|
+
value: function authorizeUrlForState(input) {
|
|
1064
|
+
// Zoho's authorize URL takes no PKCE challenge, so `input.codeChallenge` is deliberately unused
|
|
1064
1065
|
return this.authorizeUrlFactory({
|
|
1065
|
-
state: state
|
|
1066
|
+
state: input.state
|
|
1066
1067
|
});
|
|
1067
1068
|
}
|
|
1068
1069
|
},
|
package/zoho/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/zoho",
|
|
3
|
-
"version": "14.0
|
|
3
|
+
"version": "14.2.0",
|
|
4
|
+
"sideEffects": false,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"peerDependencies": {
|
|
6
|
-
"@dereekb/analytics": "14.0
|
|
7
|
-
"@dereekb/date": "14.0
|
|
8
|
-
"@dereekb/model": "14.0
|
|
9
|
-
"@dereekb/nestjs": "14.0
|
|
10
|
-
"@dereekb/rxjs": "14.0
|
|
11
|
-
"@dereekb/firebase": "14.0
|
|
12
|
-
"@dereekb/firebase-server": "14.0
|
|
13
|
-
"@dereekb/util": "14.0
|
|
14
|
-
"@dereekb/zoho": "14.0
|
|
7
|
+
"@dereekb/analytics": "14.2.0",
|
|
8
|
+
"@dereekb/date": "14.2.0",
|
|
9
|
+
"@dereekb/model": "14.2.0",
|
|
10
|
+
"@dereekb/nestjs": "14.2.0",
|
|
11
|
+
"@dereekb/rxjs": "14.2.0",
|
|
12
|
+
"@dereekb/firebase": "14.2.0",
|
|
13
|
+
"@dereekb/firebase-server": "14.2.0",
|
|
14
|
+
"@dereekb/util": "14.2.0",
|
|
15
|
+
"@dereekb/zoho": "14.2.0",
|
|
15
16
|
"@nestjs/common": "^12.0.1",
|
|
16
17
|
"@nestjs/config": "^12.0.0",
|
|
17
18
|
"express": "^5.2.1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ZohoAccountsApiUrl, type ZohoAccountsAuthorizeUrlFactory, type ZohoAccountsRefreshTokenFromAuthorizationCodeResponse, type ZohoAccountsUserInfoResponse } from '@dereekb/zoho';
|
|
2
2
|
import { ZohoAccountsOAuthApi } from '@dereekb/zoho/nestjs';
|
|
3
|
-
import { AbstractUserExternalConnectionOAuthService, UserExternalConnectionAccessor, UserExternalConnectionServerActions, UserExternalConnectionStateCoder, type UserExternalConnectionCredentials, type UserExternalConnectionOAuthCallbackQueryValues, type UserExternalConnectionOAuthExchangeInput, type UserExternalConnectionOAuthRefreshCredentialsInput, type
|
|
3
|
+
import { AbstractUserExternalConnectionOAuthService, UserExternalConnectionAccessor, UserExternalConnectionServerActions, UserExternalConnectionStateCoder, type UserExternalConnectionCredentials, type UserExternalConnectionOAuthCallbackQueryValues, type UserExternalConnectionOAuthExchangeInput, type UserExternalConnectionOAuthRefreshCredentialsInput, type UserExternalConnectionOAuthAuthorizeUrlInput } from '@dereekb/firebase-server/model';
|
|
4
4
|
import { type Maybe, type WebsiteUrl } from '@dereekb/util';
|
|
5
5
|
import { ZohoUserExternalConnectionOAuthServiceConfig } from './zoho.oauth.connection.config';
|
|
6
6
|
/**
|
|
@@ -80,7 +80,7 @@ export declare class ZohoUserExternalConnectionOAuthService extends AbstractUser
|
|
|
80
80
|
*/
|
|
81
81
|
readonly accountsApiUrl: ZohoAccountsApiUrl;
|
|
82
82
|
constructor(config: ZohoUserExternalConnectionOAuthServiceConfig, stateCoder: UserExternalConnectionStateCoder, userExternalConnectionActions: UserExternalConnectionServerActions, userExternalConnectionAccessor: UserExternalConnectionAccessor, oauthApi: ZohoAccountsOAuthApi);
|
|
83
|
-
protected authorizeUrlForState(
|
|
83
|
+
protected authorizeUrlForState(input: UserExternalConnectionOAuthAuthorizeUrlInput): WebsiteUrl;
|
|
84
84
|
protected credentialsForAuthorizationCode(input: UserExternalConnectionOAuthExchangeInput): Promise<UserExternalConnectionCredentials>;
|
|
85
85
|
refreshCredentials(input: UserExternalConnectionOAuthRefreshCredentialsInput): Promise<UserExternalConnectionCredentials>;
|
|
86
86
|
/**
|