Skip to content

Commit 0fbc80e

Browse files
committed
Fix decrypt errors
1 parent 31e3c59 commit 0fbc80e

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

packages/core/src/auth/auth2.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,13 @@ export class LanguageClientAuth {
139139
* Decrypts an object
140140
*/
141141
private async decrypt<T>(request: string): Promise<T> {
142-
const result = await jose.compactDecrypt(request, this.encryptionKey)
143-
return JSON.parse(new TextDecoder().decode(result.plaintext)) as T
142+
try {
143+
const result = await jose.compactDecrypt(request, this.encryptionKey)
144+
return JSON.parse(new TextDecoder().decode(result.plaintext)) as T
145+
} catch (e) {
146+
getLogger().error(`Failed to decrypt: ${request}`)
147+
return request as T
148+
}
144149
}
145150

146151
async getSsoToken(

packages/core/src/test/credentials/auth2.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const tokenId = 'test-token'
4040
describe('LanguageClientAuth', () => {
4141
let client: sinon.SinonStubbedInstance<LanguageClient>
4242
let auth: LanguageClientAuth
43-
const encryptionKey = Buffer.from('test-key')
43+
const encryptionKey = Buffer.from('test-key'.padEnd(32, '0'))
4444
let useDeviceFlowStub: sinon.SinonStub
4545

4646
beforeEach(() => {

0 commit comments

Comments
 (0)