如何包括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中的一些相关代码: