如何在 VSCode 扩展中使用 openid 登录?
How to login using openid in VSCode extension?
我需要一些关于如何登录 VSC 扩展的信息 inputs/suggestions。我已经在 angular 中使用 https://www.npmjs.com/package/angular-auth-oidc-client 库为 Web 应用程序完成了类似的工作。
我正在开发 VSC 扩展(打字稿语言),我必须在用户使用它之前对用户进行身份验证。为此,我有 cloudIDP auth URL,我必须将请求转发给它,以便用户先登录。用户登录后,用户应返回 VSC 扩展,然后开始使用内置扩展命令。
我正在使用带有代码流的 https://www.npmjs.com/package/openid-client 库。我能够打开登录 url,让用户登录,返回到 vscode 扩展但没有令牌。
let req = Client.authorizationUrl({
client_id: 'CLIENT:ID',
client_secret: 'CLIENT_SECRET',
redirect_uri: 'vscode://EXTENSION_NAME/auth',
scope: 'openid profile email offline_access',
response_type: ['code'],
code_challenge,
code_challenge_method: 'S256',
});
//This opens browser window from vscode and user gets logged in and comes back to extension
vscode.env.openExternal(vscode.Uri.parse(req)).then((response) => {
console.log('Signin response: ', response); // returns true
// not sure how to proceed here
});
我的方法是否正确,或者我需要在这里做任何其他事情吗?
请指导我,提前致谢。
阿尔佩什
我成功了。
重定向后,我必须在 UriHandler class 中处理逻辑,然后点击 api 使用重定向后收到的代码参数获取令牌。
如果您想了解(或将来),请告诉我,我很乐意在那里指导。
此致,
阿尔佩什
我需要一些关于如何登录 VSC 扩展的信息 inputs/suggestions。我已经在 angular 中使用 https://www.npmjs.com/package/angular-auth-oidc-client 库为 Web 应用程序完成了类似的工作。
我正在开发 VSC 扩展(打字稿语言),我必须在用户使用它之前对用户进行身份验证。为此,我有 cloudIDP auth URL,我必须将请求转发给它,以便用户先登录。用户登录后,用户应返回 VSC 扩展,然后开始使用内置扩展命令。
我正在使用带有代码流的 https://www.npmjs.com/package/openid-client 库。我能够打开登录 url,让用户登录,返回到 vscode 扩展但没有令牌。
let req = Client.authorizationUrl({
client_id: 'CLIENT:ID',
client_secret: 'CLIENT_SECRET',
redirect_uri: 'vscode://EXTENSION_NAME/auth',
scope: 'openid profile email offline_access',
response_type: ['code'],
code_challenge,
code_challenge_method: 'S256',
});
//This opens browser window from vscode and user gets logged in and comes back to extension
vscode.env.openExternal(vscode.Uri.parse(req)).then((response) => {
console.log('Signin response: ', response); // returns true
// not sure how to proceed here
});
我的方法是否正确,或者我需要在这里做任何其他事情吗?
请指导我,提前致谢。
阿尔佩什
我成功了。
重定向后,我必须在 UriHandler class 中处理逻辑,然后点击 api 使用重定向后收到的代码参数获取令牌。
如果您想了解(或将来),请告诉我,我很乐意在那里指导。
此致, 阿尔佩什