Možnosti mobilných aplikícií

hknmtt

  • ****
  • 295
    • Zobrazit profil
    • E-mail
Možnosti mobilných aplikícií
« kdy: 28. 06. 2025, 14:18:53 »
Mam bohate skusenosti s webom, ale nemam ziadne prakticke skusenosti s mobilnymi aplikaciami.

Mam situaciu kedy mam web FOO a web BAR, oboje su na uplne odlisnych domenach. Na webe FOO je registrovany pouzivatel U. Ked sa U prihlasi do FOO, tak sa mu ulozi session cookie.

Ked tento pouzivatel U ide na domenu BAR, domena mu naserviruje nejake data, klient U tieto skriptom odosle na FOO, kde je prihlaseny vdaka svojej cookie, vratenu odpoved nasledne klient preda domene BAR a ta ich spracuje. Cize domena BAR nema ziaden priamy pristup k FOO, ani nevie ze U je na FOO prihlaseny. Ake data sa komunikuju je tu irelevantne. V principe sa mozeme bavit, ze aj FOO aj BAR pouzivaju hmac, kde su kluce vzajomne zname a pouzivatel U je kontext, v ktorom sa data pouzivaju.

Co ma zaujima je, ako toto suplovat, ak je BAR mobilna aplikacia a nie web? Cize ak aplikacia pouzivatelovi naserviruje nejake data na odoslanie do FOO, pouzivatel tu nema cookies ani nic podobne, ako v prehliadaci. Tak ma zaujima, ci je mozne v mobile nejak prepojit webovy prehliadac s aplikaciou(napriklad viem, ze seznam email ma v sebe prehliadac), alebo ci aplikacia sama moze podporovat cookies, napriklad nejakym web-viewom a podobne, napojenym na lokalne ulozisko cookies, kde ich ma aj prehliadac(e), takze pouzivatel ktory je prihlaseny cez prehliadac vo FOO, moze stale ziskat data z aplikacie BAR, poslat ich cez https na FOO, kde je prihlaseny cez cookie, a odpoved dodat aplikacii BAR, tak ako pri cisto webovej verzii?

V tomto pripade ma nezaujima riesenie cez oauth. V principe ide o to aby BAR mohol fungovat aj s uplne anonymnym pouzivatelom, ktory je znamy iba FOO a to formou cookie v prehliadaci(ku ktorej BAR nema ziaden pristup, kedze ide o uplne odlisny origin).

« Poslední změna: 28. 06. 2025, 14:21:21 od hknmtt »


a6b

  • ***
  • 123
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #1 kdy: 28. 06. 2025, 14:38:12 »
kdekoliv i v mobilu muzete pouzit nejakeho http klienta.

hknmtt

  • ****
  • 295
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #2 kdy: 28. 06. 2025, 18:04:43 »
kdekoliv i v mobilu muzete pouzit nejakeho http klienta.

Ako je to tam s prepojenim cookies a js medzi samotnou aplikaciou a tym embedovanym prehliadacom? V principe ma zaujima, ze ak ja som FOO, tak ci musim pre mobilne aplikacie poskytnut nejake nove metody pre zabezpecenie totoznej funkcionality ako ma bezny web, alebo ci to moze fungovat v oboch pripadoch rovnako.

a6b

  • ***
  • 123
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #3 kdy: 28. 06. 2025, 22:01:40 »
cookie posila server jako pamatovaka, ktery ma zustat lezet na klientovi. a muzu byt firefox, nebo jakakoliv apka to je fuk a s cookies ze serveru si muzu udelat cokoliv, treba ulozit na disk, do pameti, nebo zahodit. cookie by se mohlo klidne jmenovat poznamkovy papirek ze serveru ponechany na klientovi. cookie je aktualni vec, uz se chystaji nahradni technologie.

hknmtt

  • ****
  • 295
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #4 kdy: 28. 06. 2025, 22:33:32 »
V principe sa pytam na to, ci nasledovna vec moze byt jednoducho implementovana aj v mobilnej aplikacii, alebo ci si to bude vyzadovat nejaku dodatocnu logiku:


a6b

  • ***
  • 123
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #5 kdy: 28. 06. 2025, 23:09:13 »
to vypada jako oauth a i kdyz jsi psal, ze nechces oauth tak na konci asi naimplementujes neco podobneho from scratch.

hknmtt

  • ****
  • 295
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #6 kdy: 28. 06. 2025, 23:41:44 »
Oauth funguje na backende, toto ide praveze cez klienta. BAR totiz o pouzivatelovi nemusi vobec nic vediet. Ide len o to, ze BAR a FOO si doveruju a puzivatel je registrovany iba vo FOO, takze ked BAR chce nieco vediet v kontexte pouzivatela, tak BAR a FOO komunikuju formou hmac/jwt tokenov prave len cez pouzivatela, ktory sam robi potrebne requesty.

Re:Možnosti mobilných aplikícií
« Odpověď #7 kdy: 29. 06. 2025, 08:11:22 »
Jako prvni bych zacal se studiem, co to vubec OAUTH/SSO je, pak bych procet kapitolku Keycloak, Getring started

hknmtt

  • ****
  • 295
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #8 kdy: 29. 06. 2025, 09:47:24 »
Oauth aj sso su tu uplne irelevantne.

Pouzijem prakticky priklad: clovek ide na domenu mojcas.com, kam sa registruje a nastavi si svoje casove pasmo.
Nasledne navstivi stranku pekne-ui.com. Stranka pekne-ui.com spusti JS, kedy navstevnik urobi dopyt na mojcas.com, aby zistil v akom casovom pasme je navstevnik a kolko je unho aktualne hodin, aby tak mohol vyrenderovat nejaky pekny UI widget s casom. Web mojcas.com vidi v requeste, ze navstevnik je registrovany a prihlaseny, o com pekne-ui.com nema ziadne tusenie, a pozrie sa ze ma nastavene nejake casove pasmo a podla toho odpovie ze je napriklad 15 hodin popoludni. Navstevnik na pekne-ui.com tuto informaciu preda dalej javascriptu na pekne-ui.com a ten sa bud odosle serveru pekne-ui.com aby sa prerenderovala cela stranka s touto informaciou, alebo dynamicky upravi widget s casom aby reflektoval tuto informaciu. To je cele.

A mna skratka zaujima, ze ak pekne-ui.com bude mat aj mobilnu aplikaciu, ci to moze fungovat rovnako, kedy sa pouzivatel moze cez webovy prehliadac prihlasit na mojcas.com a ked sa aplikacia spyta pouzivatela na jeho cas, ci je tam mozna komunikacia rovnakou formou, kedy pouzivatel robi tie requesty a teda kontext requestov je jeho pouzivatelsky ucet na zaklade cookie a aplikacia zase nema ani ponatie o nicom z tohoto a len dostane od pouzivatela finalnu informaciu.
« Poslední změna: 29. 06. 2025, 09:49:32 od hknmtt »

Re:Možnosti mobilných aplikícií
« Odpověď #9 kdy: 29. 06. 2025, 13:23:00 »
V daném příkladě ta mobilní aplikace tu doménu pekne-ui.com vůbec nepotřebuje a zeptá se rovnou mojcas.com a čas si pak vyrenderuje sama ve svém aplikačním UI.

Pokud aplikace skutečně potřebuje přistupovat na API různých domén, tak je OAuth řešením, protože:

Citace
OAuth je otevřený protokol (...) Cílem je poskytnout bezpečnou autentizaci a autorizaci oproti API různých služeb, a to jednotně pro desktopové, mobilní i webové aplikace.

Provozovatelům služby, která OAuth identity poskytuje, dává OAuth možnost sdílet uživatelská data a identity, aniž by uživatelé museli prozrazovat své heslo komukoliv dalšímu.

Takže aplikace pomocí http klienta provádí requesty na různé domény a ověřuje se Oauth tokenem. Předpokladem je, že služby na těch doménách Oauth podporují. Stejně tak ale může být vše realizováno nikoli v aplikaci ale na backendové službě aplikace a pak bude provádět requesty na více domén backendová služba a aplikaci předá jen výsledná data.

hknmtt

  • ****
  • 295
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #10 kdy: 29. 06. 2025, 13:33:50 »
Tomu samozrejme rozumiem. Moja otazka je, ci je mozne ponechat stavajucu logiku, ze aplikacia nemusi implementovat nic nove/ine oproti webovej stranke.
« Poslední změna: 29. 06. 2025, 13:36:49 od hknmtt »

Re:Možnosti mobilných aplikícií
« Odpověď #11 kdy: 29. 06. 2025, 13:37:13 »
Tomu samozrejme rozumiem. Moja otazka je, ci je mozne ponechat stavajucu logiku, ze aplikacia nemusi implementovat nic nove/ine oproti webovej stranke. Ako som uz spomenul, aplikacia/web pekne-ui.com napriklad vobec nemusi ani mat pouzivatelov, takze oauth token nema ani s kym sparovat.

Pak stačí, aby si http klient použítý v aplikaci pamatoval cookie. Což klientské knihovny většinou umí.

hknmtt

  • ****
  • 295
    • Zobrazit profil
    • E-mail
Re:Možnosti mobilných aplikícií
« Odpověď #12 kdy: 29. 06. 2025, 13:41:17 »
OK, to som prave chcel vediet.

Z vyssie uvedeneho mi vychadza, ze asi najvhodnejsie riesenie bude mat povodne jednoduche riesenie, ak BAR nechce riesit moc logiky, a vsetko riesi klient cez prehliadac, ale zaroven mat aj moznost oauth, aby to mohol riesit aj backend webu/aplikacie BAR ak chce.

Re:Možnosti mobilných aplikícií
« Odpověď #13 kdy: 29. 06. 2025, 14:22:41 »
OK, to som prave chcel vediet.

Z vyssie uvedeneho mi vychadza, ze asi najvhodnejsie riesenie bude mat povodne jednoduche riesenie, ak BAR nechce riesit moc logiky, a vsetko riesi klient cez prehliadac, ale zaroven mat aj moznost oauth, aby to mohol riesit aj backend webu/aplikacie BAR ak chce.

Ano a do budoucna bych pak už počítal jen s Oauth - je to standard.

Re:Možnosti mobilných aplikícií
« Odpověď #14 kdy: 29. 06. 2025, 14:35:50 »
OK, to som prave chcel vediet.

Z vyssie uvedeneho mi vychadza, ze asi najvhodnejsie riesenie bude mat povodne jednoduche riesenie, ak BAR nechce riesit moc logiky, a vsetko riesi klient cez prehliadac, ale zaroven mat aj moznost oauth, aby to mohol riesit aj backend webu/aplikacie BAR ak chce.

Ano a do budoucna bych pak už počítal jen s Oauth - je to standard.

a taky bych pocital s nadstavbou open id connect nad oauth, ktera dodava i dalsi informace navic.