caredfor/socialite-azure-oauth

允许使用Laravel的Socialite库多连接到Azure AD

v2.0 2020-10-02 11:24 UTC

This package is not auto-updated.

Last update: 2024-09-26 09:18:33 UTC


README

受metrogistics/laravel-azure-ad-oauth启发,并更新以支持多Azure连接和更好的覆盖。

安装

发布配置并覆盖任何默认值

php artisan vendor:publish

添加必要的环境变量,根据您的配置文件中定义的内容。默认情况下

AZURE_AD_CLIENT_ID=XXXX
AZURE_AD_CLIENT_SECRET=XXXX

用法

创建一个控制器并导入AzureOAuthControllerTrait特质。它将为您提供Socialite OAuth的方法。然后,在配置文件中将您的控制器命名空间添加到键auth_controller

在设置您的Azure AD之后(见下文),您要做的只是将用户指向/login/microsoft(可配置)路由进行登录。

登录后,用户将被重定向并触发您自己控制器中的handleOAuthUser()方法。

Azure AD设置

  1. 导航到Azure Active Directory -> 应用程序注册

  2. 创建一个新的应用程序

  3. 选择一个名称

  4. 选择所需的受支持账户类型(由您决定)

  5. 在平台配置中,选择“客户端应用程序(Web,iOS,Android,桌面+设备)”

  6. 点击“创建”

  7. 点击新创建的应用程序。

  8. “应用程序ID”是您需要用于AZURE_AD_CLIENT_ID环境变量的。

  9. 点击“重定向URI”。您需要在这里为应用程序白名单重定向路径。通常为https://domain.com/login/microsoft/callback。点击“保存”

  10. 在“API权限”标签页中,选择您应用程序所需的权限。

  11. 在清单中添加任何必要的角色

  12. 点击“清单”标签页。

  13. 使用以下格式添加必要的角色

      "appRoles": [
          {
            "allowedMemberTypes": [
              "User"
            ],
            "displayName": "Manager Role",
            "id": "08b0e9e3-8d88-4d99-b630-b9642a70f51e",// Any unique GUID
            "isEnabled": true,
            "description": "Manage stuff with this role",
            "value": "manager"
          }
        ],
    
  14. 点击“保存”

  15. 在“证书与密钥”标签页中,点击“新建客户端密钥”,输入描述(例如“应用程序密钥”)。设置“持续时间”为“永不过期”。点击“保存”。复制整个密钥。这不会再次显示。您需要此值用于AZURE_AD_CLIENT_SECRET环境变量。

  16. 返回到Azure活动目录并点击“企业应用程序”链接。然后点击应用程序名称

  17. 在“属性”标签页下,启用用户登录。强制用户分配。点击“保存”。

  18. 在“用户和组”标签页下,根据需要添加用户及其角色。

  19. 额外:配置发布域名以验证您的应用程序:[链接](https://docs.microsoft.com/fr-be/azure/active-directory/develop/howto-configure-publisher-domain#configure-publisher-domain-using-the-azure-portal)