Let me first quote a paragraph from the Memory Representation of Values (with my emphasis):
Obj is an undocumented module that exposes the internals of the OCaml compiler and runtime. It is very useful for
Let me first quote a paragraph from the Memory Representation of Values (with my emphasis):
Obj is an undocumented module that exposes the internals of the OCaml compiler and runtime. It is very useful for
| ID | TextID | Name | Category | |
|---|---|---|---|---|
| 63BDA8A4 | 128840881 | Inazuma Drop | Shot | |
| 4890FB67 | 746628978 | Twin Boost | Shot | |
| 518BCA26 | 899388979 | Fire Tornado | Shot | |
| 1ECA5CE1 | 2061107444 | Wrath Shot | Shot | |
| 7D16DA0 | 1673605557 | Inazuma-1 | Shot | |
| 2CFC3E63 | 1223451254 | Dragon Crash | Shot | |
| 5BFB0EF5 | 1072386784 | Dreamscape: Dragon Crash | Shot | |
| 35E70F22 | 1375163191 | Grenade Shot | Shot | |
| B27F13ED | 3597619192 | Death Zone | Shot |
See how a minor change to your commit message style can make a difference.
git commit -m"<type>(<optional scope>): <description>" \ -m"<optional body>" \ -m"<optional footer>"
Audit this entire codebase for materially useful simplifications in its data structures, state representation, control flow, algorithms, and ownership.
This is an audit-only exercise. Do not edit files, run tests, implement recommendations, commit, or push. Read-only inspection commands are allowed.
You are the coordinator. Continue until the complete codebase has been reviewed and the final audit is validated.
Inspect the repository and inventory every identifiable subsystem.
TLDR: JWTs should not be used for keeping your user logged in. They are not designed for this purpose, they are not secure, and there is a much better tool which is designed for it: regular cookie sessions.
If you've got a bit of time to watch a presentation on it, I highly recommend this talk: https://www.youtube.com/watch?v=pYeekwv3vC4 (Note that other topics are largely skimmed over, such as CSRF protection. You should learn about other topics from other sources. Also note that "valid" usecases for JWTs at the end of the video can also be easily handled by other, better, and more secure tools. Specifically, PASETO.)
A related topic: Don't use localStorage (or sessionStorage) for authentication credentials, including JWT tokens: https://www.rdegges.com/2018/please-stop-using-local-storage/
The reason to avoid JWTs comes down to a couple different points:
👉 ipatool is an open-source tool developed by Majd, a highly trustworthy and talented developer in the iOS community. Recently, ipatool got a significant update that allows users to easily download older versions of iOS apps on macOS/Windows/Linux!.
👉 Since ipatool doesn't have a graphical user interface (GUI), some of you might think it's tricky to use. But trust me, it's not! Here's a simple guide if you're still a bit scared of the terminal. (Tbh, everything in this *guide can be found on ipatool's repo)
👉 Note: You need to log into your Apple ID via ipatool for the tool to work. Unless you prioritize security above all, you can trust logging into your Apple account with ipatool. As explained earlier, it’s an open-source tool developed by a well-known and reliable developer, minimizing security risks to the lowest level.