github btouchard/ackify-ce v1.2.5
🎉 Ackify CE v1.2.5 - Microsoft OAuth Support

7 hours ago

Patch release adding full support for Microsoft Azure AD / Entra ID as OAuth provider.

🐛 Bug Fixes

🔐 Microsoft OAuth Support (Azure AD / Entra ID)

Issue fixed: Microsoft authentication was failing with "missing email in user info response" error.

Root cause: Microsoft Graph API (https://graph.microsoft.com/v1.0/me) returns user information in different fields than standard OIDC:

  • mail instead of email
  • displayName instead of name
  • id instead of sub

Solution: User info parsing now supports multiple formats:

Email (priority order):

  1. email - Standard OIDC (Google, GitHub, GitLab)
  2. mail - Microsoft Graph API
  3. userPrincipalName - Microsoft fallback (UPN format)

Display name (priority order):

  1. name - Standard OIDC
  2. given_name + family_name - OIDC claims
  3. displayName - Microsoft Graph API (camelCase)
  4. cn - LDAP
  5. display_name - Some providers (snake_case)
  6. preferred_username - Fallback

🧪 Tests

  • 3 new test cases for Microsoft Graph API
  • Email field priority validation
  • Complete multi-provider parsing coverage

📚 Impact

  • Microsoft Azure AD: Working authentication
  • Microsoft Entra ID: Full support
  • Backward compatibility: No impact on other providers (Google, GitHub, GitLab, custom)

🔗 Useful Links

📝 Migration from v1.2.4

Version 100% backward compatible with v1.2.4.

Update

docker compose pull
docker compose up -d

No database migration or configuration changes required.

Microsoft OAuth Configuration

To use Microsoft as OAuth provider:

ACKIFY_OAUTH_PROVIDER=""  # Leave empty for custom
ACKIFY_OAUTH_CLIENT_ID="your-client-id"
ACKIFY_OAUTH_CLIENT_SECRET="your-client-secret"
ACKIFY_OAUTH_AUTH_URL="https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize"
ACKIFY_OAUTH_TOKEN_URL="https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token"
ACKIFY_OAUTH_USERINFO_URL="https://graph.microsoft.com/v1.0/me"
ACKIFY_OAUTH_SCOPES="openid,email,profile,User.Read"

Replace {tenant} with your Azure tenant ID or common for multi-tenant.


🎉 Ackify CE v1.2.5 - Support Microsoft OAuth

Version de correction ajoutant le support complet de Microsoft Azure AD / Entra ID comme fournisseur OAuth.

🐛 Corrections

🔐 Support Microsoft OAuth (Azure AD / Entra ID)

Problème résolu : L'authentification Microsoft échouait avec l'erreur "missing email in user info response".

Cause : Microsoft Graph API (https://graph.microsoft.com/v1.0/me) retourne les informations utilisateur dans des champs différents du standard OIDC :

  • mail au lieu de email
  • displayName au lieu de name
  • id au lieu de sub

Solution : Le parsing des informations utilisateur supporte maintenant plusieurs formats :

Email (ordre de priorité) :

  1. email - Standard OIDC (Google, GitHub, GitLab)
  2. mail - Microsoft Graph API
  3. userPrincipalName - Microsoft fallback (format UPN)

Nom d'affichage (ordre de priorité) :

  1. name - Standard OIDC
  2. given_name + family_name - Claims OIDC
  3. displayName - Microsoft Graph API (camelCase)
  4. cn - LDAP
  5. display_name - Certains providers (snake_case)
  6. preferred_username - Fallback

🧪 Tests

  • 3 nouveaux cas de test pour Microsoft Graph API
  • Validation de la priorité des champs email
  • Couverture complète du parsing multi-providers

📚 Impact

  • Microsoft Azure AD : Authentification fonctionnelle
  • Microsoft Entra ID : Support complet
  • Rétrocompatibilité : Aucun impact sur les autres providers (Google, GitHub, GitLab, custom)

🔗 Liens Utiles

📝 Migration depuis v1.2.4

Version 100% rétrocompatible avec v1.2.4.

Mise à jour

docker compose pull
docker compose up -d

Aucune migration de base de données ou changement de configuration requis.

Configuration Microsoft OAuth

Pour utiliser Microsoft comme provider OAuth :

ACKIFY_OAUTH_PROVIDER=""  # Laisser vide pour custom
ACKIFY_OAUTH_CLIENT_ID="votre-client-id"
ACKIFY_OAUTH_CLIENT_SECRET="votre-client-secret"
ACKIFY_OAUTH_AUTH_URL="https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize"
ACKIFY_OAUTH_TOKEN_URL="https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token"
ACKIFY_OAUTH_USERINFO_URL="https://graph.microsoft.com/v1.0/me"
ACKIFY_OAUTH_SCOPES="openid,email,profile,User.Read"

Remplacez {tenant} par votre tenant ID Azure ou common pour multi-tenant.

Don't miss a new ackify-ce release

NewReleases is sending notifications on new releases.