Pular para o conteúdo

Integracao Microsoft 365 (Teams + Graph API + Azure AD SSO + OneDrive)

Como integrar Studeia com Microsoft 365: SSO via Azure AD (SAML/OIDC/SCIM), Microsoft Teams como video provider, OneDrive sync para biblioteca de midia, Graph API para eventos de calendario.

2026-05-24 6 min
Resposta curta

Studeia integra com Microsoft 365 em 4 aspectos: (1) SSO Enterprise via Azure AD (SAML 2.0, OIDC, SCIM 2.0 com group→course mapping para auto-matricula). (2) Microsoft Teams como video provider de aulas ao vivo via Graph API. (3) OneDrive sync bidirecional na biblioteca de midia. (4) Outlook Calendar sync. Funciona com Microsoft 365 A1/A3/A5 (Education) ou Business/Enterprise.

4 pontos de integracao

1. Azure AD SSO (SAML / OIDC)

Setup OIDC (recomendado):

  1. Azure Portal > Azure Active Directory > App registrations > New registration
  2. Redirect URI: https://[tenant].studeia.com/api/auth/sso/[slug]/oidc/callback
  3. Certificates & secrets > New client secret
  4. API permissions: openid, profile, email
  5. Studeia > Settings > SSO > Add Provider > OIDC
  6. Discovery URL: https://login.microsoftonline.com/{tenantId}/v2.0/.well-known/openid-configuration
  7. Client ID + Client Secret do passo 3

Allowed domains: @escola.edu.br (anti-shadow accounts).

JIT provisioning + atributos mapeados via SsoAttributeMapping.

2. SCIM 2.0 (provisionamento automatico)

Setup:

  1. Azure Portal > Enterprise Applications > Studeia > Provisioning
  2. Provisioning Mode: Automatic
  3. Tenant URL: https://[tenant].studeia.com/api/scim/v2
  4. Secret Token: gerado em Studeia > Settings > SSO > SCIM Token (criptografado AES-256-GCM)
  5. Test Connection
  6. Mappings: padrao Microsoft Graph (firstName, lastName, mail, displayName, accountEnabled, groups)
  7. Scope: "Sync only assigned users and groups"
  8. Settings: cycle interval = 40 minutes (default)
  9. Start provisioning

Group → Course mapping: Settings > SSO > Groups. Mapeie grupo AD (ex: "Engenharia 2026.1") para Course no Studeia. Quando AD adiciona usuario ao grupo, Studeia auto-matricula.

Grupos grandes (>50 membros): processados via BullMQ async (scim-group-sync queue), Response 202 + jobId.

3. Microsoft Teams (video provider)

Setup:

  1. Azure AD > App registration > API Permissions > Microsoft Graph:
    • OnlineMeetings.ReadWrite.All
    • OnlineMeetingRecording.Read.All
    • Tipo: Application (nao Delegated)
  2. Admin consent (precisa de Global Administrator)
  3. Studeia > Settings > Video Provider > Teams > Tenant ID + Client ID + Client Secret + Organizer email
  4. Auth: Client Credentials flow (sem usuario interativo)

Webhook: /api/webhooks/video/teams com Graph Change Notifications. Subscription validation via validationToken retorno.

Limitacao: endMeeting nao suportado via Graph API — adapter marca como completed localmente.

4. OneDrive sync (biblioteca de midia)

Mesmo padrao do Drive integration:

  • DriveIntegration model com provider=onedrive
  • Tokens OAuth criptografados AES-256-GCM
  • Cron /api/cron/drive-sync sincroniza periodicamente
  • Operacoes: import / export / sync bidirecional / backup

Setup completo (1-2 horas)

EtapaTempo
1. Azure AD App registration10min
2. Configurar API permissions + admin consent10min
3. SSO OIDC em Studeia5min
4. SCIM provisioning30-45min
5. Teams provider10min
6. OneDrive integration10min
7. Testar com 5 usuarios piloto10min

Troubleshooting

"AADSTS50011: Reply URL mismatch"

Redirect URI no Azure AD nao bate com o configurado em Studeia. Verificar exato match (case-sensitive).

SCIM "User not found in directory"

Usuario foi removido do grupo no AD mas Studeia ainda referencia. Aguardar proximo cycle (40min) ou trigger manual via Provisioning > Provision on demand.

Teams meeting cria mas sem audio

Organizer email no Studeia config nao tem licenca Teams ativa. Verificar Microsoft 365 admin center.

LGPD + GDPR

  • Tokens OAuth criptografados AES-256-GCM (regra 15)
  • SCIM Bearer token criptografado (regra 85)
  • Audit completo via ScimAuditLog (regra 89)
  • Microsoft DPA aplicavel para empresas europeias

Veja tambem

FAQ

Studeia integra com Microsoft 365?

Sim. (1) SSO Enterprise via Azure AD (SAML 2.0 OU OIDC + SCIM 2.0 para provisionamento automatico). (2) Microsoft Teams como video provider de aulas ao vivo via Graph API. (3) OneDrive sync na biblioteca de midia (mesmo padrao do Google Drive). (4) Outlook Calendar sync de aulas ao vivo via Graph API.

Funciona com Microsoft 365 A1 (Education gratis)?

Sim para SSO + Teams + OneDrive. Limites de Graph API podem afetar SCIM em escala (>1000 users). Recomendado A3/A5 para escolas medias/grandes que querem provisioning robusto.

Setup SCIM com Azure AD demora quanto?

1-2 horas. Azure Portal > Enterprise Applications > Add app > 'Studeia' (catalog ou custom) > Provisioning > Mode: Automatic > Tenant URL: https://[tenant].studeia.com/api/scim/v2 > Secret Token (gerado em Studeia Settings > SSO > SCIM Token) > mappings default (Microsoft Graph compatible) > Start provisioning.

Posso usar Teams como provider e ainda usar Zoom em algumas aulas?

Sim. Configure ambos providers em Settings > Video Provider. Para cada LiveClass admin escolhe qual provider usar (LiveClass.videoProvider override sobre default do tenant).

Veja tambem

Integracao Microsoft 365 (Teams + Graph API + Azure AD SSO + OneDrive) | Studeia Docs