itkdev/adgangsstyring

此软件包已被废弃且不再维护。作者建议使用itk-dev/azure-ad-delta-sync软件包。

Azure AD Delta Sync流程的Composer软件包

1.0.1 2021-09-01 08:23 UTC

This package is auto-updated.

Last update: 2024-06-11 09:23:33 UTC


README

Azure AD Delta Sync流程的Composer软件包。

参考

用法

如果您想在Symfony或Drupal项目中使用此软件包,您应该使用以下之一

直接安装

要直接安装此软件包,请运行

composer require itk-dev/azure-ad-delta-sync

流程

要启动流程,需要调用Controllerrun(HandlerInterface $handler)命令。

因此,您必须创建自己的处理程序,该处理程序实现了HandlerInterface

示例用法

<?php

use ItkDev\AzureAdDeltaSync\Handler\HandlerInterface;

class SomeHandler implements HandlerInterface
{
    public function collectUsersForDeletionList(): void
    {
        // Some start logic
    }

    public function removeUsersFromDeletionList(array $users): void
    {
        // Some user logic
    }

    public function commitDeletionList(): void
    {
        // Some commit logic
    }
}

请注意,removeUsersFromDeletionList()可能会被多次调用,因为我们每请求限制100个用户。

要启动流程,提供一个实现PSR-18 ClientInterface的HTTP客户端,以及下面的示例中看到的所需选项。

注意,此示例使用Guzzle HTTP客户端。有关实现PSR-18的库列表,请点击这里

use GuzzleHttp\Client;
use ItkDev\AzureAdDeltaSync\Controller;


$options = [
  'tenant_id' => 'something.onmicrosoft.com', // Tenant id 
  'client_id' => 'some_client_id', // Client id assigned by authorizer
  'client_secret' => 'some_client_secret', // Client password assigned by authorizer
  'group_id' => 'some_group_id', // Group id provided by authorizer
];

$handler = new SomeHandler();

$client = new Client();
$controller = new Controller($client, $this->options);

$controller->run($handler);

一般评论

请注意,此软件包不执行用户的同步,而是提供当前分配给有关组的所有用户的列表。

如果指定的组不包含任何用户,则会抛出异常。这是为了避免使用系统给人留下每个用户都应该被删除的印象。

开发设置

此项目包含一个docker-compose.yml文件,其中包含PHP 7.4映像。要安装依赖项,您可以运行

docker compose up -d
docker compose exec phpfpm composer install

单元测试

我们使用PHPUnit进行单元测试。要运行测试

docker compose exec phpfpm composer install
docker compose exec phpfpm ./vendor/bin/phpunit tests

测试套件使用模拟来生成测试替身。

检查编码标准

  • PHP文件(PHP_CodeSniffer)

    docker compose exec phpfpm composer check-coding-standards
  • Markdown文件(markdownlint标准规则)

    docker run -v ${PWD}:/app itkdev/yarn:latest install
    docker run -v ${PWD}:/app itkdev/yarn:latest check-coding-standards

GitHub Actions

上述所有代码检查都会在创建pull request时自动由GitHub Actions运行。

要本地运行操作,请安装act并运行

act -P ubuntu-latest=shivammathur/node:focal pull_request

使用act -P ubuntu-latest=shivammathur/node:focal pull_request --list查看可以运行的单独工作流作业,例如

act -P ubuntu-latest=shivammathur/node:focal pull_request --job phpcsfixer

应用编码标准

  • PHP文件(PHP_CodeSniffer)

    docker compose exec phpfpm composer apply-coding-standards
  • Markdown文件(markdownlint标准规则)

    docker run -v ${PWD}:/app itkdev/yarn:latest install
    docker run -v ${PWD}:/app itkdev/yarn:latest apply-coding-standards

版本控制

我们使用SemVer进行版本控制。有关可用的版本,请参阅此存储库的标签

许可证

此项目受MIT许可证的许可 - 有关详细信息,请参阅LICENSE.md文件