Přihlašování přes OpenID – API requesty

MajBoss
Člen | 16
+
0
-

Zdravím,
potřeboval bych poradit s přihlašováním přes OpenID. Pokud to neznáte, jde o to, že uživatel se nepřihlašuje u mě na webu, ale na jiné stránce a ta mi pak pouze vrací nějaké informace jako jméno, id, token atd.

Funguje to na principu API requestu, ve kterém zašlu na APInu URL a ID mé stránky, uživatel je následně přesměrován na web, kde se přihlásí herním účtem a po přihlášení stránka uživatele přesměruje zpět na tu moji a zašle mi údaje v JSONu nějak takto:
{
„status“: „ok“,
„token“: „d4fd54f5df4sd5f4sd5f4sd6f54sdf654“,
„nickname“: „MajBoss“,
„account_id“: „458666982“,
„expires_at“: „1655310283“
}

A mě by zajímalo, jak vlastně odešlu request a pak následně přjmu data, které mi má stránka vracet a jak s nimi naložím, aby pak byl uživatel s těmito informace přihlášen a normálně byly uloženy do identity.

Musím na to dělat Autetifikátor anebo stačí nějaké metoda?
Popřípadně bych byl ještě rád, kdyby mi někdo osvětlil, co do té metody napsat, jak ten request vlastně zaslat a pak jak tyto data přijímat.

Předem upozorňuji, že v práci s API nejsem vůbec zběhlý a mám v tom mezery, takže mě omluvte pokud zde plácám nějaké nesmysly, bude potřeba mi to vysvětlit polopaticky :)

Předem děkuji za odpověď

EncryptSL
Člen | 11
+
0
-

Imho: Potřebuješ na to nějakou knihovnu co tohle dokáže.
https://github.com/…-Connect-PHP, za předpokladu že je to OpenID, pokud to je OAUTH2 tak budeš potřebovat https://github.com/…auth2-client, třeba může být jiná tohle je ta základní.

  1. Odeslat request můžeš skrze tlačítko které budeš mít na webu a to bude odesílat signál.

    V signálu budeš mít potom logiku na přesměrování na danou stránku.

  2. Stránka by měla na zpět poslat nějaké informace. Za předpokladu že nebudeš používat knihovnu nejsem si ale jist zda to takhle

    jednoduše jde.. zkusit odchytit getParameters jestli nevrátí nějaké zásadní info.

  3. Authentificator psát nemusíš protože můžeš rovnou vrátit identitu a do ní data vložit. Při prvotním přihlášení si jen data uložit

    třeba do databáze a potom si pro ně třeba jen sahat..

Dříve se tu řešilo přihlášení přes Google to bylo právě přes OAUTH2, na to tu už menší návod je:
https://forum.nette.org/…-pres-google

Nevím zda ti tohle pomůže s tvým problémem protože je to napsáno hodně obecně. Snad se další chytrá hlavička ozve a poradí ti více.

MajBoss
Člen | 16
+
0
-

Určitě pomohlo, vyzkouším tu knihovnu na OpenID a snad to půjde, díky moc :)