mmfei/hyperf-socialite

socialite

v0.0.5 2023-11-11 07:39 UTC

This package is auto-updated.

Last update: 2024-09-11 09:19:03 UTC


README

这个仓库只是为了兼容php7而做,代码全部改造来源 cblink/hyperf-socialite

php 7.4 + hyperf 2.2  v0.0.3
php 7.4 + hyperf 2.1  v0.0.2
php 7.4 + hyperf 2.0  v0.0.1

关于

cblink/hyperf-socialite 组件衍生于 laravel/socialite 组件的,我们对它进行了一些改造,大部分功能保持了相同。在这里感谢一下 Laravel 开发组,实现了如此强大好用的社会化登陆组件。

安装

# 安装
composer require mmfei/hyperf-socialite -vvv

# 创建配置文件
php bin/hyperf.php vendor:publish mmfei/hyperf-socialite

配置

配置文件位于 config/autoload/socialite.php,如文件不存在可自行创建

<?php

return [
    'facebook' => [
        'client_id' => '',
        'client_secret' => '',
        // 其他provider中需要使用的配置
        // ...
    ]   
    // qq,weixin...    
];

使用

组件已经提供了许多已支持的社会化登陆组件,只需要将它配置到 config/autoload/listeners.php 中即可。

return [
    HyperfSocialiteProviders\Facebook\FacebookExtendSocialite::class,
];

控制器中使用

<?php

use Cblink\Hyperf\Socialite\Contracts\SocialiteInterface;

class Controller 
{
    
    /**
    * @param SocialiteInterface $socialite
     * @return \Hyperf\HttpServer\Contract\ResponseInterface
     */
    public function redirectToProvider(SocialiteInterface $socialite)
    {
        // 重定向跳转
       $redirect = $socialite->driver('facebook')->redirect();
       
       // 使用新的配置跳转
       $socialite->driver('facebook')->setConfig([
            'client_id' => 'xxx',
            'client_secret' => 'xxxx',
       ])  
       
       return $redirect; 
    }
    
    /**
    * @param SocialiteInterface $socialite
    */
    public function handleProviderCallback(SocialiteInterface $socialite)
    {
        // 获取用户信息
       $user = $socialite->driver('facebook')->user();
       
       //
       // $user->token;
    }


}

贡献

您可以通过以下三种方式之一进行贡献

  1. 使用 问题跟踪器 提交错误报告。
  2. 问题跟踪器 上回答问题或修复错误。
  3. 贡献新功能或更新wiki。

代码贡献过程并不非常正式。您只需要确保遵循 PSR-0、PSR-1 和 PSR-2 编码规范。任何新的代码贡献都必须伴随着适用的单元测试。

许可证

MIT