itk-dev / azure_ad_delta_sync
Azure AD Delta Sync for Drupal
Requires
- drush/drush: ^9 || ^10
- itk-dev/azure-ad-delta-sync: ^1.0
- itk-dev/drupal_psr6_cache: ^1.0
- symfony/http-client: ^5.3
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- drupal/coder: ^8.3
- mglaman/drupal-check: ^1.1
This package is auto-updated.
Last update: 2024-09-08 11:11:45 UTC
README
为Azure AD Delta Sync提供的Drupal模块。
安装
composer require itk-dev/azure_ad_delta_sync vendor/bin/drush pm:enable azure_ad_delta_sync
转到 /admin/config/azure_ad_delta_sync
以设置该模块。
你可能需要在 settings.local.php
中添加Azure API密钥,例如:
# settings.local.php $config['azure_ad_delta_sync.settings']['azure']['client_id'] = '…'; $config['azure_ad_delta_sync.settings']['azure']['client_secret'] = '…'; $config['azure_ad_delta_sync.settings']['azure']['group_id'] = '…'; $config['azure_ad_delta_sync.settings']['azure']['tenant_id'] = '…';
此外,你可能想要安装Config Ignore模块,并在将配置提交到版本控制系统时忽略azure_ad_delta_sync.settings
配置。
使用
cron作业应定期运行以下命令
vendor/bin/drush azure_ad_delta_sync:run --force
运行vendor/bin/drush azure_ad_delta_sync:run --help
以获取命令的详细信息。
开发
对于开发,你需要一个完整的Drupal项目。有关示例,请参阅itk-dev/azure-ad-delta-sync-drupal-test。
我们使用懒加载服务azure_ad_delta_sync.user_manager
(Drupal\azure_ad_delta_sync\UserManager
)和azure_ad_delta_sync.controller
(Drupal\azure_ad_delta_sync\Controller
),这需要生成一个代理类(参考https://www.webomelette.com/lazy-loaded-services-drupal-8)。
运行以下命令以更新代理类
php «DRUPAL_ROOT»/web/core/scripts/generate-proxy-class.php 'Drupal\azure_ad_delta_sync\UserManager' web/modules/contrib/azure_ad_delta_sync/src php «DRUPAL_ROOT»/web/core/scripts/generate-proxy-class.php 'Drupal\azure_ad_delta_sync\Controller web/modules/contrib/azure_ad_delta_sync/src
自动化测试
需要完整的Drupal安装,并将azure_ad_delta_sync
模块放在web/modules/contrib
文件夹中。
(cd «DRUPAL_ROOT»/web; ../vendor/bin/phpunit modules/contrib/azure_ad_delta_sync/tests/src/Functional)
编码标准
代码遵循Drupal编码标准(参考phpcs.xml.dist
),并通过运行进行检查
composer install composer coding-standards-check
使用
composer coding-standards-apply
自动修复一些编码标准违规。
代码分析
drupal-check用于执行代码的静态分析。运行
composer code-analysis
GitHub Actions
我们使用GitHub Actions来检查编码标准,执行代码分析和运行自动化测试,每当有pull request提交时(参考.github/workflows/pr.yaml
)。
在提交pull request之前,您可以在本地运行GitHub Actions以检查是否存在任何问题
安装act
并运行
act -P ubuntu-latest=shivammathur/node:focal pull_request
(参考https://github.com/shivammathur/setup-php#local-testing-setup)。