如何解决如何包括npm模块client-oauth2的代理配置
const ClientOAuth2 = require('client-oauth2');
const oauth2 = new ClientOAuth2({
clientId: 'clientId',clientSecret: 'clientSecret',accesstokenUri: 'https://fakeurl.com/v1/auth/token',});
oauth2 .credentials.getToken().then(function (user) {
console.log(user);
}).catch(function (error) {
console.log(error);
});
如果我在公司网络中运行此代码,是否有一种方法可以在请求令牌时包括代理设置
解决方法
我快速看了一下,却找不到简单的方法。除了代理功能,我还注意到它缺少诸如以下这些功能的Open Id Connect功能:
- 查找元数据
- 授权代码流(PKCE)
- 呼叫用户信息端点
要求
为您的应用选择一个库是一个重要的决定,这是人们通常会寻找的一些常识:
- 基于标准(适用于任何授权服务器)
- 获得认证,遵循最新的OAuth 2.1和Open Id Connect建议
- 支持HTTP代理(在开发时查看OAuth消息非常有用)
NODEJS解决方案
如果您正在使用Node,那么可能值得考虑使用node openid-client库,这是我使用的库。这是我的API中的一些相关代码:
- Looking up metadata-请注意,可以提供代理来支持代理
- Setting the HTTP proxy-我使用TunnelAgent.httpsOverHttp代理对HTTPS OAuth URL的调用
- OAuth Operations-请注意,有些自定义类使这些任务更加容易
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。