Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request primarily focuses on improving the way user IDs are obtained from session tokens across various files. The changes replace the previous method of extracting the user ID from the
session.account.id
field with a new functiongetOIDFromToken
. This function uses thejwt-decode
library to decode the session access token and extract the user ID. This change is applied consistently across multiple authentication functions in theAuthenticationProvider.ts
file and in thePowerPagesCopilot.ts
file.Additionally, a new telemetry event
VSCODE_EXTENSION_DECODE_JWT_TOKEN_FAILED
is introduced to capture any errors that occur during the decoding process.Here are the key changes:
src/common/copilot/PowerPagesCopilot.ts
: Imported thegetOIDFromToken
function and replaced the previous method of obtaining the user ID from thesession.account.id
field. [1] [2]src/common/services/AuthenticationProvider.ts
: Importedjwt-decode
library and defined thegetOIDFromToken
function. Replaced the previous method of obtaining the user ID in multiple authentication functions (intelligenceAPIAuthentication
,dataverseAuthentication
,graphClientAuthentication
,bapServiceAuthentication
). Added telemetry event for failed token decoding. [1] [2] [3] [4] [5] [6]src/common/services/TelemetryConstants.ts
: Added a constant for the new telemetry eventVSCODE_EXTENSION_DECODE_JWT_TOKEN_FAILED
.