sumocoders/oauth-bundle

此包的最新版本(v1.1.2)没有提供许可证信息。

安装: 367

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 3

分支: 0

公开问题: 0

类型:symfony-bundle

v1.1.2 2024-04-30 09:02 UTC

This package is auto-updated.

Last update: 2024-09-10 09:21:56 UTC


README

  • 转到 Azure 门户
  • 搜索“应用注册”
  • 点击“新建注册”
  • 点击“证书 & 秘密”
  • 点击“新建客户端密钥”
    • 描述:Web应用程序的URL
    • 过期时间:12个月
  • 记下
    • 应用程序(客户端)ID
    • 目录(租户)ID
    • 客户端密钥值
    • 客户端密钥ID

完整文章:注册 Microsoft Entra 应用并创建服务主体

允许应用程序使用

完成此操作后,您还需要允许用户使用此应用程序

  • 转到 Azure 门户
  • 搜索“应用注册”
  • 选择新创建的应用程序
  • 在左侧选择“安全 → 权限”
  • 点击“为 ... 授予管理员同意”

完整文章:向应用程序授予租户范围的管理员同意

配置角色

  • 转到 Azure 门户
  • 搜索“应用注册”
  • 选择您创建的应用程序
  • 在左侧点击“管理 → 应用角色”。
  • 为应用程序中的每个角色创建一个角色
  • 字段值应与您应用程序中定义的角色匹配

完整文章:向应用程序添加应用角色并在令牌中接收它们

分配角色给用户

  • 转到 Azure 门户
  • 搜索“Microsoft Entra ID”
  • 在左侧点击“企业应用程序”
  • 选择您创建的应用程序
  • 在左侧选择“用户和组”。
  • 添加具有正确角色的用户/组

完整文章:将用户和组分配到角色

配置应用程序

将所需的包添加到您的 bundles.php 文件中

return [
    ...,
    KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true],
    SumoCoders\OAuthBundle\SumoCodersOAuthBundle::class => ['all' => true],
];

更新您的 security.yml 文件以匹配以下配置

security:
    enable_authenticator_manager: true
    providers:
        app_user_provider:
            entity:
            class: SumoCoders\OAuthBundle\Entity\User
            property: externalId
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            lazy: true
            provider: app_user_provider
            custom_authenticators:
                - SumoCoders\OAuthBundle\Security\AzureAuthenticator
            logout:
                path: logout
                target: home #Your home page

将以下 ENV 变量添加到您的 .env 文件中

AZURE_CLIENT_ID= #Your client id
AZURE_CLIENT_SECRET= #Your client secret
AZURE_TENANT_ID= #Your tenant id

配置路由

将以下路由添加到您的 routes.yaml 文件中

oauth_bundle:
    resource: '@SumoCodersOAuthBundle/config/routes.yaml'
    prefix: /