@google/gemini-cli-core 0.58.0-preview.0 → 0.59.0-nightly.20260827.g3c311beac
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/docs/changelogs/preview.md +30 -78
- package/dist/google-gemini-cli-core-0.59.0-nightly.20260825.g812f7a2bc.tgz +0 -0
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +33 -11
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +35 -2
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +36 -3
- package/dist/src/mcp/oauth-utils.js +153 -17
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +106 -1
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/utils/oauth-flow.js +15 -2
- package/dist/src/utils/oauth-flow.js.map +1 -1
- package/dist/src/utils/oauth-flow.test.js +25 -0
- package/dist/src/utils/oauth-flow.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Preview release: v0.
|
|
1
|
+
# Preview release: v0.58.0-preview.0
|
|
2
2
|
|
|
3
|
-
Released: August
|
|
3
|
+
Released: August 25, 2026
|
|
4
4
|
|
|
5
5
|
Our preview release includes the latest, new, and experimental features. This
|
|
6
6
|
release may not be as stable as our [latest weekly release](latest.md).
|
|
@@ -13,85 +13,37 @@ npm install -g @google/gemini-cli@preview
|
|
|
13
13
|
|
|
14
14
|
## Highlights
|
|
15
15
|
|
|
16
|
-
- **
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- **
|
|
21
|
-
|
|
22
|
-
- **
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
- **Sub-agent & Guardrail Fixes**: Formatted the `cli_help` subagent output as
|
|
27
|
-
Markdown, prevented subagents from running when agents mode is disabled, and
|
|
28
|
-
resolved a subagent handoff token regression on startup.
|
|
16
|
+
- **Sandbox Security Enhancements**: Isolated Docker and container runtime
|
|
17
|
+
sockets and binaries in macOS Seatbelt to improve sandbox safety.
|
|
18
|
+
- **Core Path Resolution Fixes**: Ensured consistent symlink evaluation in
|
|
19
|
+
ignore path handling within core services.
|
|
20
|
+
- **History & Retry Optimizations**: Enhanced history rollback and optimized
|
|
21
|
+
retry nudges for smoother session management.
|
|
22
|
+
- **A2A Server Resilience**: Cleared stale cancellation errors on new message
|
|
23
|
+
turns to prevent incorrect error states.
|
|
24
|
+
- **Write Policy & Safety Improvements**: Declared top-level safety checkers in
|
|
25
|
+
the write policy configuration to strengthen execution guardrails.
|
|
29
26
|
|
|
30
27
|
## What's Changed
|
|
31
28
|
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- fix(core): resolve swallowed directory mismatch in IDE connections by
|
|
36
|
-
@amelidev in [#28729](https://github.com/google-gemini/gemini-cli/pull/28729)
|
|
37
|
-
- Feat/eval validate by @ved015 in
|
|
38
|
-
[#28344](https://github.com/google-gemini/gemini-cli/pull/28344)
|
|
39
|
-
- feat(evals): add tool call formatter and integrate failure summaries by
|
|
40
|
-
@ved015 in [#28305](https://github.com/google-gemini/gemini-cli/pull/28305)
|
|
41
|
-
- Changelog for v0.55.1 by @gemini-cli-robot in
|
|
42
|
-
[#28779](https://github.com/google-gemini/gemini-cli/pull/28779)
|
|
43
|
-
- test(e2e): stabilize file-system-interactive test on slow runners by
|
|
44
|
-
@DavidAPierce in
|
|
45
|
-
[#28793](https://github.com/google-gemini/gemini-cli/pull/28793)
|
|
46
|
-
- fix(core): implement context-aware silent retries and availability TTL for
|
|
47
|
-
capacity errors (#28761) by @DavidAPierce in
|
|
48
|
-
[#28790](https://github.com/google-gemini/gemini-cli/pull/28790)
|
|
49
|
-
- fix(core): rollback entire multi-turn request on cancellation or abort by
|
|
50
|
-
@amelidev in [#28801](https://github.com/google-gemini/gemini-cli/pull/28801)
|
|
51
|
-
- fix(core): normalize git environment and resolve workspace state mismatch by
|
|
29
|
+
- Changelog for v0.57.0-preview.0 by @gemini-cli-robot in
|
|
30
|
+
[#28918](https://github.com/google-gemini/gemini-cli/pull/28918)
|
|
31
|
+
- fix(core): ensure consistent symlink evaluation in ignore path handling by
|
|
52
32
|
@luisfelipe-alt in
|
|
53
|
-
[#
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
[#
|
|
57
|
-
-
|
|
58
|
-
@
|
|
59
|
-
[#
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
timeouts by @joneba-google in
|
|
68
|
-
[#28812](https://github.com/google-gemini/gemini-cli/pull/28812)
|
|
69
|
-
- [SSR Agent] Issue Fix (19239): Update /clear command docs to include context
|
|
70
|
-
reset by @joneba-google in
|
|
71
|
-
[#28847](https://github.com/google-gemini/gemini-cli/pull/28847)
|
|
72
|
-
- [SSR Agent] Issue Fix (24587): Fix misleading admin error for personal
|
|
73
|
-
accounts by @joneba-google in
|
|
74
|
-
[#28819](https://github.com/google-gemini/gemini-cli/pull/28819)
|
|
75
|
-
- [SSR Agent] Issue Fix (19463): Format cli_help subagent output as markdown by
|
|
76
|
-
@joneba-google in
|
|
77
|
-
[#28864](https://github.com/google-gemini/gemini-cli/pull/28864)
|
|
78
|
-
- [SSR Agent] Issue Fix (28050): Add Vertex AI locations documentation link by
|
|
79
|
-
@joneba-google in
|
|
80
|
-
[#28865](https://github.com/google-gemini/gemini-cli/pull/28865)
|
|
81
|
-
- [SSR Agent] Issue Fix (22093): Prevent subagents from running when agents mode
|
|
82
|
-
is disabled by @joneba-google in
|
|
83
|
-
[#28867](https://github.com/google-gemini/gemini-cli/pull/28867)
|
|
84
|
-
- [SSR Agent] Issue Fix (23954): Add trailing space to autocomplete suggestions
|
|
85
|
-
by @joneba-google in
|
|
86
|
-
[#28868](https://github.com/google-gemini/gemini-cli/pull/28868)
|
|
87
|
-
- [SSR Agent] Issue Fix (24935): Force terminal buffer rerender after exiting
|
|
88
|
-
external editors by @joneba-google in
|
|
89
|
-
[#28880](https://github.com/google-gemini/gemini-cli/pull/28880)
|
|
90
|
-
- [SSR Agent] Issue Fix (28518): Fix sub-agent handoff token regression on
|
|
91
|
-
startup by @joneba-google in
|
|
92
|
-
[#28882](https://github.com/google-gemini/gemini-cli/pull/28882)
|
|
93
|
-
- fix(core): preserve empty text turns with tools or media by @DavidAPierce in
|
|
94
|
-
[#28892](https://github.com/google-gemini/gemini-cli/pull/28892)
|
|
33
|
+
[#28915](https://github.com/google-gemini/gemini-cli/pull/28915)
|
|
34
|
+
- refactor(core): remove eslint-disable and type-asserts from
|
|
35
|
+
shellExecutionService by @DavidAPierce in
|
|
36
|
+
[#28862](https://github.com/google-gemini/gemini-cli/pull/28862)
|
|
37
|
+
- fix(sandbox): isolate Docker and container runtime sockets and binaries in
|
|
38
|
+
macOS Seatbelt by @josebalius in
|
|
39
|
+
[#28935](https://github.com/google-gemini/gemini-cli/pull/28935)
|
|
40
|
+
- fix(a2a-server): clear stale cancellation error on new message turns by
|
|
41
|
+
@amelidev in [#28940](https://github.com/google-gemini/gemini-cli/pull/28940)
|
|
42
|
+
- fix(core): declare top-level safety checkers in write policy configuration by
|
|
43
|
+
@luisfelipe-alt in
|
|
44
|
+
[#28961](https://github.com/google-gemini/gemini-cli/pull/28961)
|
|
45
|
+
- (FIX) history rollback and retry nudge optimizations by @DavidAPierce in
|
|
46
|
+
[#28934](https://github.com/google-gemini/gemini-cli/pull/28934)
|
|
95
47
|
|
|
96
48
|
**Full Changelog**:
|
|
97
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
49
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.57.0-preview.1...v0.58.0-preview.0
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export declare const GIT_COMMIT_INFO = "
|
|
7
|
-
export declare const CLI_VERSION = "0.
|
|
6
|
+
export declare const GIT_COMMIT_INFO = "3c311beac";
|
|
7
|
+
export declare const CLI_VERSION = "0.59.0-nightly.20260827.g3c311beac";
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
// This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
|
|
7
7
|
// Do not edit this file manually.
|
|
8
|
-
export const GIT_COMMIT_INFO = '
|
|
9
|
-
export const CLI_VERSION = '0.
|
|
8
|
+
export const GIT_COMMIT_INFO = '3c311beac';
|
|
9
|
+
export const CLI_VERSION = '0.59.0-nightly.20260827.g3c311beac';
|
|
10
10
|
//# sourceMappingURL=git-commit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -182,8 +182,8 @@ export { MCPOAuthProvider } from './mcp/oauth-provider.js';
|
|
|
182
182
|
export type { OAuthToken, OAuthCredentials, } from './mcp/token-storage/types.js';
|
|
183
183
|
export { MCPOAuthTokenStorage } from './mcp/oauth-token-storage.js';
|
|
184
184
|
export type { MCPOAuthConfig } from './mcp/oauth-provider.js';
|
|
185
|
-
export type { OAuthAuthorizationServerMetadata, OAuthProtectedResourceMetadata, } from './mcp/oauth-utils.js';
|
|
186
|
-
export { OAuthUtils } from './mcp/oauth-utils.js';
|
|
185
|
+
export type { OAuthAuthorizationServerMetadata, OAuthProtectedResourceMetadata, OAuthUrlValidationOptions, } from './mcp/oauth-utils.js';
|
|
186
|
+
export { OAuthUtils, OAuthSecurityError, isLoopbackUrl, validateOAuthEndpointUrl, } from './mcp/oauth-utils.js';
|
|
187
187
|
export * from './telemetry/index.js';
|
|
188
188
|
export * from './telemetry/billingEvents.js';
|
|
189
189
|
export { logBillingEvent } from './telemetry/loggers.js';
|
package/dist/src/index.js
CHANGED
|
@@ -196,7 +196,7 @@ export * from './tools/ask-user.js';
|
|
|
196
196
|
// MCP OAuth
|
|
197
197
|
export { MCPOAuthProvider } from './mcp/oauth-provider.js';
|
|
198
198
|
export { MCPOAuthTokenStorage } from './mcp/oauth-token-storage.js';
|
|
199
|
-
export { OAuthUtils } from './mcp/oauth-utils.js';
|
|
199
|
+
export { OAuthUtils, OAuthSecurityError, isLoopbackUrl, validateOAuthEndpointUrl, } from './mcp/oauth-utils.js';
|
|
200
200
|
// Export telemetry functions
|
|
201
201
|
export * from './telemetry/index.js';
|
|
202
202
|
export * from './telemetry/billingEvents.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { URL } from 'node:url';
|
|
|
8
8
|
import { openBrowserSecurely } from '../utils/secure-browser-launcher.js';
|
|
9
9
|
import { MCPOAuthTokenStorage } from './oauth-token-storage.js';
|
|
10
10
|
import { getErrorMessage, FatalCancellationError } from '../utils/errors.js';
|
|
11
|
-
import { OAuthUtils, ResourceMismatchError } from './oauth-utils.js';
|
|
11
|
+
import { OAuthUtils, ResourceMismatchError, OAuthSecurityError, isLoopbackUrl, validateOAuthEndpointUrl, } from './oauth-utils.js';
|
|
12
12
|
import { coreEvents } from '../utils/events.js';
|
|
13
13
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
14
14
|
import { getConsentForOauth } from '../utils/authConsent.js';
|
|
@@ -29,7 +29,13 @@ export class MCPOAuthProvider {
|
|
|
29
29
|
* @param redirectPort The port to use for the redirect URI
|
|
30
30
|
* @returns The registered client information
|
|
31
31
|
*/
|
|
32
|
-
async registerClient(registrationUrl, config, redirectPort) {
|
|
32
|
+
async registerClient(registrationUrl, config, redirectPort, mcpServerUrl) {
|
|
33
|
+
const allowLoopback = mcpServerUrl
|
|
34
|
+
? isLoopbackUrl(mcpServerUrl)
|
|
35
|
+
: isLoopbackUrl(registrationUrl);
|
|
36
|
+
const validatedRegistrationUrl = await validateOAuthEndpointUrl(registrationUrl, {
|
|
37
|
+
allowLoopback,
|
|
38
|
+
});
|
|
33
39
|
const redirectUri = getRedirectUri(config, redirectPort);
|
|
34
40
|
const registrationRequest = {
|
|
35
41
|
client_name: 'Gemini CLI MCP Client',
|
|
@@ -39,7 +45,7 @@ export class MCPOAuthProvider {
|
|
|
39
45
|
token_endpoint_auth_method: 'none', // Public client
|
|
40
46
|
scope: config.scopes?.join(' ') || '',
|
|
41
47
|
};
|
|
42
|
-
const response = await fetch(
|
|
48
|
+
const response = await fetch(validatedRegistrationUrl, {
|
|
43
49
|
method: 'POST',
|
|
44
50
|
headers: {
|
|
45
51
|
'Content-Type': 'application/json',
|
|
@@ -63,7 +69,10 @@ export class MCPOAuthProvider {
|
|
|
63
69
|
// Use the full URL with path preserved for OAuth discovery
|
|
64
70
|
return OAuthUtils.discoverOAuthConfig(mcpServerUrl);
|
|
65
71
|
}
|
|
66
|
-
async discoverAuthServerMetadataForRegistration(issuer) {
|
|
72
|
+
async discoverAuthServerMetadataForRegistration(issuer, mcpServerUrl) {
|
|
73
|
+
const allowLoopback = mcpServerUrl
|
|
74
|
+
? isLoopbackUrl(mcpServerUrl)
|
|
75
|
+
: isLoopbackUrl(issuer);
|
|
67
76
|
const authUrl = new URL(issuer);
|
|
68
77
|
// Preserve path components for issuers with path-based discovery (e.g., Keycloak)
|
|
69
78
|
// Extract issuer by removing the OIDC protocol-specific path suffix
|
|
@@ -100,11 +109,11 @@ export class MCPOAuthProvider {
|
|
|
100
109
|
const attemptedIssuers = Array.from(issuerCandidates);
|
|
101
110
|
let selectedIssuer = attemptedIssuers[0];
|
|
102
111
|
let discoveredMetadata = null;
|
|
103
|
-
for (const
|
|
104
|
-
debugLogger.debug(` Trying issuer URL: ${
|
|
105
|
-
const metadata = await OAuthUtils.discoverAuthorizationServerMetadata(
|
|
112
|
+
for (const issuerCandidate of attemptedIssuers) {
|
|
113
|
+
debugLogger.debug(` Trying issuer URL: ${issuerCandidate}`);
|
|
114
|
+
const metadata = await OAuthUtils.discoverAuthorizationServerMetadata(issuerCandidate, { allowLoopback });
|
|
106
115
|
if (metadata) {
|
|
107
|
-
selectedIssuer =
|
|
116
|
+
selectedIssuer = issuerCandidate;
|
|
108
117
|
discoveredMetadata = metadata;
|
|
109
118
|
break;
|
|
110
119
|
}
|
|
@@ -202,7 +211,8 @@ export class MCPOAuthProvider {
|
|
|
202
211
|
}
|
|
203
212
|
catch (error) {
|
|
204
213
|
// Re-throw security validation errors
|
|
205
|
-
if (error instanceof ResourceMismatchError
|
|
214
|
+
if (error instanceof ResourceMismatchError ||
|
|
215
|
+
error instanceof OAuthSecurityError) {
|
|
206
216
|
throw error;
|
|
207
217
|
}
|
|
208
218
|
debugLogger.debug(`Failed to check endpoint for authentication requirements: ${getErrorMessage(error)}`);
|
|
@@ -250,12 +260,12 @@ export class MCPOAuthProvider {
|
|
|
250
260
|
throw new Error('Cannot perform dynamic registration without issuer');
|
|
251
261
|
}
|
|
252
262
|
debugLogger.debug('→ Attempting dynamic client registration...');
|
|
253
|
-
const { metadata: authServerMetadata } = await this.discoverAuthServerMetadataForRegistration(config.issuer);
|
|
263
|
+
const { metadata: authServerMetadata } = await this.discoverAuthServerMetadataForRegistration(config.issuer, mcpServerUrl);
|
|
254
264
|
registrationUrl = authServerMetadata.registration_endpoint;
|
|
255
265
|
}
|
|
256
266
|
// Register client if registration endpoint is available
|
|
257
267
|
if (registrationUrl) {
|
|
258
|
-
const clientRegistration = await this.registerClient(registrationUrl, config, redirectPort);
|
|
268
|
+
const clientRegistration = await this.registerClient(registrationUrl, config, redirectPort, mcpServerUrl);
|
|
259
269
|
config.clientId = clientRegistration.client_id;
|
|
260
270
|
if (clientRegistration.client_secret) {
|
|
261
271
|
config.clientSecret = clientRegistration.client_secret;
|
|
@@ -270,6 +280,18 @@ export class MCPOAuthProvider {
|
|
|
270
280
|
if (!config.clientId || !config.authorizationUrl || !config.tokenUrl) {
|
|
271
281
|
throw new Error('Missing required OAuth configuration after discovery and registration');
|
|
272
282
|
}
|
|
283
|
+
const allowLoopback = mcpServerUrl
|
|
284
|
+
? isLoopbackUrl(mcpServerUrl)
|
|
285
|
+
: (config.authorizationUrl
|
|
286
|
+
? isLoopbackUrl(config.authorizationUrl)
|
|
287
|
+
: false) ||
|
|
288
|
+
(config.tokenUrl ? isLoopbackUrl(config.tokenUrl) : false);
|
|
289
|
+
await validateOAuthEndpointUrl(config.authorizationUrl, {
|
|
290
|
+
allowLoopback,
|
|
291
|
+
});
|
|
292
|
+
await validateOAuthEndpointUrl(config.tokenUrl, {
|
|
293
|
+
allowLoopback,
|
|
294
|
+
});
|
|
273
295
|
// Build flow config for shared utilities
|
|
274
296
|
const flowConfig = {
|
|
275
297
|
clientId: config.clientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-provider.js","sourceRoot":"","sources":["../../../src/mcp/oauth-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauth-provider.js","sourceRoot":"","sources":["../../../src/mcp/oauth-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,11 @@ vi.mock('node:readline', () => ({
|
|
|
52
52
|
}));
|
|
53
53
|
import * as http from 'node:http';
|
|
54
54
|
import * as crypto from 'node:crypto';
|
|
55
|
+
import * as dnsPromises from 'node:dns/promises';
|
|
56
|
+
import ipaddr from 'ipaddr.js';
|
|
57
|
+
vi.mock('node:dns/promises', () => ({
|
|
58
|
+
lookup: vi.fn(),
|
|
59
|
+
}));
|
|
55
60
|
import { MCPOAuthProvider, } from './oauth-provider.js';
|
|
56
61
|
import { getConsentForOauth } from '../utils/authConsent.js';
|
|
57
62
|
import { MCPOAuthTokenStorage } from './oauth-token-storage.js';
|
|
@@ -133,6 +138,12 @@ describe('MCPOAuthProvider', () => {
|
|
|
133
138
|
vi.spyOn(console, 'log').mockImplementation(() => { });
|
|
134
139
|
vi.spyOn(console, 'warn').mockImplementation(() => { });
|
|
135
140
|
vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
141
|
+
vi.mocked(dnsPromises.lookup).mockImplementation(async (hostname) => {
|
|
142
|
+
if (ipaddr.isValid(hostname)) {
|
|
143
|
+
return [{ address: hostname, family: hostname.includes(':') ? 6 : 4 }];
|
|
144
|
+
}
|
|
145
|
+
return [{ address: '93.184.216.34', family: 4 }];
|
|
146
|
+
});
|
|
136
147
|
// Mock crypto functions
|
|
137
148
|
vi.mocked(crypto.randomBytes).mockImplementation((size) => {
|
|
138
149
|
if (size === 32)
|
|
@@ -1545,8 +1556,8 @@ describe('MCPOAuthProvider', () => {
|
|
|
1545
1556
|
});
|
|
1546
1557
|
const result = await providerWithAccess.discoverAuthServerMetadataForRegistration('http://localhost:8888/realms/my-realm/protocol/openid-connect/auth');
|
|
1547
1558
|
expect(vi.mocked(OAuthUtils.discoverAuthorizationServerMetadata).mock.calls).toEqual([
|
|
1548
|
-
['http://localhost:8888'],
|
|
1549
|
-
['http://localhost:8888/realms/my-realm'],
|
|
1559
|
+
['http://localhost:8888', { allowLoopback: true }],
|
|
1560
|
+
['http://localhost:8888/realms/my-realm', { allowLoopback: true }],
|
|
1550
1561
|
]);
|
|
1551
1562
|
expect(result.issuerUrl).toBe('http://localhost:8888/realms/my-realm');
|
|
1552
1563
|
expect(result.metadata).toBe(registrationMetadata);
|
|
@@ -1578,5 +1589,27 @@ describe('MCPOAuthProvider', () => {
|
|
|
1578
1589
|
expect(result.metadata).toBe(oktaMetadata);
|
|
1579
1590
|
});
|
|
1580
1591
|
});
|
|
1592
|
+
describe('remote MCP server loopback restriction enforcement', () => {
|
|
1593
|
+
it('rejects dynamic client registration to loopback when mcpServerUrl is remote', async () => {
|
|
1594
|
+
const authProvider = new MCPOAuthProvider();
|
|
1595
|
+
const providerWithAccess = authProvider;
|
|
1596
|
+
await expect(providerWithAccess.registerClient('http://127.0.0.1:18080/register', mockConfig, 7777, 'https://remote-mcp.example.com')).rejects.toThrow();
|
|
1597
|
+
});
|
|
1598
|
+
it('passes allowLoopback=false during metadata discovery when mcpServerUrl is remote', async () => {
|
|
1599
|
+
const authProvider = new MCPOAuthProvider();
|
|
1600
|
+
const providerWithAccess = authProvider;
|
|
1601
|
+
const spy = vi
|
|
1602
|
+
.spyOn(OAuthUtils, 'discoverAuthorizationServerMetadata')
|
|
1603
|
+
.mockResolvedValueOnce({
|
|
1604
|
+
issuer: 'https://remote-auth.example.com',
|
|
1605
|
+
authorization_endpoint: 'https://remote-auth.example.com/authorize',
|
|
1606
|
+
token_endpoint: 'https://remote-auth.example.com/token',
|
|
1607
|
+
});
|
|
1608
|
+
await providerWithAccess.discoverAuthServerMetadataForRegistration('https://remote-auth.example.com', 'https://remote-mcp.example.com');
|
|
1609
|
+
expect(spy).toHaveBeenCalledWith('https://remote-auth.example.com', {
|
|
1610
|
+
allowLoopback: false,
|
|
1611
|
+
});
|
|
1612
|
+
});
|
|
1613
|
+
});
|
|
1581
1614
|
});
|
|
1582
1615
|
//# sourceMappingURL=oauth-provider.test.js.map
|