hellkid/socialite-naszaklasa

NaszaKlasa OAuth2 提供者用于 Laravel Socialite

dev-master 2017-03-28 10:36 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:33:39 UTC


README

文档

此软件包基于 Socialite Providers 的出色软件包。

如果您需要更多关于如何使用此软件包的信息,请随时参考他们的文档。

安装

1. COMPOSER

这假设您已经全局安装了 composer

composer require hellkid/socialite-naszaklasa

2. 服务提供者

如果您已经添加了它,请从 config\app.php 中的 providers[] 数组中移除 Laravel\Socialite\SocialiteServiceProvider

\SocialiteProviders\Manager\ServiceProvider::class 添加到 config\app.php 中的 providers[] 数组。

例如

'providers' => [
    // a whole bunch of providers
    // remove 'Laravel\Socialite\SocialiteServiceProvider',
    \SocialiteProviders\Manager\ServiceProvider::class, // add
];

注意:如果您想使用 Socialite Facade,您需要 安装 它。

3. 添加事件和监听器

SocialiteProviders\Manager\SocialiteWasCalled 事件添加到 <app_name>/Providers/EventServiceProvider 中的 listen[] 数组。

将您的监听器(即来自提供者的监听器)添加到您刚刚创建的 SocialiteProviders\Manager\SocialiteWasCalled[]

您为该提供者添加的监听器是 'Hellkid\Hellkid\SocialiteNaszaklasa\NaszaKlasaExtendSocialite@handle'

注意:除非您用自己的提供者覆盖它们,否则您不需要为内置的 socialite 提供者添加任何内容。

例如

/**
 * The event handler mappings for the application.
 *
 * @var array
 */
protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // add your listeners (aka providers) here
        'Hellkid\Hellkid\SocialiteNaszaklasa\NaszaKlasaExtendSocialite@handle',
    ],
];

4. 环境变量

如果您添加到您的 .env 中,如以下所示,则不需要将条目添加到服务数组中。

将提供者值追加到您的 .ENV 文件。

// other values above
NASZAKLASA_KEY=yourkeyfortheservice
NASZAKLASA_SECRET=yoursecretfortheservice
NASZAKLASA_REDIRECT_URI=https://example.com/login   

添加到 config/services.php

如果您将值添加到 .env 中,如上所示,则不需要添加此内容。以下值提供作为方便,以备开发人员无法使用 .env 方法的情况。

'naszaklasa' => [
    'client_id' => env('NASZAKLASA_KEY'),
    'client_secret' => env('NASZAKLASA_SECRET'),
    'redirect' => env('NASZAKLASA_REDIRECT_URI'),  
], 

现在您应该能够像通常使用 Socialite 一样使用它(假设您已安装 facade)

return Socialite::with('naszaklasa')->redirect();

您可以使用 Socialite 提供者与 Lumen 一起使用。只需确保您已启用 facade 支持,并且正确遵循设置说明。

注意:如果您使用 Lumen,所有提供者都将自动无状态,因为 Lumen 不跟踪状态。

此外,Lumen 中不能从 services[] 解析配置。您只能设置此文档中所示 .env 文件中的值。如有必要,您还可以覆盖配置。