承接 cloudinary/permissions 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cloudinary/permissions

Composer 安装命令:

composer require cloudinary/permissions

包简介

Accounts with Permissions API access can manage custom permission policies. These policies assign permissions for a principal, allowing the principal to perform a specific action on a designated resource within a particular scope (your account or a product environment). Refer to the [Permissions A

README 文档

README

Accounts with Permissions API access can manage custom permission policies. These policies assign permissions for a principal, allowing the principal to perform a specific action on a designated resource within a particular scope (your account or a product environment).

Refer to the Permissions API guide for instructions on what to specify in the policy_statement to control Cloudinary activities, and to the Cedar schema, which defines the possible values for principals, actions, and resources.

The API uses Basic Authentication over HTTPS. Your Provisioning Key and Provisioning Secret are used for the authentication. These credentials (as well as your ACCOUNT_ID) are located in the Cloudinary Console under Settings > Account > Provisioning API Access.

The Permissions API has dedicated SDKs for the following languages:

  • JavaScript
  • PHP
  • Java

For more information, please visit https://support.cloudinary.com.

Installation & Usage

Requirements

PHP 8.1 and later.

Composer

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

{
  "require": {
    "cloudinary/permissions": "*"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

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

Configuration

The API uses Basic Authentication over HTTPS.

Your Cloudinary Account ID, Provisioning Key and Provisioning Secret are used for the authentication.

These ID's are located in the Cloudinary Console under Settings > Account > Provisioning API Access, or they can be obtained from the provisioning environment variable available on your Cloudinary Console Dashboard

(in the form: CLOUDINARY_ACCOUNT_URL=account://<PROVISIONING_KEY>:<PROVISIONING_SECRET>@<ACCOUNT_ID>).

You can either pass configuration with each $apiInstance initialization:

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

// Configure Cloudinary Account URL
$config = Cloudinary\Permissions\Configuration::getDefaultConfiguration()
              ->setCloudinaryAccountUrl('account://provisioning_key:provisioning_secret@account_id');

$apiInstance = new Cloudinary\Permissions\Api\CustomPoliciesApi(null, $config);

Or set the environment variable globally.

For example, to set a temporary environment variable:

  • On Mac or Linux:

    export CLOUDINARY_ACCOUNT_URL=account://provisioning_key:provisioning_secret@account_id
    
  • On Windows:

    set CLOUDINARY_ACCOUNT_URL=account://provisioning_key:provisioning_secret@account_id
    

And then you can simply initialize $apiInstance as follows:

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

$apiInstance = new Cloudinary\Permissions\Api\CustomPoliciesApi();

Getting Started

Please follow the installation procedure and then run the following:

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

$apiInstance = new Cloudinary\Permissions\Api\CustomPoliciesApi();

$scopeType = "&#39;scopeType_example&#39;"; // string | Specifies the level for retrieving policies, either at the account level or within product environments.
$scopeId = "&#39;scopeId_example&#39;"; // string | The ID of a specific product environment where the policy is applied. This parameter is only relevant if `scope_type` is \"prodenv\". Find your product environment IDs in the [Product Environments](https://console.cloudinary.com/settings/product-environments) page of the Console Settings. - <product_environment_id>
$enabled = true; // bool | Filter policies by enabled status (true/false).
$cursor = "&#39;cursor_example&#39;"; // string | A pagination cursor for fetching subsequent results.

try {
    $result = $apiInstance->getCustomPolicies($scopeType, $scopeId, $enabled, $cursor);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling CustomPoliciesApi->getCustomPolicies: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to https://api.cloudinary.com/v2/accounts/ACCOUNT_ID/permissions, except if the operation defines another base path.

Class Method HTTP request Description
CustomPoliciesApi createCustomPolicy POST /policies/custom Create custom policy
CustomPoliciesApi deleteCustomPolicy DELETE /policies/custom/{policy_id} Delete custom policy
CustomPoliciesApi getCustomPolicies GET /policies/custom Get custom policies
CustomPoliciesApi getCustomPolicy GET /policies/custom/{policy_id} Get custom policy
CustomPoliciesApi updateCustomPolicy PUT /policies/custom/{policy_id} Update custom policy

Models

Authorization

basicAuth

  • Type: HTTP basic authentication

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

support@cloudinary.com

About this package

This Cloudinary Account Permissions API PHP package is automatically generated.

  • Package version: 1.0.0
  • API version: 1.0.4
  • Build package: org.openapitools.codegen.languages.PhpNextgenClientCodegen

cloudinary/permissions 适用场景与选型建议

cloudinary/permissions 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 08 月 26 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「sdk」 「cloud」 「cdn」 「cloudinary」 「image management」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 cloudinary/permissions 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 cloudinary/permissions 我们能提供哪些服务?
定制开发 / 二次开发

基于 cloudinary/permissions 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 19
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 12
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-08-26