gpt4 book ai didi

azure - 验证错误: "tenantId" is not allowed when using AzureAD for hapi JS route authorization

转载 作者:行者123 更新时间:2023-12-02 06:42:51 28 4
gpt4 key购买 nike

我们正在尝试在后端路由上使用@hapi/bell 来提供授权。身份验证策略使用 azure 作为提供者,方案为 bell

这就是我注册策略的方式。由于显而易见的原因,clientIdclientSecrettenantIdpassword 被隐藏

server.auth.strategy('azureAD', 'bell', {
提供者:' azure ',
客户端 ID: '...',
客户端 secret :'...',
租户ID: '...',
密码: '...',
提供者参数:{
响应类型:'代码'
},
范围:['openid'、'offline_access'、'个人资料'、'User.Read']
})

当我运行服务器时,出现以下错误:

{ [ValidationError: 不允许“tenantId”] ...

现在,看看 Azure 门户,我们肯定希望仅支持组织内部的帐户,即单租户。

如果我删除 tenantId 选项并重新启动服务器,我会收到 CORS 错误,这实际上表明我们的应用程序未配置为 Multi-Tenancy 应用程序,我们需要使用特定于租户的端点或将应用程序配置为 Multi-Tenancy 。但是,添加 tenantId 表示不允许这样做。

任何有关为什么会发生这种情况的指导都将受到高度赞赏。

最佳答案

我发现可以执行以下操作,而不是像我在问题中所示的那样注册策略:

const custom = Bell.providers.azure({ tenant: '...' })

server.auth.strategy('azureAD', 'bell', {
provider: custom,
clientId: '...',
clientSecret: '...',
password: '...',
isSecure: false, // look into this, not a good idea but required if not using HTTPS
providerParams: {
response_type: 'code'
},
scope: ['openid', 'offline_access', 'profile', 'User.Read']
})

这消除了“tenantId”不允许的错误,但是,我们现在收到一个不同的错误,指出身份验证失败,因为:缺少自定义请求 token cookie

Bell 建议,一个常见的解决方案是将 bell 与 hapi-auth-cookie 身份验证方案插件结合起来,所以现在需要研究一下。

关于azure - 验证错误: "tenantId" is not allowed when using AzureAD for hapi JS route authorization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58066759/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com