chrisreedio/socialment-bastion-azure

提供 Socialment、Bastion 和 Azure AD 之间的桥梁。


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这是一个高度意见化的包,它为 SocialmentBastionAzure 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)。有关更多信息,请参阅 许可文件