One thing to be aware of is that there is currently, AFAIK, no way to “disable” a JWT.
Once you have created it, if you leak it, your account is, as far as I can tell, definitely compromised.
I will add, as a disclaimer, that I have not checked if there are conditions (password change, etc) under which any or all JWT (user, instance, etc) become invalid. So do audit the code if this is something that concerns you. As far as I am concerned, I treat the JWTs as extra-sensitive information, and store them only on machines I own.
No settings page (as far as I’m aware), but you can use the API to get everything (posts, comments, etc):
step 1: get login token -
curl --request POST \ --url https://lemmy.ml/api/v3/user/login \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data ' { "username_or_email": "2br02b", "password": "YOUR-PASSWORD" } '
step 2: use login token (big long string starting with ‘ey’) to get data -
curl --request GET \ --url 'https://lemmy.ml/api/v3/user?username=2br02b&page=1' \ --header 'accept: application/json' \ --header 'authorization: Bearer YOUR-JWT'
Increment page number until you have everything. source: https://lemmy.readme.io/reference/get_user
One thing to be aware of is that there is currently, AFAIK, no way to “disable” a JWT.
Once you have created it, if you leak it, your account is, as far as I can tell, definitely compromised.
I will add, as a disclaimer, that I have not checked if there are conditions (password change, etc) under which any or all JWT (user, instance, etc) become invalid. So do audit the code if this is something that concerns you. As far as I am concerned, I treat the JWTs as extra-sensitive information, and store them only on machines I own.
The jwt is invalidated once you logout. You can also change/reset your password to invalidate all login tokens for your account.
Invalidated how?
OK. I was afraid this would not be the case. Thanks for confirming.
Well it’s deleted from the database so you can’t authenticate with it anymore.
OK there now is a
LoginToken
class. This was not the case last time I checked. Good. Thanks for your answers.