2017 © Pedro Peláez
 

library hybridauth-skautis

Plugin pro HybridAuth umožňující jednoduché přihlašování přes SkautIS.

image

ondrakoupil/hybridauth-skautis

Plugin pro HybridAuth umožňující jednoduché přihlašování přes SkautIS.

  • Monday, September 14, 2015
  • by ondrakoupil
  • Repository
  • 0 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Jednoduché přihlašování přes SkautIS pomocí HybridAuth

HybridAuth je PHP knihovna pro univerzální přihlašování přes různé veřejné služby a sociální sítě, např. Facebook či Google. S pomocí tohoto rozšíření lze do vaší aplikace přidat i přihlašování přes SkautIS., (*1)

Instalace

Pokud ve své aplikaci používáte Composer, nainstalujete jednoduše:, (*2)

composer require ondrakoupil/hybridauth-skautis, (*3)

Pokud nepoužíváte Composer, je třeba si zkopírovat soubory z adresáře src a libovolným způsobem je všechny includovat. Samotný HybridAuth lze stáhnout z jeho webu., (*4)

Použití

Přihlášení přes SkautIS probíhá až na několik odlišností stejně jako přes Google či Facebook. Pokud s HybridAuth nemáte zkušenosti, prostudujte si jejich dokumentaci, kde je vše dopodrobna popsané., (*5)

Anebo si přečtěte stručný návod pro začátky s HybridAuthem, který vás namíří správným směrem., (*6)

Také budete potřebovat svoji aplikaci zaregistrovat do SkautISu a získat její AppID., (*7)

Nastavení

V konfiguraci HybridAuth přidáte nový provider jménem SkautIS. Konfigurace může vypadat zhruba takto:, (*8)

$config = array(
    "base_url" => "... URL vašeho endpointu ...",
    "providers" => array (
        "SkautIS" => array(
            "enabled" => true,
            "test" => true,
            "wrapper" => array(
                "class" => "\\HybridAuth\\SkautIS\\Adapter"
            ),
            "keys" => array(
                "appId" => "... vaše APP ID ..."
            ),
            "data" => array(
                "contacts" => true,
                "photo" => true,
                "roles" => true,
                "unit" => true,
                "roleUnitDetails" => false
            ),          
            "photoProxy" => "",
            "photoSize" => "medium"
        ),
        "Google" => "...",
        "Facebook" => "...",
        "Twitter" => "..."
    )
);

Nyní blíže k jednotlivým položkám:, (*9)

  • test = true nebo false podle toho, zda chcete používat testovací SkautIS anebo ostrý. Výchozí hodnota je true (tj. testovací). Po přechodu na ostrý nezapomeňte změnit i AppID.
  • wrapper = zde je nutno zadat jméno třídy včetně namespaců (tj. \HybridAuth\SkautIS\Adapter), pokud si soubor s třídou Adapter nenakopírujete mezi ostatní adaptéry do adresáře se zdrojáky HybridAuthu.
  • keys = array s jedinou položkou appId. Nezapomeňte, že se liší pro testovací a ostrý SkautIS.
  • data = nepovinné array umožňující upřesnit, co všecno ze SkautISu potřebujete vytáhnout a případně tak zrychlit přihlášení tím, že zakážete nepotřebné údaje. Ve výchozím nastavení zapnuté vše kromě roleUnitDetails
    • contacts = další kontakty jako telefon či web (kromě e-mailu, ten je vždy součást základních dat)
    • photo = profilová fotka uživatele
    • roles = seznam všech rolí uživatele
    • unit = podrobnosti o jednotce (oddílu, středisku...), ve kterém je uživatel registrován
    • roleUnitDetails = podrobnosti o všech jednotkách, ve kterých má uživatel nějakou roli
  • photoProxy = nepovinné, viz níže
  • photoSize = nepovinná požadovaná velikost fotky: small, medium, normal, big

Rozdíly oproti standardnímu přihlášení přes HybridAuth

Jelikož SkautIS je dost specifický a pravděpodobně z něj budete chtít i nějaká jiná data, než HybridAuth vydoluje z klasických sociálních sítí, tak volání $adapter->getUserProfile() nevrací standardní Hybrid_User_Profile, ale jeho odděděnou rozšířenou verzi, objekt třídy \HybridAuth\SkautIS\UserProfile. Ten obsahuje jak to, co základní profil, tak i nějaké další údaje navíc specifické pro SkautIS týkající se zejména rolí a jednotek v Junáku. Je na vás, jak si s nimi pak ve své aplikaci poradíte., (*10)

Prohlédněte si třídy UserProfile, Role a Unit, z nichž jistě vše pochopíte podrobněji., (*11)

Fotky

HybridAuth předpokládá, že poskytovatel přihlášení nabízí ke stažení uživatelův portrét jako na nějaký URL, který lze získat přes UserProfile -> $photoURL. SkautIS ale posílá přímo binární obsah obrázku. Ten je sice dostupný v UserProfile -> $photoData, ale abychom zachovali kompatibilitu s ostatními poskytovateli, lze nastavit v konfiguraci položku photoProxy, která práci s obrázky sjednotí. Zvolte si takový přístup, který bude lépe vyhovovat dalšímu zpracování obrázků po přihlášení., (*12)

photoProxy může být buď obyčejný string, který představuje cestu k nějakému adresáři. Po přihlášení se v tomto adresáři vytvoří soubor s obrázkem a $photoURL se nastaví na cestu k němu. Tato cesta bude dostupná jen lokálně. Po jeho zpracování byste pak tento soubor zase měli smazat., (*13)

Druhou možností je zadat array se dvěma položkami, dir a url. dir je stejně jako v předchozím případě cesta k adresáři pro uložení souboru a url je jeho veřejná URL adresa, přes níž je možné se na soubory v adresáři dostat přes internet. $photoURL se pak nastaví na veřejný URL vzniklého souboru., (*14)

"photoProxy" => "../some/temp/directory"

"photoProxy" => array(
    "dir" => "../www/portraits",
    "url" => "http://www.moje-aplikace.cz/portraits"
)

Ladění chyb

Pokud něco nefunguje, lze zapnout standardní debug režim v HybridAuth. Stačí do konfigurace přidat:, (*15)

"debug_mode" => true,
"debug_file" => "cesta_k_souboru/kam_se_bude/logovat.txt"

Do tohoto logu se pak kromě ostatních informací o průběhu zpracování bude zapisovat i komunikace se SkautISem, každá volaná metoda a návratová hodnota., (*16)

Pomoc, podpora, hlášení chyb atd.

Pokud jste narazili na jakoukoliv potíž nebo vám něco není jasné, přidejte issue zde na GitHubu, anebo mi napište přímo. Pokusím se poradit, bude-li to v mých silách :-), (*17)

The Versions

14/09 2015

dev-master

9999999-dev

Plugin pro HybridAuth umožňující jednoduché přihlašování přes SkautIS.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Ondřej Koupil

14/09 2015

v0.1

0.1.0.0

Plugin pro HybridAuth umožňující jednoduché přihlašování přes SkautIS.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Ondřej Koupil