zifan/socialite-dingtalk

为Laravel Socialite提供的钉钉OAuth2提供商

v1.0.0 2023-03-20 04:05 UTC

This package is auto-updated.

Last update: 2024-09-20 07:20:06 UTC


README

基于socialiteproviders/manager的钉钉第三方登录

composer require zifan/socialite-dingtalk

安装与基本用法

请参阅基本安装指南,然后按照以下特定提供商的说明进行。

config/services.php中添加配置

'dingtalk' => [
	'client_id' => env('DINGTALK_CLIENT_ID'),
	'client_secret' => env('DINGTALK_CLIENT_SECRET'),
	'redirect' => env('DINGTALK_REDIRECT_URI'),
	// 'guzzle' => ['verify' => false],
	// 'scopes' => ['openid'] #openid:授权后可获得用户userid(一般适用于企业内部应用);openid corpid:授权后可获得用户id和登录过程中用户选择的组织id
],

添加提供商事件监听器

配置包的监听器以监听SocialiteWasCalled事件。

将事件添加到app/Providers/EventServiceProvider中的listen[]数组中。有关详细说明,请参阅基本安装指南

protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // ... other providers
        'Zifan\\SocialiteDingtalk\\DingTalkExtendSocialite@handle',
    ],
];

用法

现在您应该可以使用提供商,就像您通常会使用Socialite一样(假设您已安装了外观)

return Socialite::driver('dingtalk')->redirect();

返回的用户字段

  • openId
  • unionid
  • 昵称
  • 头像URL
  • 手机
  • 电子邮件
  • 状态码