mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 04:09:28 +00:00
Use provider query parameter (#251662)
The identity team are gonna take this direction instead.
This commit is contained in:
committed by
GitHub
parent
57c041e9e3
commit
559c2fa308
@@ -177,7 +177,7 @@ class UrlHandlerFlow implements IFlow {
|
||||
callbackUri,
|
||||
enterpriseUri,
|
||||
nonce,
|
||||
signInProvider: authProvider,
|
||||
signInProvider,
|
||||
uriHandler,
|
||||
existingLogin,
|
||||
logger,
|
||||
@@ -205,11 +205,14 @@ class UrlHandlerFlow implements IFlow {
|
||||
} else {
|
||||
searchParams.append('prompt', 'select_account');
|
||||
}
|
||||
if (signInProvider) {
|
||||
searchParams.append('provider', signInProvider);
|
||||
}
|
||||
|
||||
// The extra toString, parse is apparently needed for env.openExternal
|
||||
// to open the correct URL.
|
||||
const uri = Uri.parse(baseUri.with({
|
||||
path: getAuthorizeUrlPath(authProvider),
|
||||
path: '/login/oauth/authorize',
|
||||
query: searchParams.toString()
|
||||
}).toString(true));
|
||||
await env.openExternal(uri);
|
||||
@@ -253,7 +256,7 @@ class LocalServerFlow implements IFlow {
|
||||
redirectUri,
|
||||
callbackUri,
|
||||
enterpriseUri,
|
||||
signInProvider: authProvider,
|
||||
signInProvider,
|
||||
existingLogin,
|
||||
logger
|
||||
}: IFlowTriggerOptions): Promise<string> {
|
||||
@@ -277,9 +280,12 @@ class LocalServerFlow implements IFlow {
|
||||
} else {
|
||||
searchParams.append('prompt', 'select_account');
|
||||
}
|
||||
if (signInProvider) {
|
||||
searchParams.append('provider', signInProvider);
|
||||
}
|
||||
|
||||
const loginUrl = baseUri.with({
|
||||
path: getAuthorizeUrlPath(authProvider),
|
||||
path: '/login/oauth/authorize',
|
||||
query: searchParams.toString()
|
||||
});
|
||||
const server = new LoopbackAuthServer(path.join(__dirname, '../media'), loginUrl.toString(true), callbackUri.toString(true));
|
||||
@@ -565,12 +571,3 @@ export const enum GitHubSocialSignInProvider {
|
||||
export function isSocialSignInProvider(provider: unknown): provider is GitHubSocialSignInProvider {
|
||||
return provider === GitHubSocialSignInProvider.Google; // || provider === GitHubSocialSignInProvider.Apple;
|
||||
}
|
||||
|
||||
export function getAuthorizeUrlPath(provider: GitHubSocialSignInProvider | undefined): string {
|
||||
switch (provider) {
|
||||
case GitHubSocialSignInProvider.Google:
|
||||
// case GitHubSocialSignInProvider.Apple:
|
||||
return `/sessions/social/${provider}/initiate`;
|
||||
}
|
||||
return '/login/oauth/authorize';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user