ryo88c / bear.authority
An authority for BEAR.Sunday
Installs: 20 571
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 2
Open Issues: 1
Requires
- php: >=7.1.0
- ext-json: *
- ext-openssl: ^7.1
- bear/package: >=1.9
- bear/sunday: ^1.3
- firebase/php-jwt: ^5.0
- ray/aura-web-module: ^0.1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.13
- nikic/php-parser: ^4.2
- phpmd/phpmd: ^2.6
- phpstan/phpstan-shim: ^0.10
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.3
README
BEAR.Sunday 用認証ライブラリです。
使い方
認証をかけたいリソースオブジェクトのメソッドに Ryo88c\Authority\Auth
アノテーションを指定します。
@Auth(allow="admin")
と指定すれば role
に admin
が設定されてるオーディエンスのアクセスが認可されます。
カスタマイズ
認証方法を変えたい場合は Authorization
を参考に AuthorizationInterface
を実装してください。
Authorization
クラスでは OAuth 2.0 Bearer と JSON Web Token を組み合わせて使っています。
認証方法を変えたい場合は Authentication
を参考に AuthenticationInterface
を実装してください。
Authentication
クラスでは JWT の RFC(RFC7519) に定義されてる AudienceInterface
を承認の対象としてます。
役割の評価以外の承認方法を実装したい場合や、オーディエンスのデータ定義を変えたい場合は AuthenticationInterface
や AudienceInterface
を実装してください。
尚、Audience
や Payload
はバリューオブジェクトの性質をもたせるため、意図的に依存性を注入せず new
しています。