chrisreedio / socialment-bastion-azure
提供 Socialment、Bastion 和 Azure AD 之间的桥梁。
v3.0.0-beta5
2024-08-06 09:55 UTC
Requires
- php: ^8.2
- chrisreedio/bastion: ^v3.0.0-beta
- chrisreedio/laravel-azure-graph: ^0.1.0-beta
- chrisreedio/socialment: ^v3.9.1
- filament/filament: ^3.0
- illuminate/contracts: ^10.0|^11.0
- socialiteproviders/microsoft-azure: ^5.1
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.10|^8.0
- orchestra/testbench: ^8.14|^9.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.4.1
This package is auto-updated.
Last update: 2024-09-06 10:15:11 UTC
README
这是一个高度意见化的包,它为 Socialment、Bastion 和 Azure AD 之间提供桥梁。
安装
您可以通过 composer 安装此包
composer require chrisreedio/socialment-bastion-azure
然后执行并按照提示操作
php artisan socialment-bastion-azure:install
将此插件包含在您的面板配置中
$panel ->plugins([ // ... Other Plugins \ChrisReedIO\Bastion\BastionPlugin::make(), \ChrisReedIO\Socialment\SocialmentPlugin::make() ->registerProvider('azure', 'fab-microsoft', 'Azure Active Directory'), ])
请记住将 Spatie HasRoles
特性添加到您的 User
模型中。
use Spatie\Permission\Traits\HasRoles; class User extends Authenticatable { use HasRoles; }
此额外的 粘合 包将自动将 Socialment 的登录前回调通过 SSO 组字段连接到 Bastion 的角色。
播种器
如果您选择使用播种器,请确保将 RoleSeeder
添加到您的 DatabaseSeeder.php
中,如下所示
$this->call([ // ... Other Seeders RoleSeeder::class, ]);
还请不要忘记编辑 RoleSeeder.php
以将您自己的 SSO 组添加到每个角色中。
已经为您放置了一些示例角色。
Azure 应用注册
重定向 URL
请确保您在应用注册中配置重定向 URL,并且它与您的 .env
文件中的值匹配。
AZURE_REDIRECT_URI=https://yourdomain.com/login/azure/callback
Azure 权限
您需要授予您的应用注册以下权限
Directory.Read.All
GroupMember.Read.All
User.Read
配置
默认情况下,配置在安装时不会发布。
这是已发布配置 services.php
文件的内容
这只是带有 azure
块的标准服务文件。
return [ 'mailgun' => [ 'domain' => env('MAILGUN_DOMAIN'), 'secret' => env('MAILGUN_SECRET'), 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 'scheme' => 'https', ], 'postmark' => [ 'token' => env('POSTMARK_TOKEN'), ], 'ses' => [ 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), ], 'azure' => [ 'client_id' => env('AZURE_CLIENT_ID'), 'client_secret' => env('AZURE_CLIENT_SECRET'), 'redirect' => env('AZURE_REDIRECT_URI'), 'tenant' => env('AZURE_TENANT_ID'), 'proxy' => env('PROXY') // Optional ], ];
您可以使用以下命令在安装后发布配置
php artisan vendor:publish --tag="socialment-bastion-azure-config"
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志
贡献
有关详细信息,请参阅 贡献
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件