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