Commit Graph

145 Commits

Author SHA1 Message Date
Tyler James Leonhardt
f9b4b4c6a3 Pass session down so we can avoid a network call (#181570)
We don't need to fetch the user details when the Auth Session already has the info we need. This PR removes that extraneous web request.

I've also changed the `User-Agent` that we pass to be more specific so we can narrow down any future issues with spamming web requests.

Fixes #173645
2023-05-04 11:59:25 -07:00
Tyler James Leonhardt
738ab7954c Add mode to the notification (#180977)
ref https://github.com/microsoft/vscode/issues/180803#issuecomment-1522947472
2023-04-26 23:16:39 +02:00
Tyler James Leonhardt
1714f71c41 Organize Errors in GitHub Auth and make sure no double prompting happens (#180734)
* Organize Errors in GitHub Auth and make sure no double prompting happens

This mostly just moves some strings into variables... but this also fixes the GH Auth side of https://github.com/microsoft/vscode/issues/180697 so you should only be asked once if you want to try a different way to log in.

* add comments
2023-04-24 12:59:03 -07:00
Tyler James Leonhardt
99e4904905 Add annotation to a telemetry point (#175370)
* Add annotation to a telemetry point

* forgot ,
2023-02-24 19:13:55 +01:00
Tyler James Leonhardt
57f26d2907 Fixes #173380 (#173428)
Fixes #173380
2023-02-04 15:57:24 +01:00
Tyler James Leonhardt
06eb374137 Improve GHES flow (#172959)
* Improve GHES flow

It's clear to me now that a lot of users of the GHES flow have auth behind a VPN. Something that we cannot support in the OAuth flow because we require making a request to vscode.dev who makes a request to the GHES instance.

In light of this, we will remove the OAuth flow for GHES. Fear not, though... because both the Device Code Flow and the PAT flow are there and the PAT flow has been improved in 1.75... so in conclusion, I think GHES is handled as best we can with this PR.

Additionally, there is some "Hosted GitHub Enterprise" scenarios popping up, and this future proofs that by allowing "Hosted GitHub Enterprise" experiences to go through the OAuth flow because we know for a fact that they will be accessible from vscode.dev.

Fixes #169619
Fixes https://github.com/microsoft/vscode-internalbacklog/issues/3398

* Use api. sub domain and update telemetry logic
2023-01-31 13:25:12 -08:00
Tyler James Leonhardt
656e526b3e Add EMU to session telemetry (#171186)
* Telemetry for EMU

* comment
2023-01-12 18:51:18 +01:00
Tyler James Leonhardt
a790196c19 Improve PAT auth flow (#170239)
This improves the PAT auth flow by showing a modal to open github.com with the scopes already pre-filled.

This should allow for less room for error during the PAT auth.

Additionally, this allows PAT auth flow to be used as a fallback for GH Enterprise flows.
2022-12-29 20:28:57 +01:00
Tyler James Leonhardt
342a1f4f52 Don't run the local server option if we are running in remote (#169076)
Additionally improve the conditional for device code flow.

ref #168338
2022-12-13 17:18:25 -08:00
Tyler James Leonhardt
b9b93f2b45 Depend on platform implementations for common features (#165950)
* don't depend on externals

* remove unneeded externals
2022-11-09 14:29:21 -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
9b3e147d6d GitHub Enterprise Auth improvements (#165082)
1. Namespace secrets based on the value of github-enterprise.uri to support "multiple separate GHES instances"
2. If the setting value disappears, continue using last set value. Fixes https://github.com/microsoft/vscode-pull-request-github/issues/3992
3. Mark github-enterprise.uri as requires trust
3. Refactoring like:
  * UriHandler is handled in extension.ts and passed down everywhere since we can only have 1 instance of it
  * misc style (`private` usage, better `disposable` handling)
2022-10-31 12:18:54 -07:00
Tyler James Leonhardt
0091bcae20 Fixes #164073 (#164384)
Fixes #164073
2022-10-23 17:47:27 +02: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
Tyler James Leonhardt
2457d9eb46 Plumbing for desktop to pick up strings from language packs (#163494)
Web will come in the next PR (hence the TODO)

Also this includes the smallest translation change which will be the ultimate test that this is all working.
2022-10-12 17:08:27 -07:00
Daniel Rosenwasser
5cde74b767 Fix accidental case fallthroughs in experimentation services. (#161339) 2022-09-20 12:00:32 -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
fc1ef74eb0 GHES oauth flow support (#160679)
* GHES oauth flow support

* update server number

* delete testing line
2022-09-14 11:26:02 -07:00
Tyler James Leonhardt
13066d79e3 up timeout to 5min (#156846) 2022-08-01 17:15:52 -07:00
Johannes
0656d21d11 auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Tyler James Leonhardt
15253f1528 add a comment for session.scopes (#151050) 2022-06-01 20:02:05 -07:00
Tyler James Leonhardt
0715386207 Return scope array that was given to us so that account icon number goes away (#151027) 2022-06-01 14:16:24 -07:00
Logan Ramos
3a8b1fe03e More telemetry comments (#150303)
* Add owners to all telemetry events

* More comments

* Add comments to non typescript GDPR annotation

* Another comment
2022-05-24 16:00:55 -07:00
Tyler James Leonhardt
847629239b add owner and comment to some telemetry events (#148752) 2022-05-05 17:30:51 -04:00
Tyler Leonhardt
842a41c8ab add additional log statement 2022-04-27 15:38:56 -07:00
Tyler Leonhardt
a900709990 better handling of prompting and ensure PAT doesn't show up in supported products 2022-04-25 17:27:26 -07:00
Tyler Leonhardt
ed6d360182 add fallback auth server for github auth and better fallback logic 2022-04-15 15:48:29 -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
46452a2dbf ensure GitHub Edu telemetry fires only per account not per session 2022-04-11 11:04:53 -07:00
Tyler Leonhardt
62866e4fa5 use URL class in a few places 2022-03-29 16:20:08 -07:00
Tyler Leonhardt
b1fb11e18c have code-oss use device code flow 2022-03-28 09:05:28 -07:00
Tyler Leonhardt
bee517564c remove leading / so that local dev would work 2022-03-23 16:03:26 -07:00
Tyler Leonhardt
39c6779828 depend on stable vscode.dev for auth extensions 2022-03-21 09:35:34 -07:00
Tyler James Leonhardt
18df55c4d4 Use vscode.dev for GH auth (#145424)
* Use vscode.dev for GH auth

* use correct urls and fix URLSearchParams typing
2022-03-18 15:58:44 -07: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
c68d433ac8 copy & continue. Fixes microsoft/vscode-internalbacklog#2613 2022-01-27 16:55:27 -08:00
Logan Ramos
c047af40b2 Fix compilation 2022-01-19 16:18:14 -05:00
svennergr
22e45e9f88 Add proper error message on getUserInfo (#140277)
* Add proper error message on getUserInfo

* improved error message on getUserInfo

either display the response message or the http status text

Co-authored-by: Sven Grossmann <mail@grossmann.dev>
2022-01-10 11:35:20 -08:00
Tyler Leonhardt
e8a26d3ebf ensure we treat scopes sorted and we only return a single session since GH only supports a single log in 2021-12-20 17:12:53 -05:00
Tyler James Leonhardt
f67a8b753f Use device flow over PAT when we are running in a server full environment but not in a supported uri (#139255)
* initial attempt

* use github-authentication instead

* rework error handling

* update copy

* explain why Workspace
2021-12-15 22:07:49 -05:00
Tyler Leonhardt
a3e60d2dff Add messages for rejected promises 2021-12-07 16:23:04 -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
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
Joyce Er
b97ab80c18 Fix typo in PAT auth flow error message 2021-10-20 16:37:02 -07:00
João Moreno
a390f81744 no hack is better hack
Co-authored-by: Tyler <TylerLeonhardt@users.noreply.github.com>
2021-10-11 18:02:36 +02:00
Tyler Leonhardt
5364c56768 include insiders.vscode in nocors 2021-10-08 11:32:28 -07:00
Tyler Leonhardt
ab184912e6 make sure we splice the sessions if they have the same set of scopes for github authentication 2021-09-23 16:46:31 -07:00
Logan Ramos
420436d4c4 Fix #133493 2021-09-21 13:36:30 -04:00
Tyler Leonhardt
520fa49e68 refactor github auth to be a bit simpler. Remove PAT for GitHub auth since Settings Sync doesn't allow for it and add timeout so that GitHub Auth is not stuck. 2021-08-16 16:34:21 -07:00