diff options
author | Erik Johnston <erikj@jki.re> | 2016-07-04 14:23:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-04 14:23:04 +0100 |
commit | 3de816834379664f7bc3dbf595a5187b5c0b8a51 (patch) | |
tree | 1f2556704b4e3157208f44f9a70c66581b43ec73 | |
parent | code_style.rst: add link to sphinx examples (diff) | |
parent | Fix style violations (diff) | |
download | synapse-3de816834379664f7bc3dbf595a5187b5c0b8a51.tar.xz |
Merge pull request #905 from KentShikama/add-password-hash
Optionally include password hash in createUser endpoint
-rw-r--r-- | synapse/handlers/register.py | 5 | ||||
-rw-r--r-- | synapse/rest/client/v1/register.py | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py index 0b7517221d..88c82ba7d0 100644 --- a/synapse/handlers/register.py +++ b/synapse/handlers/register.py @@ -358,7 +358,8 @@ class RegistrationHandler(BaseHandler): defer.returnValue(data) @defer.inlineCallbacks - def get_or_create_user(self, localpart, displayname, duration_seconds): + def get_or_create_user(self, localpart, displayname, duration_seconds, + password_hash=None): """Creates a new user if the user does not exist, else revokes all previous access tokens and generates a new one. @@ -394,7 +395,7 @@ class RegistrationHandler(BaseHandler): yield self.store.register( user_id=user_id, token=token, - password_hash=None, + password_hash=password_hash, create_profile_with_localpart=user.localpart, ) else: diff --git a/synapse/rest/client/v1/register.py b/synapse/rest/client/v1/register.py index e3f4fbb0bb..d791d5e07e 100644 --- a/synapse/rest/client/v1/register.py +++ b/synapse/rest/client/v1/register.py @@ -410,12 +410,15 @@ class CreateUserRestServlet(ClientV1RestServlet): raise SynapseError(400, "Failed to parse 'duration_seconds'") if duration_seconds > self.direct_user_creation_max_duration: duration_seconds = self.direct_user_creation_max_duration + password_hash = user_json["password_hash"].encode("utf-8") \ + if user_json.get("password_hash") else None handler = self.handlers.registration_handler user_id, token = yield handler.get_or_create_user( localpart=localpart, displayname=displayname, - duration_seconds=duration_seconds + duration_seconds=duration_seconds, + password_hash=password_hash ) defer.returnValue({ |