Skip to content
Snippets Groups Projects
Commit fef31834 authored by Kegan Dougal's avatar Kegan Dougal
Browse files

Pass back the user_id in the response to /login in case it has changed. Store...

Pass back the user_id in the response to /login in case it has changed. Store and use that on the webclient rather than the input field.
parent ca3747fb
No related branches found
No related tags found
No related merge requests found
......@@ -16,7 +16,6 @@
from twisted.internet import defer
from ._base import BaseHandler
from synapse.types import UserID
from synapse.api.errors import LoginError, Codes
import bcrypt
......@@ -36,7 +35,7 @@ class LoginHandler(BaseHandler):
"""Login as the specified user with the specified password.
Args:
user (str): The user ID or username.
user (str): The user ID.
password (str): The password.
Returns:
The newly allocated access token.
......@@ -48,9 +47,6 @@ class LoginHandler(BaseHandler):
if not hasattr(self, "reg_handler"):
self.reg_handler = self.hs.get_handlers().registration_handler
if not user.startswith('@'):
user = UserID.create_local(user, self.hs).to_string()
# pull out the hash for this user if they exist
user_info = yield self.store.get_user_by_id(user_id=user)
if not user_info:
......
......@@ -16,6 +16,7 @@
from twisted.internet import defer
from synapse.api.errors import SynapseError
from synapse.types import UserID
from base import RestServlet, client_path_pattern
import json
......@@ -45,12 +46,17 @@ class LoginRestServlet(RestServlet):
@defer.inlineCallbacks
def do_password_login(self, login_submission):
if not login_submission["user"].startswith('@'):
login_submission["user"] = UserID.create_local(
login_submission["user"], self.hs).to_string()
handler = self.handlers.login_handler
token = yield handler.login(
user=login_submission["user"],
password=login_submission["password"])
result = {
"user_id": login_submission["user"], # may have changed
"access_token": token,
"home_server": self.hs.hostname,
}
......
......@@ -79,7 +79,7 @@ angular.module('LoginController', ['matrixService'])
$scope.feedback = "Login successful.";
matrixService.setConfig({
homeserver: $scope.account.homeserver,
user_id: $scope.account.user_id,
user_id: response.data.user_id,
access_token: response.data.access_token
});
matrixService.saveConfig();
......
......@@ -24,7 +24,7 @@
<!-- Login with an registered user -->
<div>{{ login_error_msg }} </div>
<div>
<input id="user_id" size="70" type="text" auto-focus ng-model="account.user_id" placeholder="User ID (ex:@bob:localhost)"/>
<input id="user_id" size="70" type="text" auto-focus ng-model="account.user_id" placeholder="User ID (ex:@bob:localhost or bob)"/>
<br />
<input id="password" size="70" type="password" ng-model="account.password" placeholder="Password"/><br />
<br/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment