File tree Expand file tree Collapse file tree 3 files changed +20
-0
lines changed Expand file tree Collapse file tree 3 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,20 @@ export function activate(context: vscode.ExtensionContext) {
5151 "*.js" : "source" ,
5252 } ) ;
5353 }
54+
55+ vscode . window . registerUriHandler ( {
56+ handleUri ( uri : vscode . Uri ) {
57+ const searchParams = new URLSearchParams ( uri . query ) ;
58+ // The following two params are available when logging in via OAuth providers
59+ const code = searchParams . get ( "code" ) ;
60+ const clientRequestId = searchParams . get ( "client-request-id" ) ;
61+
62+ vscode . commands . executeCommand (
63+ "source-academy.show-panel" ,
64+ `/login/vscode_callback?code=${ code } &client-request-id=${ clientRequestId } ` ,
65+ ) ;
66+ } ,
67+ } ) ;
5468}
5569
5670// This method is called when your extension is deactivated
Original file line number Diff line number Diff line change @@ -173,6 +173,9 @@ export class MessageHandler {
173173 this . panel ?. reveal ( vscode . ViewColumn . Two ) ;
174174 }
175175 break ;
176+ case MessageTypeNames . LoginWithBrowser :
177+ const { route } = message ;
178+ vscode . env . openExternal ( vscode . Uri . parse ( route ) ) ;
176179 }
177180 console . log ( `${ Date . now ( ) } Finish handleMessage: ${ message . type } ` ) ;
178181 }
Original file line number Diff line number Diff line change @@ -89,6 +89,9 @@ const Messages = createMessages({
8989 questionId,
9090 choice,
9191 } ) ,
92+ LoginWithBrowser : ( route : string ) => ( {
93+ route,
94+ } ) ,
9295} ) ;
9396
9497export default Messages ;
You can’t perform that action at this time.
0 commit comments