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:
mailinstead ofemaildisplayNameinstead ofnameidinstead ofsub
Solution: User info parsing now supports multiple formats:
Email (priority order):
email- Standard OIDC (Google, GitHub, GitLab)mail- Microsoft Graph APIuserPrincipalName- Microsoft fallback (UPN format)
Display name (priority order):
name- Standard OIDCgiven_name+family_name- OIDC claimsdisplayName- Microsoft Graph API (camelCase)cn- LDAPdisplay_name- Some providers (snake_case)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
- Full Changelog: https://github.com/btouchard/ackify-ce/blob/main/CHANGELOG.md
- Documentation: https://github.com/btouchard/ackify-ce/blob/main/README.md
- Diff: v1.2.4...v1.2.5
📝 Migration from v1.2.4
Version 100% backward compatible with v1.2.4.
Update
docker compose pull
docker compose up -dNo 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 :
mailau lieu deemaildisplayNameau lieu denameidau lieu desub
Solution : Le parsing des informations utilisateur supporte maintenant plusieurs formats :
Email (ordre de priorité) :
email- Standard OIDC (Google, GitHub, GitLab)mail- Microsoft Graph APIuserPrincipalName- Microsoft fallback (format UPN)
Nom d'affichage (ordre de priorité) :
name- Standard OIDCgiven_name+family_name- Claims OIDCdisplayName- Microsoft Graph API (camelCase)cn- LDAPdisplay_name- Certains providers (snake_case)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
- Changelog complet : https://github.com/btouchard/ackify-ce/blob/main/CHANGELOG.md
- Documentation : https://github.com/btouchard/ackify-ce/blob/main/README.md
- Diff : v1.2.4...v1.2.5
📝 Migration depuis v1.2.4
Version 100% rétrocompatible avec v1.2.4.
Mise à jour
docker compose pull
docker compose up -dAucune 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.