Commit Graph

88 Commits

Author SHA1 Message Date
Matt Bierner c390a331c5 Switch to standard imports (#169451) 2022-12-17 00:22:53 +01:00
Tyler James Leonhardt 461b3f6184 Only have a single window store the session (#169356)
Before this change, every single window was writing to the same secret at basically the same time because they would all refresh the token and then attempt to store that refresh token.

I believe this was causing a few race condition bugs that users were seeing.

With this change we now so our best to have only 1 window store the session by relying on the window focused state.

If the window is focused or becomes focused, we will store the refresh token.

If the window detects that another window has stored something, we will not attempt to wait for focus to store something.

If nothing has happened, and it's been 5 hrs (+/- some seconds) go ahead and store it. This is the scenario of when a user has VS Code in the background for like ages but never goes to it.

ref #165115
ref #130893
ref #168485
2022-12-16 06:58:32 +01:00
Tyler James Leonhardt ef415578d1 Take advantage of platform features in Microsoft Authentication extension (#166066) 2022-11-10 18:26:48 -08:00
Logan Ramos bf1697d98c Consume proposed telemetry API (#165862)
* Consume proposed telemetry API

* Update webpack
2022-11-08 21:58:28 -05:00
Tyler James Leonhardt 6684350a58 Onboard GitHub & Microsoft auth extensions to l10n (#163662)
* onboard github-auth completely to l10n

* onboard microsoft-authentication entirely on to l10n
2022-10-14 08:41:21 -07:00
Sandeep Somavarapu 35c7ee9d02 Support log output channels for extensions (#161249)
* introduce log api in extension context

* separate registering output vs log channel

* Separate extension log channels in show logs command

* add logging error to embedder logger

* show extension log in the extension editor

* configure log level per extension

* change the order of log entries

* introduce logger

* align with output chanel

* revert changes

* fixes
2022-09-19 09:03:41 -07:00
Tyler James Leonhardt dc9336c303 make sure we add offline_access when creating sessions (#159116) 2022-08-25 08:48:01 -04:00
ChaseKnowlden 19d0675506 Add offline_access to list of default scopes (#157453)
Add a new scope to default scopes
2022-08-08 14:55:13 -07:00
Tyler James Leonhardt d859b334cb We only need to wait on the input box for un-supported environments (#157157)
we only need to wait on the input box for un-supported environments
2022-08-04 23:55:51 +02:00
Tyler James Leonhardt 4017fd126f Show quick pick when redirect fails to complete redirect to be more robust (#156515)
* show quick pick when redirect fails to complete redirect to be more robust

* matt feedback
2022-07-28 10:26:18 -07:00
Johannes 0656d21d11 auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Tyler James Leonhardt 847629239b add owner and comment to some telemetry events (#148752) 2022-05-05 17:30:51 -04:00
Tyler Leonhardt 9c15f4185a add favicon and nonce enforcement in microsoft auth 2022-04-15 15:47:20 -07:00
Tyler Leonhardt 52a394bdea Introduce removeSessionByIToken to remove sessions that aren't in this._tokens yet. Fixes #145189 2022-04-14 15:21:54 -07:00
Tyler Leonhardt 5919378269 don't surface error on gets and remove microsoft secret migration. Fixes #146553 2022-04-14 12:18:33 -07:00
Tyler Leonhardt 39c6779828 depend on stable vscode.dev for auth extensions 2022-03-21 09:35:34 -07:00
Tyler Leonhardt f728c9289e use global URLSearchParams 2022-03-18 14:52:18 -07:00
Tyler James Leonhardt 00888f774d depend on redirect route within Microsoft auth (#145263)
* depend on redirect service

* better server query parameter handling
2022-03-16 13:41:44 -07:00
Tyler Leonhardt 739dfea8e6 try to use an existing refresh token to get a token with the specified scopes. Fixes #114003 2022-03-03 14:54:48 -08:00
Tyler Leonhardt a0da9978b1 include profile for specific claims in idtoken. Fixes #143463 2022-02-20 16:58:07 -08:00
Tyler Leonhardt ae8bacb9d3 ensure getSessions also asks for email and openid scopes and fix #142776 2022-02-17 10:27:36 -08:00
Tyler Leonhardt 6a01cda605 use 127.0.0.1 instead of localhost 2022-02-08 15:39:34 -08:00
Yash Goel 5ea92ff535 fixed settings sync has duplicate logins (#142340)
* added check and swaped logic

* improved label for usename

* fixed eslint issues

* updated text
2022-02-08 12:14:52 -08:00
Tyler Leonhardt e485dc292f improve logic around auth server 2022-02-06 14:56:22 -08:00
Tyler Leonhardt eb295e4195 enable migration parts 2022-02-03 14:50:48 -08:00
Johannes Rieken 4a130c40ed enable @typescript-eslint/member-delimiter-style, https://github.com/microsoft/vscode/issues/140391 2022-02-02 14:35:33 +01:00
Tyler Leonhardt f498b374c0 large refactor including new secret storage wrapper and overall code clean up and organization 2022-02-01 18:14:31 -08:00
Tyler Leonhardt 9403de257a proposed api for an idToken on AuthenticationSession. ref #140929 2022-01-24 20:02:31 -08:00
Logan Ramos c047af40b2 Fix compilation 2022-01-19 16:18:14 -05:00
Tyler Leonhardt 12902bc7a1 allow overridding of client id and tenant for microsoft auth 2022-01-14 14:36:34 -08:00
Matt Bierner e7b3724e0c Enable no-case-declarations in codebase (#139243)
Fixes #139236

This can catch tricky programming mistakes that cause a runtime error. See 7e266b2c42 as an example of the type of bug this can prevent
2021-12-15 17:15:35 -08:00
Tyler Leonhardt 53e8f2c26e handle 4XX errors differently from others 2021-11-22 16:20:47 -08:00
Tyler Leonhardt 33a6ac6639 simplify polling when getting a network error 2021-11-22 15:28:13 -08:00
Tyler Leonhardt f8b17200c1 refresh more often based on clock skew 2021-11-11 14:24:44 -08:00
Johannes Rieken d90dd1355b Merge branch 'main' into joh/vscode-dts 2021-11-10 08:40:26 +01:00
Tyler Leonhardt dc553d6a3e add additional logging and awaiting 2021-11-09 20:23:42 -08:00
Johannes Rieken 68e819043c use tsconfig.json#include for vscode.d.ts and vscode.proposed.d.ts, enables to remove most ref.d.ts-files 2021-11-09 15:53:35 +01:00
Johannes Rieken 9254a8cd27 move vscode.d.ts and vscode.proposed.d.ts into src/vscode-dts-folder, https://github.com/microsoft/vscode/issues/131165 2021-11-09 15:00:03 +01:00
Tyler Leonhardt 66b1668b66 wait if there's a refresh in progress 2021-11-05 17:01:21 -07:00
Tyler Leonhardt e56b43a744 await storing of token data 2021-11-01 10:06:07 -07:00
Tyler Leonhardt 4d496f61bc remove keytar fallback in keychain and add a ton more logging to microsoft auth. ref #133201 2021-10-25 11:16:37 -07:00
Tyler Leonhardt a4a3e4e8b0 remove async executor of Promise ref #134873 2021-10-13 09:09:24 -07:00
Benjamin Pasero 3cda269c80 ESlint: enable no-async-promise-executor (#134873) 2021-10-12 10:50:44 +02:00
Tyler Leonhardt c1b4cf00b9 update auth extensions to use packageJSON property instead 2021-07-23 11:48:39 -07:00
Tyler James Leonhardt 87d692b7bf Add scopes property to login telemetry (#128261)
* Add scopes property to login telemetry
2021-07-08 21:48:44 -07:00
Tyler Leonhardt f4e48a92dd specify localhost for microsoft auth server 2021-07-06 11:07:46 -07:00
Tyler Leonhardt 15616f8d93 refactor codeExchangeProxy to use same route and use it for refresh token as well 2021-05-28 10:35:52 -07:00
Tyler Leonhardt f1a5d40aa7 refactor getCallbackEnvironment to return authority by default 2021-05-26 11:54:15 -07:00
Rachel Macfarlane 05e970086c Add missing change session events to ms auth provider 2021-03-17 15:57:11 -07:00
Oleg Demchenko 48be13acf8 Check if VSCode runs serverless (#118233)
In situations when VSCode runs as remote or serverless we should attempt
authentication flow without a local server.
2021-03-05 09:08:36 -08:00