/iam-php

Php library that provides implementations for gdbots:iam schemas.

Primary LanguagePHPApache License 2.0Apache-2.0

iam-php

Php library that provides implementations for gdbots:iam schemas. Using this library assumes that you've already created and compiled your own pbj classes using the Pbjc and are making use of the "gdbots:iam:mixin:*" mixins from gdbots/schemas.

Symfony Integration

Enabling these services in a Symfony app is done by importing classes and letting Symfony autoconfigure and autowire them.

config/packages/iam.yml:

services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: false

  Gdbots\Iam\:
    resource: '%kernel.project_dir%/vendor/gdbots/iam/src/**/*'
    exclude: '*Aggregate*'

  Gdbots\Iam\NcrAppProjector:
    arguments:
      $enabled: '%env(bool:NCR_PROJECTOR_ENABLED)%'

  Gdbots\Iam\NcrUserProjector:
    arguments:
      $enabled: '%env(bool:NCR_PROJECTOR_ENABLED)%'

The above services do NOT handle security though, to get that we need deeper integration with Symfony which is provided by the gdbots/iam-bundle-php.