Jeden login, mnoho aplikací (Automatické přihlášení) rubrika: Návrh

3 JSifalda
položil/-a 16.5.2015

Ahoj,

už nějakou delší dobu přemýšlím, jak vyřešit tento problém, ale nenapadá mě žádné kloudné a hlavně bezpečné řešení:

Jde mi o to, že mám (pro zjednodušení) dvě SPA aplikace a každá má svoje REST API.
Vztah mezi těmito aplikacemi bych mohl definovat asi následovně:
Jedna aplikace je "mateřská" - udržuje uživatelské účty.
Druhá aplikace slouží jako "podpůrná". Neboli uživatelé zde nemají žádné jiné účty, přihlašují se pomocí tech, které používají v mateřské aplikaci.
(Podpůrná aplikace nemusí být pouze na subdoméně.)

Co je ale z uživatelského hlediska docela nepříjemné je to, že se musím jako uživatel přihlásit na obouch aplikací (podpůrná aplikace se ptá aplikace mateřské na authentikaci).
Neboli se snažím vyřešit to, aby když se přihlásím na aplikaci mateřskou a pak otevřu aplikaci podpůrnou, tak abych byl automaticky také přihlášen.
A zase opačně. (Když se přihlásím na aplikaci podpůrné, abych byl automaticky přihlášen i na aplikaci mateřské.)
To samé i pro odhlášení.
Jinak řečeno, jak to dělá Google, že když se přihlásím na gmail, jsem automaticky přihlášen i na youtube?

Jak tohle prosím vyřešit z teoretického a (asi i trochu praktického) hlediska?

Předem moc děkuji.

odkaz
8 Tomáš Tintěra
odpověděl/-a 23.5.2015
 
upravil/-a 26.5.2015

Zkuste OAuth. http://en.wikipedia.org/wiki/OAuth Možná jsou pro váš jazyk dostupné hotové knihovny.

Komentáře

  • plymo : Také doporučuji OAuth2 - Google, Facebook, Microsoft... provozují vlastní OAuth servery. Klientské aplikace (jednotlivé služby - gmail, youtube...) mají zabudované OAuth klienty, kteří si s mateřskou aplikací vykomunikují access token na pozadí - ten se ukládá do klientského Token úložiště a po dobu platnosti tohoto tokenu jste přihlášen. Pomocí dalších tzv. refresh tokenů lze toto přihlašování na pozadí prodlužovat, aniž by uživatel cokoliv musel dělat. Určitě bych doporučoval využít nějakou hotovou knihovnu - např. pro Javu existuje šikovná spring-security-oauth2 (Spring framework). 24.5.2015
  • Tomáš Tintěra : Mám s OAuth2 dobrou zkušenost. Kolega vyráběl do naší Javové applikace OAuth přihlášení pro jedno nasazení. A již několik let to v pořádku funguje, co vím, tak bez dalších úprav nebo oprav. 26.5.2015
  • Ivan Novakov : +1 pro OAuth2. U autentizace se nevyplaci znovuobjevovata kolo a vymyslet nestandardni reseni... 13.6.2015

Pro zobrazení všech 4 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.