微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 VSCode 扩展中使用 openid 登录?

如何解决如何在 VSCode 扩展中使用 openid 登录?

我需要一些关于如何登录 VSC 扩展的输入/建议。我已经使用 https://www.npmjs.com/package/angular-auth-oidc-client 库为 angular 的 web 应用程序做了类似的事情。

我正在开发 VSC 扩展(打字稿语言),我必须在用户使用它之前对其进行身份验证。为此,我有 cloudIDP 身份验证 URL,我必须将请求转发到该 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 类中的逻辑,然后使用重定向后收到的代码参数访问 api 以获取令牌。

如果您想了解(或将来),请告诉我,我很乐意为您提供指导。

问候, 阿尔卑斯

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。