App ekakk oogollo haduwata passe ooke shared eke login detatils watenw ne! eewa dev da encrypt wenn oone kiyl program krnne? nattam framework eken default wenwd?
@Solo Rider
@ST.PIERRE
@Solo Rider
@ST.PIERRE
මේකෙ තේරුම මොකද්දshared eke login detatils watenw ne!
JWT
මේකෙ තේරුම මොකද්ද
shared API key එක ඇප් එක ඇතුලෙ තියනවා කියන එකද?
Android app එක ඇතුලෙ එම්බෙඩ් කරන හැම දේම user knows කියන assumption එක කරනවා. encrypt කරත් වැඩක් නැහැ මොකද එතකොට කොහොමද key එක මේන්ටේන් කරන්නෙ කියන ප්රශ්නෙ එනවා
ප්රශ්නෙ පැහැදිලිව කිවුවොතින් සොලූශන් කියන්න පුලුවන්
login details shared pref වල සේවු කරගෙන next time auto login කරන්නද හදන්නෙ? එහෙනං ඒක පට්ටම වැරදි විදියක්
OAuth 2.0/refresh token grant එක යූස් කරන්න පුලුවන්. login එකට password/code වගේ grant එකක් යූස් කරන්න පුලුවන්
මේක ෆ්රේම්වර්ක් එකකින් කරන්නත් පුලුවන් වෙනම ප්රොඩක්ට් එකක් යූස් කරන්නත් පුලුවන් නැත්තං මේ ලොජික් ටික කෝඩ් කරන්නත් පුලුවන් ඒ තරං සංකීර්ණ නැහැ බැක්එන්ඩ් ලොජික් තමයි ගොඩක් තියෙන්නෙ
login උනාම access_token/refresh_token දෙකක් ජෙනරේට් කරනවා ඒකෙන් තමයි සෙශන් එක හැඬල් කරන්නෙ. මේ දෙක තමයි ඇප් එක ඇතුලෙ තියාගෙන ඉන්නෙ
මේක shared pref වල දාන්න පුලුවන් encrypted shared pref ලයිබ්රි තියනවා ඕන නං
refresh token එකට ලොකු වැලිඩිටි ටයිම් එකක් තියනවා දවසක/සතියක වගේ
access token එකට පොඩි වැලිඩිටි ටයිම් එකක් තියනවා විනාඩි ගානක වගේ
access token එක දාල API කෝල් කරනවා, access token එක expire උනාම refresh token එක යවලා අලුත් access token එකක් ගන්න පුලුවන්, ඕන නං access token එකක් ගන්න හැම වෙලාවෙම refresh token එකේ වැලිඩිටි එකත් අප්ඩේට් කරන්න පුලුවන්(rotate refresh token),
එතකොට ඇප් එක එක දිගට යූස් කරන කෙනෙක්ට දිගටම ඇප් එකෙන් ලොග් අවුට් වෙන්නෙ නැතිව යූස් කරන්න පුලුවන්
මේ token වල ටයිප් එක jwt වෙන්න පුලුවන් opaque වෙන්න පුලුවන්. refresh token එක නං කොහොමත් opaque තමයි
ටෝකන් issue කරන්නෙ scope එකකට, එතකොට අදාල නැති API හරි වැඩ හරි ටෝකන් එකෙන් කරන්න බැහැ
(Consultation වැඩකදි මේ ටික කියලා දුන්නා නං $500ක විතර බිලක් දෙන්න තිවුනා )
මේකෙ තේරුම මොකද්ද
shared API key එක ඇප් එක ඇතුලෙ තියනවා කියන එකද?
Android app එක ඇතුලෙ එම්බෙඩ් කරන හැම දේම user knows කියන assumption එක කරනවා. encrypt කරත් වැඩක් නැහැ මොකද එතකොට කොහොමද key එක මේන්ටේන් කරන්නෙ කියන ප්රශ්නෙ එනවා
ප්රශ්නෙ පැහැදිලිව කිවුවොතින් සොලූශන් කියන්න පුලුවන්
login details shared pref වල සේවු කරගෙන next time auto login කරන්නද හදන්නෙ? එහෙනං ඒක පට්ටම වැරදි විදියක්
OAuth 2.0/refresh token grant එක යූස් කරන්න පුලුවන්. login එකට password/code වගේ grant එකක් යූස් කරන්න පුලුවන්
මේක ෆ්රේම්වර්ක් එකකින් කරන්නත් පුලුවන් වෙනම ප්රොඩක්ට් එකක් යූස් කරන්නත් පුලුවන් නැත්තං මේ ලොජික් ටික කෝඩ් කරන්නත් පුලුවන් ඒ තරං සංකීර්ණ නැහැ බැක්එන්ඩ් ලොජික් තමයි ගොඩක් තියෙන්නෙ
login උනාම access_token/refresh_token දෙකක් ජෙනරේට් කරනවා ඒකෙන් තමයි සෙශන් එක හැඬල් කරන්නෙ. මේ දෙක තමයි ඇප් එක ඇතුලෙ තියාගෙන ඉන්නෙ
මේක shared pref වල දාන්න පුලුවන් encrypted shared pref ලයිබ්රි තියනවා ඕන නං
refresh token එකට ලොකු වැලිඩිටි ටයිම් එකක් තියනවා දවසක/සතියක වගේ
access token එකට පොඩි වැලිඩිටි ටයිම් එකක් තියනවා විනාඩි ගානක වගේ
access token එක දාල API කෝල් කරනවා, access token එක expire උනාම refresh token එක යවලා අලුත් access token එකක් ගන්න පුලුවන්, ඕන නං access token එකක් ගන්න හැම වෙලාවෙම refresh token එකේ වැලිඩිටි එකත් අප්ඩේට් කරන්න පුලුවන්(rotate refresh token),
එතකොට ඇප් එක එක දිගට යූස් කරන කෙනෙක්ට දිගටම ඇප් එකෙන් ලොග් අවුට් වෙන්නෙ නැතිව යූස් කරන්න පුලුවන්
මේ token වල ටයිප් එක jwt වෙන්න පුලුවන් opaque වෙන්න පුලුවන්. refresh token එක නං කොහොමත් opaque තමයි
ටෝකන් issue කරන්නෙ scope එකකට, එතකොට අදාල නැති API හරි වැඩ හරි ටෝකන් එකෙන් කරන්න බැහැ
(Consultation වැඩකදි මේ ටික කියලා දුන්නා නං $500ක විතර බිලක් දෙන්න තිවුනා )
Login details locally thiyaganna eka waradiy.
Shared preference wala Nan komath thiyaganne ne.
Eka parak log unama tokens 2 k hadanawa. ( Jwt mekata use karanwa )
Eken thama session eka refresh karanne.
E token unath plain widiyata save karanne ne
Ewath secure storage eheka danne, ( encrypted shared )
![]()
Ehema refresh token ekakk thiyenawa thamaemu64xa:/data/data/com.<snip>.app/shared_prefs # ls
FirebaseAppHeartBeat.xml com.google.android.gms.appid.xml
GTPlayerPurchases.xml com.google.firebase.auth.api.Store.W0RFRkFVTFRd+MTozODkwNDg4<snip>YjdhMGE4MGMwNjBmMGFk.xml
OneSignal.xml io.invertase.firebase.xml
OneSignalTriggers.xml
emu64xa:/data/data/com.<snip>.app/shared_prefs #
emu64xa:/data/data/com.<snif>.app/files # cat P
PersistedInstallation.T05FU0lHT<snif>wNDI6YW5kcm9pZDpjNjgyYjgxNDRhOGRkNTJiYzFhZDYz.json
PersistedInstallation.W0RFRkFVTFRd<snif>hMGE4MGMwNjBmMGFk.json
5FU0lHTkFMX1NES19<snif>RhOGRkNTJiYzFhZDYz.json <
{"Fid":"cEzwmO6kSf-TunvoWinKG7","Status":3,"AuthToken":"eyJhbGciOiJ<snif>ZHJvaWQ6YzY4MmI4MTQ0
YThkZDUyYmMxYWQ2My<snif>b1dpbktHNyIsInByb2plY3ROdW1iZXIiOjc1NDc5NTYxNDA0Mn0.AB2LPV8wRQIhAO3vO0LPWQcN5
MPHTqKkeTDaKDXaEMIM0eQOubFvxEdnAiBjq-_RIW829Mcxy5t8ZPGVZ860JFmPvQ6t3e_oMVKt8Q","RefreshToken":"3_AS3qfwJBOe<snif>LA1Dk3G
wihvWQZ4r4f2iBm6o4vUJOU5006_Nudi68ggcIhaqN6hO_N9xKydov7RaoQ","TokenCreationEpochInSecs":1693<>2315,"ExpiresInSecs":604800}emu64xa:/data/data/com.echo
nlabs.<snif>.app/files #
මන් නම් කියන්නේ ඔය hacker කම විසික් කරලා දාපන් කියලා බල්ලට
And also android account manager
Think abt using android keychain
therenn kiypnko
Think abt using android keychain
And also android account manager
------ Post added on Sep 4, 2023 at 6:19 PM
Login details locally thiyaganna eka waradiy.
Shared preference wala Nan komath thiyaganne ne.
Eka parak log unama tokens 2 k hadanawa. ( Jwt mekata use karanwa )
Eken thama session eka refresh karanne.
E token unath plain widiyata save karanne ne
Ewath secure storage eheka danne, ( encrypted shared )
![]()
JWT token wunath dan decrypt karnna puluwan ne - https://jwt.io/JWT
Keychain eka thama most securetherenn kiypnko
ow puluwn ooken admin account ekth take over karapu seen thiyenwJWT token wunath dan decrypt karnna puluwan ne - https://jwt.io/
hmm man podi podi labs tikakk kara kara inne.Keychain eka thama most secure
And accounts sync wenna ona android os ekath ekka. Hoda salary ona nm owa igena ganna

samahra sites man JWT decrypt karla API key aran tiyei. but smahara sites wala JWT decrypt kalata hariyata wada kale na. mokak hari un thawa encryption key ekak danawa vage.ow puluwn ooken admin account ekth take over karapu seen thiyenw
hmm man podi podi labs tikakk kara kara inne.
Evaye Hard coded APis thibba. Real world wenama seen ekk ned
------ Post added on Sep 4, 2023 at 6:23 PM
Refresh karanawa Athi key eksamahra sites man JWT decrypt karla API key aran tiyei. but smahara sites wala JWT decrypt kalata hariyata wada kale na. mokak hari un thawa encryption key ekak danawa vage.
Oka dekak ban. Uba firebase authentication nam google firebase authentication ekama use karapan. Third party nam keychain ekata credentials dala account manager ekata account eka sync karapan.ow puluwn ooken admin account ekth take over karapu seen thiyenw
hmm man podi podi labs tikakk kara kara inne.
Evaye Hard coded APis thibba. Real world wenama seen ekk ned
------ Post added on Sep 4, 2023 at 6:23 PM
JWT token wunath dan decrypt karnna puluwan ne - https://jwt.io/
man JWT ekaOka dekak ban. Uba firebase authentication nam google firebase authentication ekama use karapan. Third party nam keychain ekata credentials dala account manager ekata account eka sync karapan.