luan1schons / scim-schema
SCIM 架构库
dev-main
2022-06-20 12:24 UTC
Requires
- php: ^5.6|^7.0
Requires (Dev)
- phpunit/phpunit: ^4.8|^5.6
- satooshi/php-coveralls: ^1.0
This package is auto-updated.
Last update: 2024-09-20 17:27:31 UTC
README
支持 v1 和 v2 的 SCIM 架构 PHP 库。
注意: 此库仍在开发中,欢迎帮助和贡献
它由 SimpleCloud 规范 SimpleCloud 和由 PowerDMS/Owin.Scim 生成的示例文档 PowerDMS/Owin.Scim 制成
不要错过 SCIM 过滤解析器 !
架构
构建默认架构
<?php $schemaBuilder = new SchemaBuilderV2(); // or SchemaBuilderV1 $groupSchema = $schemaBuilder->getGroup(); $userSchema = $schemaBuilder->getUser(); $enterpriseUserSchema = $schemaBuilder->getEnterpriseUser(); $schemaSchema = $schemaBuilder->getSchema(); $serviceProviderConfigSchema = $schemaBuilder->getServiceProviderConfig(); $resourceTypeSchema = $schemaBuilder->getResourceType();
或者构建您自己的自定义架构
<?php $schema = new Schema(); $schema->setName('CustomSchema); $schema->addAttribute( AttributeBuilder::create('name', ScimConstants::ATTRIBUTE_TYPE_STRING, 'Name of the object') ->setMutability(false) ->getAttribute() );
并序列化 SCIM 架构对象
<?php $schema = (new SchemaBuilderV2())->getUser(); $schema->serializeObject();
架构验证
一个对象可以与架构进行验证
/** @var array $object */ $object = getTheObjectAsArray(); $validator = new SchemaValidator(); $objectSchema = getTheSchema(); $schemaExtensions = getSchemaExtensions(); $validationResult = $validator->validate( $object, $objectSchema, $schemaExtensions ); if (!$validationResult->getErrors()) { // cool! } else { print implode("\n", $validationResult->getErrorsAsStrings()); }