Auth0 无法在 Azure 上导入 ManagementClient

问题描述 投票:0回答:1

这可以在本地运行,但在 Azure 应用服务上会崩溃。我已经尝试了所有可能的导入管理客户端的方法,但都失败了。我还向我的客户经理提出了支持问题。

auth0-mgmt.ts

import { ManagementClient } from "auth0"

export async function userNickname(userId: string): Promise<string | null> {
  const m = new ManagementClient({
    domain: process.env.AUTH0_ISSUER_BASE_URL ?? "",
    clientId: process.env.AUTH0_MANAGEMENT_CLIENT_ID ?? "",
    clientSecret: process.env.AUTH0_MANAGEMENT_CLIENT_SECRET ?? "",
  })
  try {
    const user = await m.users.get({ id: userId, fields: "nickname" })
    return user.data?.nickname
  } catch (error) {
    console.log("Error getting user nickname:", error)
    return null
  }
}

这是堆栈跟踪:

023-12-13T00:13:17.886814980Z import { ManagementClient } from "auth0"
2023-12-13T00:13:17.886823080Z          ^
2023-12-13T00:13:17.886827981Z
2023-12-13T00:13:17.886832481Z SyntaxError: The requested module 'auth0' does not provide an export named 'ManagementClient'
2023-12-13T00:13:17.886837181Z     at ModuleJob._instantiate (node:internal/modules/esm/module_job:131:21)
2023-12-13T00:13:17.886841582Z     at async ModuleJob.run (node:internal/modules/esm/module_job:213:5)
2023-12-13T00:13:17.886845982Z     at async ModuleLoader.import (node:internal/modules/esm/loader:316:24)
2023-12-13T00:13:17.886850682Z     at async loadESM (node:internal/process/esm_loader:34:7)
2023-12-13T00:13:17.886858183Z     at async handleMainPromise (node:internal/modules/run_main:66:12)
2023-12-13T00:13:17.894145144Z
2023-12-13T00:13:17.894163946Z Node.js v20.9.0

这是我的package.json:

{
...
  "private": true,
  "type": "module",
...
  "dependencies": {
...
    "auth0": "^4.2.0",
node.js typescript auth0 auth0-js
1个回答
0
投票

事实证明,我的 Azure 应用服务盒中有一个来自非常旧的部署的旧文件,名为

auth0.ts
。哇!通过 ssh 进入盒子将其从
wwwroot
中删除可以解决此问题。

现在来弄清楚为什么

az webapp up
部署命令在部署时删除旧文件!这太疯狂了——有人知道为什么会这样吗?

© www.soinside.com 2019 - 2024. All rights reserved.