Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 1x 3x 3x 3x 3x 1x 1x 2x 2x | import * as vscode from 'vscode';
import { MicrosoftAuthService } from '@src/services/core/microsoft-auth-service';
import { CredentialFactory } from '@src/services/core/credential-factory';
export const loginMicrosoftAuthProvider = {
id: 'mentor.command.loginMicrosoftAuthProvider',
handler: async (authScopes?: string[]) => {
try {
const scopes = authScopes ?? ['https://graph.microsoft.com/.default'];
const session = await new MicrosoftAuthService().getSession(scopes, true);
if (session) {
vscode.window.showInformationMessage(`Successfully authenticated with Microsoft Entra.`);
return CredentialFactory.createMicrosoftAuthCredential(scopes, session.id, session.accessToken);
} else {
vscode.window.showWarningMessage(`Microsoft Entra authentication was cancelled.`);
return null;
}
} catch (error: any) {
vscode.window.showErrorMessage(`Microsoft Entra authentication failed: ${error.message}`);
return null;
}
}
}; |