Skip to content

Microsoft 365 webhook route missing ver 1.84 #253

@Cypac-Cybersecurity

Description

@Cypac-Cybersecurity

We are running self-hosted Sublime Platform via Docker Compose using:

  • sublimesec/mantis:1.84
  • sublimesec/bora-lite:1.84

We are placing Sublime behind a Pangolin reverse proxy instead of the bundled LetsEncrypt/nginx container.

Current Pangolin routes:

  • /sublime_dashboard:80
  • /v1sublime_mantis:8000
  • /v0sublime_mantis:8000
  • /apisublime_mantis:8000
  • /notificationsublime_mantis:8000

Microsoft 365 subscription creation originally failed with:

POST https://graph.microsoft.com/v1.0/subscriptions failed HTTP 400:
InvalidRequest: NotificationUrl is a required property for subscription creation.

We found that Bora expects MICROSOFT_WEBHOOK_URL, so we added:

MICROSOFT_WEBHOOK_URL=https://example.com/notification/microsoft365/callback
MICROSOFT_SUBSCRIPTIONS_ENABLED=true
BASE_URL=https://example.com
DASHBOARD_PUBLIC_BASE_URL=https://example.com
API_PUBLIC_BASE_URL=https://example.com
CORS_ALLOW_ORIGINS=https://example.com

Both MICROSOFT_WEBHOOK_URL and MICROSOFT_SUBSCRIPTIONS_ENABLED are confirmed present in the running sublime_bora_lite and sublime_mantis containers after force-recreating both.

After adding MICROSOFT_WEBHOOK_URL, the error changed. Bora appears to send a notificationUrl, but Microsoft Graph validation fails because the endpoint does not return the expected validation token.

Direct test inside the Mantis container:

curl -i "http://localhost:8000/notification/microsoft365/callback?validationToken=test123"

returns:

HTTP/1.1 404 Not Found
404 page not found

We also tested these paths directly against Mantis and they all return 404:

/notification/microsoft365/callback
/v1/notification/microsoft365/callback
/v1/api_ms_notifications
/v1/microsoftNotifications
/api/microsoftNotifications
/microsoft365/callback
/v1/microsoft365/callback

The only Microsoft-related route we found is:

GET /v1/oauth/microsoft365/callback

but that returns:

501 non-cloud oauth currently not supported

That appears to be the OAuth callback, not the Microsoft Graph change notification webhook.

Because /notification/microsoft365/callback returns 404 directly inside the Mantis container, this does not appear to be a Pangolin/reverse-proxy routing issue.

Questions:

  1. Is Microsoft Graph subscription webhook handling supported in self-hosted Sublime 1.84?
  2. What exact MICROSOFT_WEBHOOK_URL should be used?
  3. What exact route should echo the Microsoft Graph validationToken?
  4. Is there another env var or feature flag required to mount the Graph notification route?
  5. Is this a known issue in sublimesec/mantis:1.84 or sublimesec/bora-lite:1.84?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions