summaryrefslogtreecommitdiff
path: root/docs/user_guide
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-10-14 14:26:04 +0200
committerLibravatar GitHub <noreply@github.com>2021-10-14 14:26:04 +0200
commit107685e22e809123a31e6518249d14888767f0fe (patch)
tree3a46ca8a095f7ec1a0ee65845364b498099b6954 /docs/user_guide
parentgo fmt (#278) (diff)
downloadgotosocial-107685e22e809123a31e6518249d14888767f0fe.tar.xz
User password change (#280)
* start passwordChangeHandler * add user scope * add user module / api path * add password change request * make comment clearer * add user to processor * required true * add processor call to handler * don't pass tc or channel * change password func + tests * add some first docs about password management * update swagger docs * add api tests * go fmt * test fixes
Diffstat (limited to 'docs/user_guide')
-rw-r--r--docs/user_guide/password_management.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/user_guide/password_management.md b/docs/user_guide/password_management.md
new file mode 100644
index 000000000..f6e2de1b2
--- /dev/null
+++ b/docs/user_guide/password_management.md
@@ -0,0 +1,19 @@
+# Password Management
+
+GoToSocial stores hashes of user passwords in its database using the secure [bcrypt](https://en.wikipedia.org/wiki/Bcrypt) function in the [Go standard libraries](https://pkg.go.dev/golang.org/x/crypto/bcrypt).
+
+This means that the plaintext value of your password is safe even if the database of your GoToSocial instance is compromised. It also means that your instance admin does not have access to your password.
+
+To check whether a password is sufficiently secure before accepting it, GoToSocial uses [this library](https://github.com/wagslane/go-password-validator) with entropy set to 60. This means that passwords like `password` are rejected, but something like `verylongandsecurepasswordhahaha` would be accepted, even without special characters/upper+lowercase etc.
+
+We recommend following the EFF's guidelines on [creating strong passwords](https://ssd.eff.org/en/module/creating-strong-passwords).
+
+## Change Your Password
+
+### API method
+
+If you are logged in (ie., you have a valid oauth token), you can change your password by making a POST request to `/api/v1/user/password_change`, using your token as authentication, and giving your old password and desired new password as parameters. Check the [API documentation](../api/swagger.md) for more details.
+
+## Reset Your Password
+
+todo