定制 socialiteproviders/manager 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

socialiteproviders/manager

最新稳定版本:v4.8.1

Composer 安装命令:

composer require socialiteproviders/manager

包简介

Easily add new or override built-in providers in Laravel Socialite.

README 文档

README

Build Status codecov Scrutinizer Code Quality Latest Stable Version Total Downloads Latest Unstable Version License StyleCI SensioLabsInsight

About

A package for Laravel Socialite that allows you to easily add new providers or override current providers.

Benefits

  • You will have access to all of the providers that you load in using the manager.
  • Instantiation is deferred until Socialite is called
  • You can override current providers
  • You can create new providers
  • Lumen usage is easy
  • stateless() can be set to true or false
  • You can override a config dynamically
  • It retrieves environment variables directly from the .env file instead of also having to configure the services array.

Available Providers

Reference

Creating a Handler

Below is an example handler. You need to add this full class name to the listen[] in the EventServiceProvider.

namespace Your\Name\Space;

use SocialiteProviders\Manager\SocialiteWasCalled;

class ProviderNameExtendSocialite
{
    public function handle(SocialiteWasCalled $socialiteWasCalled)
    {
        $socialiteWasCalled->extendSocialite('providername', \Your\Name\Space\Provider::class);
    }
}

Creating a Provider

Overriding a Built-in Provider

You can easily override a built-in laravel/socialite provider by creating a new one with exactly the same name (i.e. 'facebook').

Dynamically Passing a Config

You can dynamically pass a config by using:

$clientId = "secret";
$clientSecret = "secret";
$redirectUrl = "http://yourdomain.com/api/redirect";
$additionalProviderConfig = ['site' => 'meta.stackoverflow.com'];
$config = new \SocialiteProviders\Manager\Config($clientId, $clientSecret, $redirectUrl, $additionalProviderConfig);
return Socialite::with('provider-name')->setConfig($config)->redirect();

You must call this before you run any Socialite methods.

Creating an OAuth1 Server Class

Take a look at the other OAuth1 providers for inspiration.

Getting the Access Token Response Body

Laravel Socialite by default only allows access to the access_token. Which can be accessed via the \Laravel\Socialite\User->token public property. Sometimes you need access to the whole response body which may contain items such as a refresh_token.

To make this possible, the OAuth2 provider class needs to extend \SocialiteProviders\Manager\OAuth2\AbstractProvider and OAuth1 providers need to utilize the \SocialiteProviders\Manager\OAuth1\AbstractProvider and \SocialiteProviders\Manager\OAuth1\Server.

You can access it from the user object like so: $user->accessTokenResponseBody

统计信息

  • 总下载量: 37.73M
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 425
  • 点击次数: 2
  • 依赖项目数: 604
  • 推荐数: 1

GitHub 信息

  • Stars: 420
  • Watchers: 9
  • Forks: 85
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04