Commit dcace452 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Permite uso de símbolos en email y password

El manejo de datos con respecto a estos campos no tenía en cuenta que,
al serializarlos en forma de petición HTTP GET, se reemplazaban ciertos
símbolos con significado especial (como el símbolo '+'). Se asegura el
paso inmutable de estos valores hacia el servicio node y hacia api.

Fix #59
parent 5c985265
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -176,16 +176,12 @@ function onOauthTokenRequest(req, res) {

	res.set('Content-Type', 'application/json');

	let body = req.body,
		password = body.password,
		username = body.username,

		getTokenUrl = oauthUrl + '/token',
		clientCredentials = oauthClientId + ':' + oauthClientSecret,
		base64ClientCredentials = Buffer.from(clientCredentials).toString('base64'),

	let getTokenUrl = oauthUrl + '/token',
		reqLibrary = getTokenUrl.indexOf('https') === -1 ? http : https;

	let clientCredentials = oauthClientId + ':' + oauthClientSecret,
		base64ClientCredentials = Buffer.from(clientCredentials).toString('base64');

	let options = {
		method: 'POST',
		headers: {
@@ -203,7 +199,11 @@ function onOauthTokenRequest(req, res) {

	internalReq.on('error', onOauthRequestError.bind(this, res));

	let bodyData = 'grant_type=password&username=' + username + '&password=' + password + '&scope=write';
	let body = req.body,
		password = encodeURIComponent(body.password),
		username = encodeURIComponent(body.username),
		bodyData = 'grant_type=password&username=' + username + '&password=' + password + '&scope=write';

	internalReq.write(bodyData);
	internalReq.end();
}
+4 −3
Original line number Diff line number Diff line
@@ -141,9 +141,10 @@ define([
			//		values private: credenciales para obtener el token
			//

			var username = values.email,
				password = values.password,
				data = 'username=' + username + '&password=' + password;
			var data = {
				username: values.email,
				password: values.password
			};

			this._emitEvt('REQUEST', {
				method: 'POST',