Laravel-Admin-OAuth
laravel-admin-oauth 是 laravel-admin 的 OAuth2.0 登录扩展,支持自定义扩展其他授权方
- 企业微信
- 钉钉
- laravel-admin >= 1.7
composer require cann/laravel-admin-oauth
php artisan vendor:publish --provider="Cann\Admin\OAuth\ServiceProvider"
执行:
php artisan migrate
path: config/admin-oauth.php
'controller' => Cann\Admin\OAuth\Controllers\AuthController::class,
// 是否允许账号密码登录
'allowed_password_login' => true,
// 当第三方登录未匹配到本地账号时,是否允许自动创建本地账号
'allowed_auto_create_account_by_third' => false,
// 启用的第三方登录
'enabled_thirds' => [
'WorkWechat',
],
// 第三方登录秘钥
'services' => [
'work_wechat' => [
'corp_id' => env('WECHAT_WORK_CORP_ID', ''),
'agent_id' => env('WECHAT_WORK_AGENT_ID', ''),
'secret' => env('WECHAT_WORK_AGENT_SECRET', ''),
]
]
继承 Cann\Admin\OAuth\ThirdAccount\Thirds\ThirdAbstract
, 实现 getAuthorizeUrl
& getThirdUser
。 然后在 AppServerProvider
中注册:
\Cann\Admin\OAuth\ServiceProvider::extend(\App\Extensions\OAuth\WechatMp::class, 'WechatMp', '微信公众号');
修改 config/admin-oauth.php
即可:
// 启用的第三方登录
'enabled_thirds' => [
'WechatMp',
'WorkWechat',
],
// 第三方登录秘钥
'services' => [
'work_wechat' => [
'corp_id' => env('WECHAT_WORK_CORP_ID'),
'agent_id' => env('WECHAT_WORK_AGENT_ID'),
'secret' => env('WECHAT_WORK_AGENT_SECRET'),
],
'wechat_mp' => [
'app_id' => env('WECHAT_OFFICIAL_ACCOUNT_APPID', ''), // AppID
'secret' => env('WECHAT_OFFICIAL_ACCOUNT_SECRET', ''), // AppSecret
'token' => env('WECHAT_OFFICIAL_ACCOUNT_TOKEN', ''), // Token
'aes_key' => env('WECHAT_OFFICIAL_ACCOUNT_AES_KEY', ''), // EncodingAESKey
],
],