Azure Entra
Aprenda a configurar o LibreChat para usar o Azure Entra para autenticação de usuário.
- Vá para o Azure Portal e faça login com sua conta.
- Na caixa de pesquisa, digite "Azure Entra" e clique nela.
- No menu à esquerda, clique em App registrations e, em seguida, em New registration.
- Dê um nome ao seu aplicativo e selecione Web como o tipo de plataforma.
- No campo Redirect URI, insira a URL de callback OpenID do seu LibreChat e clique em Register. Para instalações locais via Docker, use
http://localhost:3080/oauth/openid/callback. Para instâncias implantadas, substituahttp://localhost:3080pelo valor do seuDOMAIN_SERVERpúblico, por exemplohttps://chat.example.com/oauth/openid/callback.
- Você verá uma página de Visão geral (Overview) com algumas informações sobre seu aplicativo. Copie o ID do Aplicativo (cliente) e o ID do Diretório (locatário) e salve-os em algum lugar.
- No menu à esquerda, clique em Authentication e marque as caixas para Access tokens e ID tokens em Implicit grant and hybrid flows.
- No menu à esquerda, clique em Certificates & Secrets e depois em New client secret. Dê um nome ao seu secret e uma data de expiração e clique em Add. Você verá uma coluna Value com o seu secret. Copie-o e salve-o em algum lugar. Não o compartilhe com ninguém!
- Se você deseja restringir o acesso por grupos, você deve adicionar a claim de grupos ao token. Para fazer isso, vá em Token configuration e clique em Add group claim. Selecione os grupos que deseja incluir no token e clique em Add.
- Abra o arquivo .env na pasta do seu projeto e adicione as seguintes variáveis com os valores que você copiou:
DOMAIN_CLIENT=https://your-domain.com # use http://localhost:3080 if not using a custom domain
DOMAIN_SERVER=https://your-domain.com # use http://localhost:3080 if not using a custom domain
# enable social login or else OpenID button will not appear on login page
ALLOW_SOCIAL_LOGIN=true
OPENID_CLIENT_ID=Your Application (client) ID
OPENID_CLIENT_SECRET=Your client secret
OPENID_ISSUER=https://login.microsoftonline.com/Your Directory (tenant ID)/v2.0/
OPENID_SESSION_SECRET=Any random string
OPENID_SCOPE=openid profile email #DO NOT CHANGE THIS
OPENID_CALLBACK_URL=/oauth/openid/callback # this should be the same for everyone
OPENID_REQUIRED_ROLE_TOKEN_KIND=id
# If you want to restrict access by groups
OPENID_REQUIRED_ROLE_PARAMETER_PATH="roles"
OPENID_REQUIRED_ROLE="Your Group Name" # Single role or comma-separated roles (e.g., Group1,Group2,Admin)
# Optional: redirects the user to the end session endpoint after logging out
OPENID_USE_END_SESSION_ENDPOINT=true
# Maximum logout URL length before using logout_hint instead of id_token_hint (default: 2000)
# OPENID_MAX_LOGOUT_URL_LENGTH=2000O URI de redirecionamento registrado no Azure deve corresponder exatamente à URL que o LibreChat utiliza. Se DOMAIN_SERVER=https://chat.example.com, o Azure deve usar https://chat.example.com/oauth/openid/callback.
- Salve o arquivo .env
Nota: Se estiver usando Docker, execute
docker compose up -dpara aplicar as alterações de configuração do .env
Avançado: Reutilização de Tokens
O LibreChat oferece suporte à reutilização de tokens do Azure Entra ID para o gerenciamento de sessões, o que pode proporcionar uma melhor integração com o seu ambiente Azure. Esse recurso permite que o LibreChat utilize os tokens de atualização (refresh tokens) do Azure em vez de gerenciar seus próprios tokens de sessão.
Para saber mais sobre este recurso e como configurá-lo, veja Re-use OpenID Tokens for Login Session.
Avançado: Integração com a Microsoft Graph API
Ao usar o Azure Entra ID como seu provedor OpenID, você pode habilitar a integração com a Microsoft Graph API para aprimorar o sistema de permissões e compartilhamento com recursos de pesquisa de pessoas e grupos.
Pré-requisitos
- O seu registro de aplicativo Azure deve ter as permissões adequadas da Microsoft Graph API
- O consentimento do administrador pode ser necessário para certos escopos da Graph API (como
GroupMember.Read.All)
Adicionando Permissões da Graph API
- No seu registro de aplicativo Azure, vá para API permissions
- Clique em Add a permission > Microsoft Graph > Delegated permissions
- Adicione estas permissões:
User.Read- Entrar e ler o perfil do usuárioPeople.Read- Ler contatos do usuárioGroupMember.Read.All- Ler todas as associações de grupoUser.ReadBasic.All- Ler os perfis básicos de todos os usuários
- Clique em Grant admin consent se necessário (você precisará de privilégios de administrador)
Configuração
Obrigatório: Habilitar Reutilização de Token
Importante: Você DEVE habilitar a reutilização de token OpenID para que este recurso funcione:
OPENID_REUSE_TOKENS=trueVeja Configuração de Reutilização de Tokens acima para detalhes.
Adicione as seguintes variáveis de ambiente ao seu arquivo .env:
# Enable Entra ID people search in permissions/sharing
USE_ENTRA_ID_FOR_PEOPLE_SEARCH=true
# Include group owners as members when searching groups
ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERS=true
# Microsoft Graph API scopes (these are automatically included with the OpenID scopes)
OPENID_GRAPH_SCOPES=User.Read,People.Read,GroupMember.Read.All,User.ReadBasic.AllQuando ativado, o seletor de pessoas nas caixas de diálogo de permissões e compartilhamento irá:
- Pesquise usuários locais do LibreChat e usuários do Azure Entra ID
- Exibir perfis de usuário com nomes e e-mails da sua organização
- Permitir pesquisar e selecionar grupos do Azure Entra ID
- Exibir membros do grupo com base nas suas permissões da Graph API
Notas
- A reutilização de tokens (
OPENID_REUSE_TOKENS=true) é obrigatória para que este recurso funcione - Os
OPENID_GRAPH_SCOPESsão anexados automaticamente ao seuOPENID_SCOPEexistente durante a autenticação - A pesquisa de grupo requer a permissão
GroupMember.Read.All, que normalmente precisa de consentimento do administrador - A pesquisa de usuários funciona com as permissões básicas
User.Read,People.ReadeUser.ReadBasic.All
Avançado: Integração com SharePoint
O LibreChat pode ser integrado ao SharePoint Online e ao OneDrive for Business, permitindo que os usuários naveguem e anexem arquivos diretamente de suas bibliotecas do SharePoint.
Pré-requisitos
- Todos os requisitos de Token Reuse devem ser atendidos
- O seu registro de aplicativo Azure precisa de permissões adicionais do SharePoint
- O seu registro de aplicativo Azure deve expor e conceder um escopo de API do LibreChat, como
api://<client-id>/access_as_user
Adicionando Permissões do SharePoint
- No seu registro de aplicativo Azure, vá para API permissions
- Clique em Add a permission
Para acesso ao SharePoint:
- Selecione SharePoint (não Microsoft Graph)
- Escolha Delegated permissions
- Adicionar:
AllSites.Read- Ler itens em todas as coleções de sites
Para Downloads de Arquivos:
-
Clique em Add a permission novamente
-
Selecione Microsoft Graph
-
Escolha Delegated permissions
-
Adicionar:
Files.Read.All- Ler todos os arquivos que o usuário pode acessar -
Clique em Grant admin consent para ambas as permissões
Configuração
Antes de habilitar as variáveis do SharePoint, certifique-se de que a configuração de reutilização de token OpenID solicite o escopo da API do aplicativo LibreChat. Isso fornece ao Azure um token de acesso de público-alvo do aplicativo que pode ser usado como a asserção on-behalf-of para a troca de tokens do SharePoint e do Graph.
# OpenID token reuse and OBO-compatible audience
OPENID_REUSE_TOKENS=true
OPENID_SCOPE=openid profile email offline_access api://<client-id>/access_as_user
OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=true
# Enable SharePoint file picker
ENABLE_SHAREPOINT_FILEPICKER=true
# Your SharePoint tenant URL
SHAREPOINT_BASE_URL=https://yourtenant.sharepoint.com
# SharePoint scope for file picker (replace 'yourtenant' with your actual tenant)
SHAREPOINT_PICKER_SHAREPOINT_SCOPE=https://yourtenant.sharepoint.com/AllSites.Read
# Graph API scope for downloading files
SHAREPOINT_PICKER_GRAPH_SCOPE=Files.Read.AllUso
Quando configurado corretamente:
- Os usuários verão a opção "From SharePoint" no menu de anexos de arquivo
- Clicar nele abre o seletor de arquivos nativo do SharePoint
- Os usuários podem navegar e selecionar arquivos de qualquer site do SharePoint ou OneDrive ao qual tenham acesso
- Os arquivos selecionados são baixados e anexados à conversa
Nota de Segurança
A integração com o SharePoint respeita todas as permissões existentes do SharePoint. Os usuários só podem acessar arquivos que eles já têm permissão para visualizar no SharePoint/OneDrive.
Para solução de problemas detalhada e configuração avançada, consulte: SharePoint Integration Guide
Como está este guia?