定制 pd/facebook-login-api 二次开发

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

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

pd/facebook-login-api

最新稳定版本:v3.0.1

Composer 安装命令:

composer require pd/facebook-login-api

包简介

Facebook Login API

README 文档

README

Slouží pro vytvoření odkazu pro přihlášení pomocí Facebooku a načtení uživatelských dat přijatých z Facebooku

Instalace

Načtení závislosti

$ composer require peckadesign/facebook-login-api

Zaregistrování extension

extensions: 
	facebookLoginApi: Pd\FacebookLoginApi\DI\FacebookLoginApiExtension

Konfigurace

Neon

facebookLoginApi:
	appId: XXX
	appSecret: XXXX
	fbApiResponseDestinationUid: ::sprintf('UID|%s', ::constant(\App\Page\Page::UID_FACEBOOK_LOGIN_RESPONSE)) #nebo klasické nettí `:Page:FacebookLogin:`

Implementace

Vygenerování odkazu v presenteru

<?php declare(strict_types = 1);

final class KdejakyPresenter extends \Nette\Application\UI\Presenter
{
	/**
	 * @var \Pd\FacebookLoginApi\FacebookLoginRequestLinkFactory
	 */
	private $facebookLoginRequestFactory;
	
	public function __construct(
		\Pd\FacebookLoginApi\FacebookLoginRequestLinkFactory $facebookLoginRequestFactory
	)
	{
		parent::__construct();
		$this->facebookLoginRequestFactory = $facebookLoginRequestFactory;
	}
	
	
	public function renderDefault(): void 
	{
		/*
		 * Parametr funkce `createRequest` přijímá state parametr, který je schopen Facebook vrátit. 
		 * Používá se nepříklad pro uložení backlinku.
		 */ 
		$this->template->requestLink = $this->facebookLoginRequestFactory->createRequestLink($this->storeRequest());
	}
}

Zpracování Facebook requestu

Zpracování probíhá na stránce, která se nastavuje FacebookLoginRequestFactory v konfigurace, například v neonu.

<?php declare(strict_types = 1);

final class JakykolivPresenter extends \Nette\Application\UI\Presenter
{
	/**
	 * @var \Pd\FacebookLoginApi\FacebookLoginObjectLoader
	 */
	private $facebookLoginObjectLoader;
	
	/**
	 * @var \Pd\FacebookLoginApi\Facebook
	 */
	private $facebook;
	
	public function __construct(
		\Pd\FacebookLoginApi\FacebookLoginObjectLoader $facebookLoginObjectLoader,
		\Pd\FacebookLoginApi\Facebook $facebook
	)
	{
		parent::__construct();
		$this->facebookLoginObjectLoader = $facebookLoginObjectLoader;
		$this->facebook = $facebook;
	}
	
	
	public function renderDefault(): void 
	{
		/** @var \Pd\FacebookLoginApi\FacebookLoginObject $facebookUser */
		$facebookUser = $this->facebookLoginObjectLoader->load();
		
		//zpracování dat načtených z Facebooku
		
		// načtení state parametru
		$storedRequest = $this->facebook->getStoredRequest();
		$this->restoreRequest($storedRequest);
	}
}

统计信息

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

GitHub 信息

  • Stars: 2
  • Watchers: 10
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2019-05-15