PHPackages                             howard/howard\_openid\_connect\_windows\_aad - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. howard/howard\_openid\_connect\_windows\_aad

ActiveDrupal-module[Authentication &amp; Authorization](/categories/authentication)

howard/howard\_openid\_connect\_windows\_aad
============================================

Professional Drupal module providing seamless integration between Drupal and Microsoft Azure Active Directory through OpenID Connect, specifically customized for Howard University's authentication requirements.

v11.0.10(5mo ago)0198GPL-2.0-or-laterPHPPHP &gt;=8.1

Since Nov 1Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/howard-university-web-services/howard_openid_connect_windows_aad)[ Packagist](https://packagist.org/packages/howard/howard_openid_connect_windows_aad)[ Docs](https://github.com/howard-university-web-services/howard_openid_connect_windows_aad)[ RSS](/packages/howard-howard-openid-connect-windows-aad/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (7)Versions (27)Used By (0)

Howard OpenID Connect Windows Azure Active Directory
====================================================

[](#howard-openid-connect-windows-azure-active-directory)

[![License](https://camo.githubusercontent.com/a02a598bc2ea636d980ea7097dcb89854da2462c702df6cfb4ef4e63d4e79747/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d47504c253230322532422d626c75652e737667)](LICENSE)[![Drupal](https://camo.githubusercontent.com/1250184f2122199e057c4780d1d8fdc85c37da25c7d9c5d0a248cf241d5046f3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64727570616c2d392e7825323025374325323031302e7825323025374325323031312e782d626c75652e737667)](https://www.drupal.org)[![PHP](https://camo.githubusercontent.com/f870cee2a2e2a442c6b62c8bf79f45ec0ce794dc5af13834902518c9107230f9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e312532422d626c75652e737667)](https://php.net)

A professional Drupal module providing seamless integration between Drupal and Microsoft Azure Active Directory through OpenID Connect, specifically customized for Howard University's authentication requirements.

Quick Start
-----------

[](#quick-start)

1. **Install the module:**

    ```
    composer require howard/howard_openid_connect_windows_aad
    drush en howard_openid_connect_windows_aad
    ```
2. **Configure Azure AD:**

    - Set up your Azure AD application ([detailed guide](docs/INSTALL.md))
    - Configure redirect URIs and permissions
3. **Configure Drupal:**

    - Visit `/admin/config/services/openid-connect`
    - Select "Howard University Azure AD" as client
    - Enter your Azure AD credentials
4. **Test authentication:**

    - Visit `/openid-connect/howard_windows_aad`
    - Complete the SSO flow

Features
--------

[](#features)

### 🔐 Secure Authentication

[](#-secure-authentication)

- **Single Sign-On (SSO)** with Azure Active Directory
- **OAuth2/OpenID Connect** compliance
- **CSRF protection** and secure token handling
- **HTTPS enforcement** for all authentication flows

### 👥 User Management

[](#-user-management)

- **Automatic user creation** from Azure AD profiles
- **Profile synchronization** with Azure AD data
- **Group-based role mapping** from Azure AD to Drupal roles
- **Microsoft Graph API integration** for enhanced group fetching
- **Automatic fallback** to Graph API when groups are missing from authentication
- **Customizable user field mapping**

### 🛠 Howard University Customizations

[](#-howard-university-customizations)

- **Specialized authentication flow** for Howard University
- **Custom group mapping logic** for Howard's organizational structure
- **Enhanced security measures** for educational environments
- **Integration with Howard's existing systems**

### 🎨 User Experience

[](#-user-experience)

- **Seamless login experience** with Azure AD credentials
- **Automatic redirects** to intended destinations
- **Clean user interfaces** with hidden local password fields
- **Mobile-responsive** authentication flows

### ⚙️ Administration

[](#️-administration)

- **Comprehensive configuration options** through Drupal admin UI
- **Detailed logging** for authentication events and errors
- **Flexible role mapping** configuration
- **Easy troubleshooting** with built-in diagnostics

Architecture
------------

[](#architecture)

This module extends Drupal's OpenID Connect ecosystem with:

- **Plugin-based architecture** for easy extension
- **Event-driven processing** for customization hooks
- **Service-oriented design** with dependency injection
- **Configuration API integration** for settings management
- **PSR-4 compliant** autoloading and namespace organization

Documentation
-------------

[](#documentation)

DocumentDescription**[Installation Guide](docs/INSTALL.md)**Complete setup instructions with Azure AD configuration**[API Documentation](docs/API.md)**Technical API reference and integration details**[Developer Guide](docs/DEVELOPER.md)**Development setup, testing, and contribution guidelines**[Changelog](docs/CHANGELOG.md)**Version history and release notes**[Coding Standards](docs/CODING_STANDARDS.md)**Code quality and style guidelines**[Release Checklist](docs/RELEASE_CHECKLIST.md)**Quality assurance and release proceduresRequirements
------------

[](#requirements)

### System Requirements

[](#system-requirements)

- **Drupal:** 9.x, 10.x, or 11.x
- **PHP:** 8.1 or higher
- **Database:** MySQL 5.7+, PostgreSQL 10+, or MariaDB 10.3+
- **Web Server:** Apache 2.4+ or Nginx 1.12+

### Dependencies

[](#dependencies)

- **[OpenID Connect](https://www.drupal.org/project/openid_connect)** (^1.4 || ^2.0 || ^3.0)
- **Azure AD tenant** with configured application
- **SSL/TLS certificate** (required for production)

### Recommended

[](#recommended)

- **[idfive Component Library](https://bitbucket.org/idfivellc/idfive-component-library)** for UI components
- **[idfive Component Library D8 Theme](https://bitbucket.org/idfivellc/idfive-component-library-d8-theme)** for styling

Installation
------------

[](#installation)

### Via Composer (Recommended)

[](#via-composer-recommended)

```
# Install the module
composer require howard/howard_openid_connect_windows_aad

# Enable the module
drush en howard_openid_connect_windows_aad

# Clear cache
drush cr
```

### Manual Installation

[](#manual-installation)

1. Download the latest release from the repository
2. Extract to `modules/contrib/howard_openid_connect_windows_aad`
3. Enable via Drupal admin interface or Drush

For detailed installation instructions, see the [Installation Guide](docs/INSTALL.md).

Configuration
-------------

[](#configuration)

### Basic Setup

[](#basic-setup)

1. **Navigate to OpenID Connect settings:**

    ```
    Administration » Configuration » Web Services » OpenID Connect

    ```
2. **Select Howard University Azure AD client:**

    - Check "Howard University Azure AD"
    - Configure client credentials from Azure AD
3. **Configure role mapping:**

    - Map Azure AD groups to Drupal roles
    - Set default roles for new users
4. **Test the configuration:**

    - Use the built-in test functionality
    - Verify user creation and role assignment

### Advanced Configuration

[](#advanced-configuration)

- **Custom field mapping** for user profiles
- **Group-based access control** configuration
- **Logging and monitoring** setup
- **Performance optimization** settings

See the [Installation Guide](docs/INSTALL.md) for comprehensive configuration details.

Security
--------

[](#security)

This module implements enterprise-grade security measures:

- ✅ **OAuth2/OpenID Connect** standard compliance
- ✅ **HTTPS enforcement** for all authentication flows
- ✅ **CSRF protection** using state parameters
- ✅ **Token validation** and secure storage
- ✅ **Input sanitization** and output encoding
- ✅ **Session security** with proper handling
- ✅ **Regular security audits** and updates

For detailed security information, see the [Installation Guide](docs/INSTALL.md#security-considerations).

Support
-------

[](#support)

### Getting Help

[](#getting-help)

- **Documentation:** Check the [docs](docs/) directory for comprehensive guides
- **Issues:** Report bugs and feature requests through the project repository
- **Community:** Join Howard University's developer community discussions

### Professional Support

[](#professional-support)

For enterprise support and custom development:

- Contact Howard University IT Services
- Professional consulting available through approved vendors

Contributing
------------

[](#contributing)

We welcome contributions! Please see our [Developer Guide](docs/DEVELOPER.md) for:

- Development environment setup
- Coding standards and guidelines
- Testing requirements
- Submission process

### Quick Contribution Guide

[](#quick-contribution-guide)

1. Fork the repository
2. Create a feature branch
3. Make your changes following our coding standards
4. Add/update tests as needed
5. Update documentation
6. Submit a pull request

Testing
-------

[](#testing)

```
# Run unit tests
./vendor/bin/phpunit

# Check coding standards
./vendor/bin/phpcs --standard=Drupal,DrupalPractice src/

# Static analysis
./vendor/bin/phpstan analyse src/
```

See the [Developer Guide](docs/DEVELOPER.md#testing) for comprehensive testing information.

Changelog
---------

[](#changelog)

See [CHANGELOG.md](docs/CHANGELOG.md) for detailed version history and release notes.

License
-------

[](#license)

This project is licensed under the GNU General Public License v2.0 or later - see the [LICENSE](LICENSE) file for details.

Credits
-------

[](#credits)

### Development Team

[](#development-team)

- **Howard University IT Services** - Primary development and maintenance
- **idfive** - Component library and theming support

### Based On

[](#based-on)

- **[OpenID Connect Microsoft Azure Active Directory client](https://www.drupal.org/project/openid_connect_windows_aad)** - Original foundation module
- **[OpenID Connect](https://www.drupal.org/project/openid_connect)** - Core OpenID Connect functionality

### Special Thanks

[](#special-thanks)

- Drupal community for the robust OpenID Connect ecosystem
- Microsoft for comprehensive Azure AD documentation
- All contributors and beta testers

---

**Howard University | Information Technology Services**
*Empowering education through innovative technology solutions*

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance71

Regular maintenance activity

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 91.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~61 days

Recently: every ~21 days

Total

26

Last Release

161d ago

Major Versions

8.1.16 → 11.0.02025-05-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/b26755984e1a3152bf53dffa104c927637b824f54c2aa817f02a5039cf22c60c?d=identicon)[danrogers](/maintainers/danrogers)

---

Top Contributors

[![drogers98](https://avatars.githubusercontent.com/u/3209424?v=4)](https://github.com/drogers98 "drogers98 (33 commits)")[![Skerins42](https://avatars.githubusercontent.com/u/105609564?v=4)](https://github.com/Skerins42 "Skerins42 (3 commits)")

---

Tags

AuthenticationdrupalSSOoauth2microsoftazuresingle sign onmoduleactive directoryenterpriseOpenID ConnectHoward University

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/howard-howard-openid-connect-windows-aad/health.svg)

```
[![Health](https://phpackages.com/badges/howard-howard-openid-connect-windows-aad/health.svg)](https://phpackages.com/packages/howard-howard-openid-connect-windows-aad)
```

###  Alternatives

[thenetworg/oauth2-azure

Azure Active Directory OAuth 2.0 Client Provider for The PHP League OAuth2-Client

24610.3M72](/packages/thenetworg-oauth2-azure)[calcinai/oauth2-xero

Xero OAuth 2.0 Client Provider for The PHP League OAuth2-Client

103.3M4](/packages/calcinai-oauth2-xero)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
