Search
Search titles only
By:
Search titles only
By:
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Forums
New posts
All threads
Latest threads
New posts
Trending threads
Trending
Search forums
What's new
New posts
New ads
New profile posts
Latest activity
Free Ads
Latest reviews
Search ads
Members
Current visitors
New profile posts
Search profile posts
Contact us
Latest ads
Puffin Rock Characters Plush Toy Set
anil1961
Updated:
Saturday at 3:51 PM
Toyota Vitz scp10 For Sale
Lakmal Bandara
Updated:
Nov 4, 2026
Kandy
Welcome all my all new pet shop Bark.lk
dilumrane
Updated:
Nov 2, 2026
Windows RDP Only Rs.500 a month
Blogerwiki
Updated:
Nov 1, 2026
Ad icon
V2ray VPN for Tunneling
hu KANNA
Updated:
Oct 22, 2026
Electronics
Vehicles
Property
Search
Reply to thread
Forums
General
ElaKiri Talk!
Android Developers enna
Get the App
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="jdchathuranga" data-source="post: 29169400" data-attributes="member: 198330"><p>firebase පොඩි ඇප් වලට ලේසියි</p><p>හැබැයි ලොකු ඇප්ස් වලට ෆයර්බේස් වලින් API හදනවා හරිම අඩුයි</p><p>සමහර ෆයර්බේස් සර්විස් නං ලොකු ඇප් වලටත් යූස් කරනවා FCM, Analytics, Crashlytics etc</p><p></p><p>හාඩ්කෝඩඩ් API කී ගැන ඔය කියන්නෙ</p><p>APK එක Decompile කරලා string search එකක් කරලා එහෙම තියන API කී හොයන්න පුලුවන්</p><p>හැබැයි Oauth 2 යූස් කරලා public client flow එකක් යූස් කරන ඇප් වල client id එක ඇප් එක ඇතුලෙ තියනවා ඒක සෙකියුරිටි රිස්ක් එකක් නෙමයි බැලු බැල්මට ඒකත් කී එකක් වගේ</p><p>හැබැයි client_id, client_secret දෙකම තියනවා නං වැරදි flow එකක් යූස් කරලා තියෙන්නෙ ඒක වැරදියි </p><p></p><p></p><p>Yes</p><p>but Android keychain security depend on the hardware features like secure vault etc. but that provides reasonable security compared to user pref</p><p></p><p>phone එක බැකප් කරාම shared pref ටික නිකන්ම ෆයිල් එකක් විදියට තියනවා ඒක පට්ටම insecure</p><p></p><p></p><p></p><p>JWT එක එන්ක්රිප්ට් කරලා නැහැ ඕන කෙනෙක්ට ඩිකෝඩ් කරන්න පුලුවන් ඒක expected, jwt.io කියන්නෙ developer tool එකක්, inspect element වගේ</p><p> JWT එකේ සෙකියුරිටි එක තියෙන්නෙ එතන නෙමයි</p><p>jwt එකේ කෑලි තුනක් තියනවා . එකෙන් සෙපරේට් කරලා</p><p>HEADER.PAYLOAD.SIGNATURE විදියට</p><p>JWT එක යූස් කරන්නෙ මෙහෙමයි</p><p>සර්වර් එකේ(jwt එක ජෙනරේට් කරන තැන) private key, public key pair එකක් (or multiple key pairs) තියනවා</p><p>සර්වර් එක public key එක ඕන කෙනෙක්ට certificate එකක් විදියට ගන්න හරි jwks endpoint එකකින් ඕන කෙනෙක්ට ගන්න පුලුවන් විදියට දීලා තියනවා</p><p>Example google's certs : <a href="https://www.googleapis.com/oauth2/v3/certs" target="_blank">https://www.googleapis.com/oauth2/v3/certs</a></p><p></p><p>ලොගින් එකේදි හරි token එක issue කරද්දි හරි jwt එක private key එකෙන් සයින් කරලා ඒ signature එක තමයි අර jwt signature කෑල්ලෙ තියෙන්නෙ. අපිට public key එකට ඇක්සස් තියන නිසා jwt එකේ signature එක අපිට verify කරන්න පුලුවන්.</p><p>උදාහරනයක් විදියට අපිට login with google වලින් හම්බුනු jwt එක අර දීපු පබ්ලික් කී යූස් කරලා වෙරිෆයි කරන්න පුලුවන් ඇත්තටම ගූගල් දීපු jwt එකක්ද කියලා</p><p></p><p>ඇන්ඩ්රොයිඩ්/ios/web ඇප් වලදි කරන්නෙ ලොගින් එකේදි සර්වර් එකෙන් jwt එකක් ඇප් එකට දෙනවා(using refresh token or authorization code or whatever flow)</p><p>ඇප් එක ඒක කොහේ හරි secure විදියට තියාගෙන ඉන්නවා. මේකට ලොකු වැලිඩිටි ටයිම් එකක් නැති නිසා මේක ලීක් උනත් වැලිඩිටි ටයිම් එකේදි විතරයි යූස් කරන්න පුලුවන්</p><p>ඒක නිසා තමයි මේ ඇක්සස් ටෝකන් වලට ගොඩක් පොඩි විනාඩි ගානක වැලිඩිටි ටයිම් එකක් දෙන්නෙ.</p><p>ඇප් එක API එක කතා කරද්දි සර්වර් එකට මේ jwt එක යවනවා</p><p>සර්වර් එකේදි අනිවාර්යෙන් මේකෙ වැලිඩිටි ටයිම් එක සහ signature validation එක කරන්න ඕන. ඒ දෙකම හරි නං API එක වැඩ කරනවා නැත්තං 401 වගේ එකක් return කරනවා</p><p>මේකෙදි තව වාසි තියනවා, මේක අපිට jwt එක issue කරපු කෙනා ලඟට යන්නෙ නැතිව වැලිඩේට් කරන්න පුලුවන් මොකද පබ්ලික් කී එකට අපිට ඇක්සස් තියන නිසා, ඕන නං අපිට පුලුවන් වෙන කෙනෙක් දීපු jwt එකකින් අපේ API එකකට ඇක්සස් දෙන්නත් පුලුවන්</p><p></p><p>me flow එකේ කරන common mistake එක තමයි සර්වර් එකේදි validity time එක චෙක් කරාට signature එක චෙක් කරන්නෙ නැති එක. මේක පට්ටම දරුනු සෙකියුරිටි බග් එකක් වෙනවා</p><p>මොකද එතකොට අපිට පුලුවන් වෙන කෙනෙක් විදියට jwt එකක් ජෙනරේට් කරලා API access කරන්න. signarure එක අතඇරලා දැම්මොතින් JWT එක කියන්නෙ සරලවම Base64 Encode කරපු JSON එකක්. ඒක නිසා වෙන කෙනෙක් JWT එකක් අරන් එනවා නං අනිවාර්යෙන් ඒක signature + time වැලිඩේට් කරන්න ඕන</p><p></p><p>තව payload එකේ propeties තියනවා ඒවට claims කියලා කියන්නෙ</p><p>විශේශ claims තියනවා</p><p>issuer/audience etc etc කියලා</p><p>තව ටයිප් කරන්න කම්මැලී</p><p></p><p></p><p>JWT ගැන ඕන නං එක දිගට පැය 7-8ක් කියලා දෙන්න පුලුවන්</p></blockquote><p></p>
[QUOTE="jdchathuranga, post: 29169400, member: 198330"] firebase පොඩි ඇප් වලට ලේසියි හැබැයි ලොකු ඇප්ස් වලට ෆයර්බේස් වලින් API හදනවා හරිම අඩුයි සමහර ෆයර්බේස් සර්විස් නං ලොකු ඇප් වලටත් යූස් කරනවා FCM, Analytics, Crashlytics etc හාඩ්කෝඩඩ් API කී ගැන ඔය කියන්නෙ APK එක Decompile කරලා string search එකක් කරලා එහෙම තියන API කී හොයන්න පුලුවන් හැබැයි Oauth 2 යූස් කරලා public client flow එකක් යූස් කරන ඇප් වල client id එක ඇප් එක ඇතුලෙ තියනවා ඒක සෙකියුරිටි රිස්ක් එකක් නෙමයි බැලු බැල්මට ඒකත් කී එකක් වගේ හැබැයි client_id, client_secret දෙකම තියනවා නං වැරදි flow එකක් යූස් කරලා තියෙන්නෙ ඒක වැරදියි Yes but Android keychain security depend on the hardware features like secure vault etc. but that provides reasonable security compared to user pref phone එක බැකප් කරාම shared pref ටික නිකන්ම ෆයිල් එකක් විදියට තියනවා ඒක පට්ටම insecure JWT එක එන්ක්රිප්ට් කරලා නැහැ ඕන කෙනෙක්ට ඩිකෝඩ් කරන්න පුලුවන් ඒක expected, jwt.io කියන්නෙ developer tool එකක්, inspect element වගේ JWT එකේ සෙකියුරිටි එක තියෙන්නෙ එතන නෙමයි jwt එකේ කෑලි තුනක් තියනවා . එකෙන් සෙපරේට් කරලා HEADER.PAYLOAD.SIGNATURE විදියට JWT එක යූස් කරන්නෙ මෙහෙමයි සර්වර් එකේ(jwt එක ජෙනරේට් කරන තැන) private key, public key pair එකක් (or multiple key pairs) තියනවා සර්වර් එක public key එක ඕන කෙනෙක්ට certificate එකක් විදියට ගන්න හරි jwks endpoint එකකින් ඕන කෙනෙක්ට ගන්න පුලුවන් විදියට දීලා තියනවා Example google's certs : [URL]https://www.googleapis.com/oauth2/v3/certs[/URL] ලොගින් එකේදි හරි token එක issue කරද්දි හරි jwt එක private key එකෙන් සයින් කරලා ඒ signature එක තමයි අර jwt signature කෑල්ලෙ තියෙන්නෙ. අපිට public key එකට ඇක්සස් තියන නිසා jwt එකේ signature එක අපිට verify කරන්න පුලුවන්. උදාහරනයක් විදියට අපිට login with google වලින් හම්බුනු jwt එක අර දීපු පබ්ලික් කී යූස් කරලා වෙරිෆයි කරන්න පුලුවන් ඇත්තටම ගූගල් දීපු jwt එකක්ද කියලා ඇන්ඩ්රොයිඩ්/ios/web ඇප් වලදි කරන්නෙ ලොගින් එකේදි සර්වර් එකෙන් jwt එකක් ඇප් එකට දෙනවා(using refresh token or authorization code or whatever flow) ඇප් එක ඒක කොහේ හරි secure විදියට තියාගෙන ඉන්නවා. මේකට ලොකු වැලිඩිටි ටයිම් එකක් නැති නිසා මේක ලීක් උනත් වැලිඩිටි ටයිම් එකේදි විතරයි යූස් කරන්න පුලුවන් ඒක නිසා තමයි මේ ඇක්සස් ටෝකන් වලට ගොඩක් පොඩි විනාඩි ගානක වැලිඩිටි ටයිම් එකක් දෙන්නෙ. ඇප් එක API එක කතා කරද්දි සර්වර් එකට මේ jwt එක යවනවා සර්වර් එකේදි අනිවාර්යෙන් මේකෙ වැලිඩිටි ටයිම් එක සහ signature validation එක කරන්න ඕන. ඒ දෙකම හරි නං API එක වැඩ කරනවා නැත්තං 401 වගේ එකක් return කරනවා මේකෙදි තව වාසි තියනවා, මේක අපිට jwt එක issue කරපු කෙනා ලඟට යන්නෙ නැතිව වැලිඩේට් කරන්න පුලුවන් මොකද පබ්ලික් කී එකට අපිට ඇක්සස් තියන නිසා, ඕන නං අපිට පුලුවන් වෙන කෙනෙක් දීපු jwt එකකින් අපේ API එකකට ඇක්සස් දෙන්නත් පුලුවන් me flow එකේ කරන common mistake එක තමයි සර්වර් එකේදි validity time එක චෙක් කරාට signature එක චෙක් කරන්නෙ නැති එක. මේක පට්ටම දරුනු සෙකියුරිටි බග් එකක් වෙනවා මොකද එතකොට අපිට පුලුවන් වෙන කෙනෙක් විදියට jwt එකක් ජෙනරේට් කරලා API access කරන්න. signarure එක අතඇරලා දැම්මොතින් JWT එක කියන්නෙ සරලවම Base64 Encode කරපු JSON එකක්. ඒක නිසා වෙන කෙනෙක් JWT එකක් අරන් එනවා නං අනිවාර්යෙන් ඒක signature + time වැලිඩේට් කරන්න ඕන තව payload එකේ propeties තියනවා ඒවට claims කියලා කියන්නෙ විශේශ claims තියනවා issuer/audience etc etc කියලා තව ටයිප් කරන්න කම්මැලී JWT ගැන ඕන නං එක දිගට පැය 7-8ක් කියලා දෙන්න පුලුවන් [/QUOTE]
Insert quotes…
Verification
Hath warak paha keeyada? (hatha wadikireema paha)
Post reply
Top
Bottom