Allow anonymous access to my Azure OpenAI chat bot

题意:允许匿名访问我的 Azure OpenAI 聊天机器人

问题背景:

I have an Azure OpenAI chat bot using my own data (I configured an OpenAI resource and chose Deploy as Web App) . Members of my domain can access it by logging in. Now I want it to be accessible anonymously or for other domains I define - whatever is easier to configure.

我有一个使用我自己数据的 Azure OpenAI 聊天机器人(我配置了一个 OpenAI 资源并选择了以 Web 应用的形式部署)。我的域内成员可以通过登录访问它。现在我希望它可以匿名访问,或者对我定义的其他域开放------以更容易配置的方式为准。

In the Azure Web App Authentication settings I could do two things:

在 Azure Web 应用的身份验证设置中,我可以做两件事:

  • Disable Authentication 禁用身份验证
  • Allow unauthenticated access 允许未认证的访问

See this screenshot: 看下面的截图

When I disable authentication or when I allow unauthenticated access I get in both cases the same error message when opening the chat bot:

当我禁用身份验证或允许未认证的访问时,在打开聊天机器人时,两种情况下都会出现相同的错误消息:

Authentication Not Configured

I also tried to allow not only my single domain but multiple account types of the Identity Provider. But when I login with a different domain I still the an error messge:

我还尝试允许不仅是我的单一域名,还包括多个身份提供者的帐户类型。但是,当我使用不同的域名登录时,我仍然看到错误消息:

AADSTS50020: User account 'myuser@otherdomain' from identity provider 'https://sts.windows.net/....../' does not exist in tenant 'MyDomain' and cannot access the application 'MyChatBot') in that tenant.

How to do it properly? 该如何正确配置?

问题解决:

Context

You have to understand that the "Deploy to Web App" button in Azure OpenAI Studio is only an accelerator for the "all-in-one" deployment of a project which is in fact open-sourced by Microsoft.

你需要了解,Azure OpenAI Studio 中的"部署到 Web 应用"按钮只是一个用于项目"一体化"部署的加速器,而该项目实际上是由微软开源的。

It's this one: 就是这个: GitHub - microsoft/sample-app-aoai-chatGPT: Sample code for a simple web chat experience through Azure OpenAI, including Azure OpenAI On Your Data.

So the Authentication Not Configured message you are facing is implemented inside this project, here:

所以你遇到的 "Authentication Not Configured" 错误消息是实现于该项目内部的,位置在这里:sample-app-aoai-chatGPT/frontend/src/pages/chat/Chat.tsx at af9d06b4ba153523fed366d3f8b1b19d1fc5f5e8 · microsoft/sample-app-aoai-chatGPT · GitHub

Possible solution 可能的解决方案

The README of the project explains that you can remove it if you want, here

该项目的 README 中解释了如果你想移除它,可以查看这里。

复制代码
To remove this restriction, you can add AUTH_ENABLED=False to the environment variables. This will disable authentication and allow anyone to access the chat functionality of your app. This is not recommended for production apps.

As said, "This is not recommended for production apps.".

正如所说,"这不建议用于生产环境的应用程序。"

Especially as the frontend is calling itself for the conversation (POST to /conversation) so if you remove the authentication, I guess that someone could use this endpoint directly to consume your OpenAI resource which is behind (ok, they can't modify your system message etc. but it's still an issue)

特别是因为前端是通过自身调用进行对话的(POST 到 /conversation),所以如果你移除了身份验证,我猜测有人可能会直接使用这个端点来消耗你后台的 OpenAI 资源(虽然他们不能修改你的系统消息等,但这仍然是一个问题)。

相关推荐
葡萄城技术团队7 小时前
从提示词到Skill:AI生成测试用例的技术演进之路
ai
大模型momo8 小时前
Spring AI 实战:多 Agent 协作实战 —— 分工拆解复杂旅游行程任务
人工智能·spring·ai·agent·旅游
ajassi20009 小时前
AI语音智能体开发日记(十一)为智能设备“声”临其境——详解音频资源自动化生成流程
人工智能·ai·ai编程
gptAI_plus13 小时前
把报错日志发给 AI 前,先用 Python 做一次本地脱敏
openai·ai编程
imbackneverdie14 小时前
写文献综述,时间脉络和主题分类到底怎么选?
人工智能·ai·aigc·论文·科研·ai写作·医学
机建狂魔15 小时前
Codex 接入第三方模型 API 实战:以 Mimo 为例
java·服务器·数据库·ai·ai编程·codex
RobinDevNotes15 小时前
开源AI渗透测试智能体自动验证真实漏洞
人工智能·网络安全·ai·个人开发·开发工具
土星云SaturnCloud16 小时前
智慧温室精准环控:土星云边缘计算设备实现温光水肥本地闭环调节
服务器·人工智能·ai·边缘计算
小七-七牛开发者17 小时前
“打透” Harness:用 GitHub Copilot 跑通从原型、规划到实现与评审的 AI Coding 工作流
ai·大模型·agent·token·工作流·claudecode·ai coding
Pokerhead18 小时前
一个 Codex,能装下所有 AI 模型?
大数据·人工智能·ai·大模型·ai编程·codex