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 @@ -167,6 +167,9 @@ export class MessageHandler {
167167 context . globalState . update ( "courseId" , courseId ) ;
168168 treeDataProvider . refresh ( ) ;
169169 break ;
170+ case MessageTypeNames . LoginWithBrowser :
171+ const { route } = message ;
172+ vscode . env . openExternal ( vscode . Uri . parse ( route ) ) ;
170173 }
171174 console . log ( `${ Date . now ( ) } Finish handleMessage: ${ message . type } ` ) ;
172175 }
Original file line number Diff line number Diff line change @@ -82,6 +82,9 @@ const Messages = createMessages({
8282 questionId,
8383 choice,
8484 } ) ,
85+ LoginWithBrowser : ( route : string ) => ( {
86+ route,
87+ } ) ,
8588} ) ;
8689
8790export default Messages ;
You can’t perform that action at this time.
0 commit comments