Commit Graph

284 Commits

Author SHA1 Message Date
Tyler James Leonhardt
e3bbd5bb1d Fix MSAL Runtime telemetry not firing (#282595)
We were too strict. This should actually yield telemtry.

Fixes https://github.com/microsoft/vscode/issues/282593
2025-12-10 23:48:55 +00:00
dependabot[bot]
815f99e9a0 Bump jws from 3.2.2 to 3.2.3 in /extensions/microsoft-authentication (#282028) 2025-12-08 12:04:37 -08:00
Tyler James Leonhardt
80f75cffa0 Don't unregister built-in providers on 403 (#278890)
related to https://github.com/microsoft/vscode/issues/278875
2025-11-21 17:11:03 -08:00
Tyler James Leonhardt
4c96903608 Support brokering from Linux x64 and Intel Macs (#278689)
* Support Linux & Intel Macs

This grabs the native files directly since the ones at the root are not expected to work in our cases, namely Intel Mac where we use arm machines to build the x64 build.

* actually include macOS intel bits
2025-11-21 01:42:11 +00:00
Tyler James Leonhardt
134826b979 Start sending ClientAuthError telemetry for microsoft auth (#278643)
To better bucketize MSAL broker errors.
2025-11-20 12:27:10 -08:00
Copilot
c6464f84b9 Remove classic Microsoft authentication implementation (#276787)
* Initial plan

* Remove classic Microsoft authentication implementation

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Remove classic implementation

* extra space

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>
Co-authored-by: Tyler Leonhardt <tyleonha@microsoft.com>
2025-11-11 23:18:53 +00:00
Tyler James Leonhardt
a3fcd46091 Remove web worker support from microsoft-authentication extension (#276762)
* Initial plan

* Remove web worker support from microsoft-authentication extension

- Remove browser entry point from package.json
- Remove browser webpack configuration
- Remove browser-specific scripts (compile-web, watch-web)
- Remove src/browser/ directory with browser-specific implementations
- Remove ExtensionHost.WebWorker enum value
- Remove supportsWebWorkerExtensionHost flags from all flows
- Simplify authProvider.ts by removing web worker detection logic
- Remove web worker test case from flows.test.ts
- Successfully compiled with 0 errors

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* couple references

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-11-11 11:09:39 -08:00
Tyler James Leonhardt
bf0fa4c73f Finalize idToken API (#274464)
Fixes https://github.com/microsoft/vscode/issues/140929
2025-11-03 10:25:57 +01:00
Matt Bierner
f197aadde1 Fix output for microsoft-authentication
For #271167

All out of extensions normally target `out`. `dist` is for webpack
2025-10-13 16:52:33 -07:00
Tyler James Leonhardt
bcbd0b4a98 Remove quick pick flow for protocol handler (#270455)
Remove quick pick flow

Since we have device code flow, that's better.

ref https://github.com/microsoft/vscode/issues/270452
2025-10-08 18:20:16 -07:00
Tyler James Leonhardt
d751a3d55f Add device code flow when not brokered (#270453)
fixes https://github.com/microsoft/vscode/issues/270452
2025-10-08 16:49:23 -07:00
Tyler James Leonhardt
8845fc4b5c Remove any casts in auth extensions (#270089) 2025-10-06 12:28:27 -07:00
Matt Bierner
360c9fd134 Add lint rule for as any and bulk ignore all existing breaks
For #269213

This adds a new eslint rule for `as any` and `<any>({... })`. We'd like to remove almost all of these, however right now the first goal is to prevent them in new code. That's why with this first PR I simply add `eslint-disable` comments for all breaks

Trying to get this change in soon after branching off for release to hopefully minimize disruption during debt week work
2025-10-02 23:38:33 -07:00
Tyler James Leonhardt
d8c3a3263d Add redirect URI and update MSAL packages (#268939)
* Bump MSAL packages further

To hopefully fix bugs

* add redirect uri
2025-09-29 19:57:44 +00:00
Tyler James Leonhardt
383f4b59ce Bump MSAL node to assist non-broker flows (#268242)
This includes a bug fix on the MSAL side for non-broker flows.
2025-09-24 16:26:17 -07:00
Tyler James Leonhardt
bf0108fb1e Re-enable MSAL broker on macOS (#267833)
Fixes https://github.com/microsoft/vscode/issues/260158
2025-09-22 13:36:31 -07:00
Tyler James Leonhardt
3e2f34ebe8 Address API sync feedback for challenges API (#265921)
* Address API sync feedback for challenges API

* use `fallbackScopes` instead of `scopes`
* `WWW`-> `Www`

ref https://github.com/microsoft/vscode/issues/260156

* adopt the change
2025-09-09 17:05:43 -04:00
Matt Bierner
97b2c007cd Migrate fully of moduleResolution node10
Fixes #265420
2025-09-09 11:08:41 -07:00
Matt Bierner
46433f1a75 Fix ms auth compile error 2025-09-05 14:52:25 -07:00
Matt Bierner
c67f8834a7 Adding a few more ignoreDeprecations 2025-09-05 14:48:25 -07:00
Tyler James Leonhardt
7a4d034fc5 Disable macOS broker support due to blocking MSAL bug (#264954)
Sigh... Unfortunately, MSAL seems to fail for clients that don't have managed machines that have opted in to the broker... I have opened a blocking issue on them internally.

At least, when they fix it, it would just be a matter of updating the package version and the conditional here.
2025-09-03 17:30:49 +00:00
Tyler James Leonhardt
151a19f321 Only add the broker if it's available (#264785)
We shouldn't have to do this, but let's see if this resolves issues with users who don't have the broker installed.
2025-09-02 22:28:03 +00:00
Tyler James Leonhardt
70e7eae770 MSAL Redirect Funkiness (#264057)
Why do they do this to me...
2025-08-29 08:47:16 -10:00
Tyler James Leonhardt
54b39dc336 Typo in telemetry (#264041) 2025-08-29 16:50:45 +00:00
Copilot
f14ccecb1e Add support for Entra ID v1.0 authorization servers in VSCode MCP Client (#262603)
* Initial plan

* Add v1.0 Entra ID support and optimize MCP discovery for Microsoft endpoints

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Add tests for v1.0 authorization server support

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Address code review feedback: remove redundant tests and Microsoft-specific logic

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>
2025-08-29 12:21:53 +02:00
Tyler James Leonhardt
7e8f8e9230 Add new msal-no-broker implementation option to allow for getting rid of classic soon (#263966)
Also, removes the redirectUri from acquireTokenSilent because MSAL was throwing because of it.
2025-08-29 09:01:02 +02:00
Tyler James Leonhardt
2e43a0c0d6 Handle authority & redirectUri in acquireTokenByRefreshToken (#263958)
Handle authority in acquireTokenByRefreshToken

This fixes the migration logic for clients that that moving from MSAL to MSAL+Broker
2025-08-29 04:27:54 +00:00
Tyler James Leonhardt
5b25d491ca Add a log statement for acquireTokenSilent (#263951)
* Add a log statement for acquireTokenSilent

* stringify
2025-08-29 06:09:28 +02:00
Tyler James Leonhardt
7d1d412b25 default is true, fix the log (#263931) 2025-08-29 00:14:58 +00:00
Tyler James Leonhardt
da3cf78129 Enable the broker in macOS (#261148)
* Enable the broker in macOS

Fixes https://github.com/microsoft/vscode/issues/260158

* for testing

* better globbing

* guh

* guh

* delete

* log it all

* let's just log everything

* Only do on supported OS/Arches

* Add a console.log

* look at VSCODE_ARCH

* add msal files

* add entitlement maybe here

* actually it's probably here

* build: bundle msal libs for x64 and arm64

* revert that

* try again

* try adding $(AppIdentifierPrefix)

* temp: add debuggee entitlements

* bump msal and pass in redirect uri on macOS

* revert entitlement files

* forgot the .helper

* Allow PII for the output channel only

* use unsigned option

---------

Co-authored-by: deepak1556 <hop2deep@gmail.com>
2025-08-27 14:31:09 -07:00
Tyler James Leonhardt
cf433b58e5 Ability to pass down WWW-Authenticate challenges down to Auth Providers (#261717)
* Initial plan

* Implement authentication challenges support for mandatory MFA

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Add documentation and integration test for authentication challenges

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Add validation script and finalize implementation

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Update authentication challenges API to use AuthenticationConstraint interface

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Get it compiling... who knows if it works

* New parseWWWAuthenticateHeader behavior

* works

* let's go with this for now

* Good shape

* bye

* final polish

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-08-14 18:10:05 -07:00
Matt Bierner
ed71020bfc Convert extension webpack scripts to modules 2025-08-07 17:20:22 -07:00
Tyler James Leonhardt
86ff5cd43b Use the tenantId property instead (#260418)
since it _seems_ most of the time, the idTokenClaims are not present.
2025-08-07 22:02:13 +00:00
Matt Bierner
d8c9852fe9 Don't use experimental decorators in extensions
Seeing if we can compile our extensions using TS native which doesn't support these. The usage is so low that I think we can just remove them
2025-08-06 13:24:19 -07:00
dependabot[bot]
ce668e2612 Bump form-data from 3.0.0 to 3.0.4 in /extensions/microsoft-authentication (#257162)
Bump form-data in /extensions/microsoft-authentication

Bumps [form-data](https://github.com/form-data/form-data) from 3.0.0 to 3.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/v3.0.4/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v3.0.0...v3.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 3.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-06 08:52:51 -07:00
Matt Bierner
30b93b1217 Bump extensions to target es2024
I reviewed the various changes and library additions of es2024 and it seems they are widely supported across node and modern browsers
2025-08-05 10:40:33 -07:00
Tyler James Leonhardt
c235626145 issuer -> authorizationServer refactor (#250359)
* `issuer` -> `authorizationServer` refactor

Also:
* adds `authorizationServerGlobs` to the authentication contribution schema
* removes ugly MCP issuer hack and instead plumbs the authorizationServer down to the new auth providers
2025-06-02 17:38:21 -07:00
Tyler James Leonhardt
86efdcd2c1 Introduce Issuer handling in the Authentication stack (#248948)
Mostly plumbing... this enables:
```
vscode.authentication.getSession('microsoft', scopes, { issuer: "https://login.microsoftonline.com/common/v2.0" });
```
And the respective API for an auth providers to handle it being passed in.

This props up work in MCP land which needs a way to map an issuer to an auth provider... but I certainly see utility outside of that space.

Fixes https://github.com/microsoft/vscode/issues/248775#issuecomment-2876711396
2025-05-14 23:02:15 +02:00
Tyler James Leonhardt
846dae676c Fix telemetry event name (#248569)
* Fix telemetry event name

* fix more
2025-05-09 22:28:59 +00:00
Tyler James Leonhardt
1c8271a135 Fix telemetry event name (#248557)
rip
2025-05-09 23:00:08 +02:00
Tyler James Leonhardt
b2224f2fc6 Improve logic for detection of node vs web worker extension host (#248534)
* Use `WorkerGlobalScope` instead of `navigator` since node defines `navigator` now

* microsoft auth too

* better logic
2025-05-09 19:37:27 +02:00
Robo
12326f9906 chore: update to Electron 35 (#245423)
* chore: bump electron@35.0.1

* chore: update types/node@22.x

* chore: update web types for node v22.x

* chore: bump electron@35.1.2

* chore: update node.js build

* chore: update app.dock usage

Refs 71f3ff6bf2

* chore: bump electron@35.1.4

* chore: bump electron@35.1.5

* ci: bump sysroot to glibc 2.28 and gcc 10.5.0

* ci: enable timeout for smoketests

* chore: bump min glibcxx to 3.4.26 for server

* Revert "ci: enable timeout for smoketests"

This reverts commit afb637e85d.

* chore: update debian dependencies

* fix: workaround npm.ps1 argument parsing with powershell

* chore: update rpm dependencies

* test: partially revert changes from 242535

* test: remove redudant keybinding dispatch for selectTab

* test: fix test failure from running configured tasks

* test: focus settings editor for preferences.test.ts

* node - adopt compile cache (#246835)

* node - adopt compile cache

* adopt for utility process

* tweaks

* log state of compilation cache

* Revert "log state of compilation cache"

This reverts commit f3840387a583013834762e2c44f6e8424929297f.

* Revert "node - adopt compile cache (#246835)"

This reverts commit 673a00cab66c9bac87f3cd27b80efa41c80150f1.

* chore: update builds

* chore: bump electron@35.2.0

* chore: bump electron@35.2.1

* chore: bump electron@35.2.2

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2025-05-09 19:03:36 +09:00
Tyler James Leonhardt
690d2be258 Clean up some dead code and add a telemetry even to track classic microsoft auth usage (#248256)
So we can see how many people disable MSAL.
2025-05-06 15:36:17 -07:00
Tyler James Leonhardt
445bb01935 Bump @azure/msal-node-runtime to 0.18.2 (#247301) 2025-04-24 12:56:59 +02:00
Tyler James Leonhardt
4293d3771a Revert "Bump msal-runtime (#244321)" (#246336)
This reverts commit bdb7cc4f0c.
2025-04-11 19:52:38 +02:00
Tyler James Leonhardt
febbcf78c8 Add even more MSAL error telemetry (#246335) 2025-04-11 19:42:41 +02:00
Tyler James Leonhardt
0ab622083b Add error telemetry (#246262) 2025-04-10 23:46:53 -07:00
Tyler James Leonhardt
28c596a419 Use toLower for Microsoft auth labels (#245732)
Fixes https://github.com/microsoft/vscode/issues/242510
2025-04-04 23:43:08 +02:00
Matt Bierner
4a1dff2d44 Fix never-null error 2025-03-24 16:08:24 -07:00
Matt Bierner
8225b496b1 Updating @types/node
Needs some minor code changes too to support the new typings
2025-03-24 13:02:28 -07:00