Skip to content

Permify/permify-php

Repository files navigation

permify-php

Permify is an open source authorization service for creating fine-grained and scalable authorization systems.

For more information, please visit https://github.com/Permify/permify/issues.

Installation & Usage

Requirements

PHP 7.4 and later. Should also work with PHP 8.0.

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/permify-php/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');




$apiInstance = new Permify\Api\BundleApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$tenant_id = 'tenant_id_example'; // string | Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
$body = new \Permify\Model\BundleDeleteBody(); // \Permify\Model\BundleDeleteBody

try {
    $result = $apiInstance->bundleDelete($tenant_id, $body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling BundleApi->bundleDelete: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
BundleApi bundleDelete POST /v1/tenants/{tenant_id}/bundle/delete delete bundle
BundleApi bundleRead POST /v1/tenants/{tenant_id}/bundle/read read bundle
BundleApi bundleWrite POST /v1/tenants/{tenant_id}/bundle/write write bundle
DataApi bundleRun POST /v1/tenants/{tenant_id}/data/run-bundle run bundle
DataApi dataAttributesRead POST /v1/tenants/{tenant_id}/data/attributes/read read attributes
DataApi dataDelete POST /v1/tenants/{tenant_id}/data/delete delete data
DataApi dataRelationshipsRead POST /v1/tenants/{tenant_id}/data/relationships/read read relationships
DataApi dataWrite POST /v1/tenants/{tenant_id}/data/write write data
DataApi relationshipsDelete POST /v1/tenants/{tenant_id}/relationships/delete delete relationships
DataApi relationshipsWrite POST /v1/tenants/{tenant_id}/relationships/write write relationships
PermissionApi permissionsBulkCheck POST /v1/tenants/{tenant_id}/permissions/bulk-check bulk check api
PermissionApi permissionsCheck POST /v1/tenants/{tenant_id}/permissions/check check api
PermissionApi permissionsExpand POST /v1/tenants/{tenant_id}/permissions/expand expand api
PermissionApi permissionsLookupEntity POST /v1/tenants/{tenant_id}/permissions/lookup-entity lookup entity
PermissionApi permissionsLookupEntityStream POST /v1/tenants/{tenant_id}/permissions/lookup-entity-stream lookup entity stream
PermissionApi permissionsLookupSubject POST /v1/tenants/{tenant_id}/permissions/lookup-subject lookup-subject
PermissionApi permissionsSubjectPermission POST /v1/tenants/{tenant_id}/permissions/subject-permission subject permission
SchemaApi schemasList POST /v1/tenants/{tenant_id}/schemas/list list schema
SchemaApi schemasPartialWrite PATCH /v1/tenants/{tenant_id}/schemas/partial-write partially update your authorization model
SchemaApi schemasRead POST /v1/tenants/{tenant_id}/schemas/read read schema
SchemaApi schemasWrite POST /v1/tenants/{tenant_id}/schemas/write write schema
TenancyApi tenantsCreate POST /v1/tenants/create create tenant
TenancyApi tenantsDelete DELETE /v1/tenants/{id} delete tenant
TenancyApi tenantsList POST /v1/tenants/list list tenants
WatchApi watchWatch POST /v1/tenants/{tenant_id}/watch watch changes

Models

Authorization

Authentication schemes defined for the API:

ApiKeyAuth

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

hello@permify.co

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: v1.5.4
    • Package version: v1.5.4
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen

About

Use Permify in server-side PHP Projects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •