sumocoders / oauth-bundle
此包的最新版本(v1.1.2)没有提供许可证信息。
v1.1.2
2024-04-30 09:02 UTC
Requires
- php: ^8.2
- doctrine/doctrine-bundle: ^2.9
- doctrine/orm: ^2.14
- knpuniversity/oauth2-client-bundle: ^2.14
- symfony/security-bundle: ^7.0
- symfony/translation: ^7.0
- thenetworg/oauth2-azure: ^2.1
This package is auto-updated.
Last update: 2024-09-10 09:21:56 UTC
README
- 转到 Azure 门户
- 搜索“应用注册”
- 点击“新建注册”
- 名称:应用程序名称,例如:Web应用程序的URL
- 支持的帐户类型:选择“仅此组织目录中的帐户 (... 仅单租户)”
- 重定向 URI
- 平台:Web,URL:https://xxx/connect/azure/check
- 平台:Web,URL:https://xxx.phpXX.sumocoders.eu/connect/azure/check
- 平台:Web,URL:https://xxx.wip/connect/azure/check
- 点击“证书 & 秘密”
- 点击“新建客户端密钥”
- 描述: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: /