Есть идеи, как реализовать пользовательский AuthenticationProvider для расширения кода Visual Studio?

#authentication #visual-studio-code #vscode-extensions

Вопрос:

Я пытаюсь реализовать пользовательский OAuth (с токеном обновления) для расширения кода Visual Studio, но мне трудно понять, как работает AuthenticationProvider и как нужно реализовать пользовательский.

Я знаю, что у нас есть https://github.com/microsoft/vscode/tree/main/extensions/github-authentication пример, но все еще возникают проблемы с тем, как должно быть реализовано что-то пользовательское.

Например createSession , функция должна выполнить весь процесс аутентификации и вернуть сеанс. Но как бы вы запустили перенаправление браузера на конечную точку OAuth2, затем перехватили обратный вызов, получили токен и т. Д. В той же функции? Как бы вы выполнили все эти внешние действия внутри этой единственной функции?

Кто-нибудь лучше понимает, как это реализовано внутри VSC и как это работает?

Комментарии:

1. Вы нашли какое-то решение?

2. Ну, на самом деле это хорошо описано в githubServer.ts