├── .devcontainer ├── Dockerfile ├── devcontainer.json └── docker-compose.yaml ├── .env.sample ├── .github ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yaml └── workflows │ ├── azure-bicep-validate.yaml │ ├── azure-dev.yaml │ └── python-check.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .vscode ├── launch.json └── settings.json ├── LICENSE.md ├── README.md ├── SECURITY.md ├── azure.yaml ├── docker-compose.yaml ├── docs ├── README.md ├── arch_diagram.png ├── deploy_existing.md ├── local_ollama.md └── screenshot_chatapp.png ├── infra ├── aca.bicep ├── core │ ├── ai │ │ └── cognitiveservices.bicep │ ├── cache │ │ ├── redis-access.bicep │ │ ├── redis-diagnostics.bicep │ │ └── redis.bicep │ ├── host │ │ ├── container-app-upsert.bicep │ │ ├── container-app.bicep │ │ ├── container-apps-environment.bicep │ │ ├── container-apps.bicep │ │ └── container-registry.bicep │ ├── monitor │ │ └── loganalytics.bicep │ └── security │ │ ├── keyvault-access.bicep │ │ ├── keyvault-secret.bicep │ │ ├── keyvault.bicep │ │ ├── registry-access.bicep │ │ └── role.bicep ├── getkey.sh ├── main.bicep ├── main.parameters.json └── secrets.bicep ├── pyproject.toml ├── requirements-dev.txt ├── scripts ├── auth_common.py ├── auth_init.ps1 ├── auth_init.py ├── auth_init.sh ├── auth_update.ps1 ├── auth_update.py ├── auth_update.sh └── requirements.txt ├── src ├── .dockerignore ├── Dockerfile ├── __init__.py ├── gunicorn.conf.py ├── pyproject.toml ├── quartapp │ ├── __init__.py │ ├── chat.py │ ├── static │ │ └── styles.css │ └── templates │ │ ├── base.html │ │ ├── identity │ │ └── login.html │ │ └── index.html └── requirements.txt └── tests ├── __init__.py ├── conftest.py ├── mock_cred.py ├── snapshots └── test_app │ ├── test_chat_stream_text │ └── result.json │ └── test_chat_stream_text_history │ └── result.json └── test_app.py /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.devcontainer/Dockerfile -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.devcontainer/docker-compose.yaml -------------------------------------------------------------------------------- /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.env.sample -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/dependabot.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/dependabot.yaml -------------------------------------------------------------------------------- /.github/workflows/azure-bicep-validate.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/workflows/azure-bicep-validate.yaml -------------------------------------------------------------------------------- /.github/workflows/azure-dev.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/workflows/azure-dev.yaml -------------------------------------------------------------------------------- /.github/workflows/python-check.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.github/workflows/python-check.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/SECURITY.md -------------------------------------------------------------------------------- /azure.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/azure.yaml -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/arch_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/docs/arch_diagram.png -------------------------------------------------------------------------------- /docs/deploy_existing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/docs/deploy_existing.md -------------------------------------------------------------------------------- /docs/local_ollama.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/docs/local_ollama.md -------------------------------------------------------------------------------- /docs/screenshot_chatapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/docs/screenshot_chatapp.png -------------------------------------------------------------------------------- /infra/aca.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/aca.bicep -------------------------------------------------------------------------------- /infra/core/ai/cognitiveservices.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/ai/cognitiveservices.bicep -------------------------------------------------------------------------------- /infra/core/cache/redis-access.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/cache/redis-access.bicep -------------------------------------------------------------------------------- /infra/core/cache/redis-diagnostics.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/cache/redis-diagnostics.bicep -------------------------------------------------------------------------------- /infra/core/cache/redis.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/cache/redis.bicep -------------------------------------------------------------------------------- /infra/core/host/container-app-upsert.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/host/container-app-upsert.bicep -------------------------------------------------------------------------------- /infra/core/host/container-app.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/host/container-app.bicep -------------------------------------------------------------------------------- /infra/core/host/container-apps-environment.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/host/container-apps-environment.bicep -------------------------------------------------------------------------------- /infra/core/host/container-apps.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/host/container-apps.bicep -------------------------------------------------------------------------------- /infra/core/host/container-registry.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/host/container-registry.bicep -------------------------------------------------------------------------------- /infra/core/monitor/loganalytics.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/monitor/loganalytics.bicep -------------------------------------------------------------------------------- /infra/core/security/keyvault-access.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/security/keyvault-access.bicep -------------------------------------------------------------------------------- /infra/core/security/keyvault-secret.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/security/keyvault-secret.bicep -------------------------------------------------------------------------------- /infra/core/security/keyvault.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/security/keyvault.bicep -------------------------------------------------------------------------------- /infra/core/security/registry-access.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/security/registry-access.bicep -------------------------------------------------------------------------------- /infra/core/security/role.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/core/security/role.bicep -------------------------------------------------------------------------------- /infra/getkey.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/getkey.sh -------------------------------------------------------------------------------- /infra/main.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/main.bicep -------------------------------------------------------------------------------- /infra/main.parameters.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/main.parameters.json -------------------------------------------------------------------------------- /infra/secrets.bicep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/infra/secrets.bicep -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /scripts/auth_common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/scripts/auth_common.py -------------------------------------------------------------------------------- /scripts/auth_init.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/scripts/auth_init.ps1 -------------------------------------------------------------------------------- /scripts/auth_init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/scripts/auth_init.py -------------------------------------------------------------------------------- /scripts/auth_init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/scripts/auth_init.sh -------------------------------------------------------------------------------- /scripts/auth_update.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/scripts/auth_update.ps1 -------------------------------------------------------------------------------- /scripts/auth_update.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/scripts/auth_update.py -------------------------------------------------------------------------------- /scripts/auth_update.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/scripts/auth_update.sh -------------------------------------------------------------------------------- /scripts/requirements.txt: -------------------------------------------------------------------------------- 1 | azure-identity 2 | msgraph-sdk 3 | rich 4 | python-dotenv 5 | -------------------------------------------------------------------------------- /src/.dockerignore: -------------------------------------------------------------------------------- 1 | .git* 2 | .venv/ 3 | **/*.pyc 4 | -------------------------------------------------------------------------------- /src/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/Dockerfile -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/gunicorn.conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/gunicorn.conf.py -------------------------------------------------------------------------------- /src/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/pyproject.toml -------------------------------------------------------------------------------- /src/quartapp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/quartapp/__init__.py -------------------------------------------------------------------------------- /src/quartapp/chat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/quartapp/chat.py -------------------------------------------------------------------------------- /src/quartapp/static/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/quartapp/static/styles.css -------------------------------------------------------------------------------- /src/quartapp/templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/quartapp/templates/base.html -------------------------------------------------------------------------------- /src/quartapp/templates/identity/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/quartapp/templates/identity/login.html -------------------------------------------------------------------------------- /src/quartapp/templates/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/quartapp/templates/index.html -------------------------------------------------------------------------------- /src/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/src/requirements.txt -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/mock_cred.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/tests/mock_cred.py -------------------------------------------------------------------------------- /tests/snapshots/test_app/test_chat_stream_text/result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/tests/snapshots/test_app/test_chat_stream_text/result.json -------------------------------------------------------------------------------- /tests/snapshots/test_app/test_chat_stream_text_history/result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/tests/snapshots/test_app/test_chat_stream_text_history/result.json -------------------------------------------------------------------------------- /tests/test_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/openai-chat-app-entra-auth-local/HEAD/tests/test_app.py --------------------------------------------------------------------------------