mirror of
https://github.com/status-im/realm-js.git
synced 2025-01-18 18:43:41 +00:00
Checking the content-type of authentication responses (#1556)
* Checking the content-type of authentication responses * Adding a changelog entry * Fixing changelog typos and line endings
This commit is contained in:
parent
32f55105ec
commit
70004b9304
30
CHANGELOG.md
30
CHANGELOG.md
@ -1,9 +1,23 @@
|
|||||||
|
x.y.z Release notes
|
||||||
|
=============================================================
|
||||||
|
### Breaking changes
|
||||||
|
* None
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
* None
|
||||||
|
|
||||||
|
### Bug fixes
|
||||||
|
* When authentication fails due to a misbehaving server, a proper error is thrown.
|
||||||
|
|
||||||
|
### Internal
|
||||||
|
* None
|
||||||
|
|
||||||
2.0.12 Release notes (2017-12-1)
|
2.0.12 Release notes (2017-12-1)
|
||||||
=============================================================
|
=============================================================
|
||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* None
|
* None
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
@ -18,7 +32,7 @@
|
|||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* None
|
* None
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
@ -33,7 +47,7 @@
|
|||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* None
|
* None
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
@ -47,7 +61,7 @@
|
|||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* None
|
* None
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
@ -61,7 +75,7 @@
|
|||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* [Object Server] Improving performance of processing large changesets.
|
* [Object Server] Improving performance of processing large changesets.
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
@ -76,7 +90,7 @@
|
|||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None
|
* None
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* None
|
* None
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
@ -91,7 +105,7 @@
|
|||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* Improved notification performance for objects with no object or list properties.
|
* Improved notification performance for objects with no object or list properties.
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
@ -107,7 +121,7 @@
|
|||||||
### Breaking changes
|
### Breaking changes
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Enchancements
|
### Enhancements
|
||||||
* None.
|
* None.
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
|
@ -154,7 +154,15 @@ function _authenticate(userConstructor, server, json, callback) {
|
|||||||
|
|
||||||
const promise = performFetch(url, options)
|
const promise = performFetch(url, options)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
if (response.status !== 200) {
|
const contentType = response.headers.get('Content-Type');
|
||||||
|
if (contentType.indexOf('application/json') === -1) {
|
||||||
|
return response.text().then((body) => {
|
||||||
|
throw new AuthError({
|
||||||
|
title: `Could not authenticate: Realm Object Server didn't respond with valid JSON`,
|
||||||
|
body,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else if (!response.ok) {
|
||||||
return response.json().then((body) => Promise.reject(new AuthError(body)));
|
return response.json().then((body) => Promise.reject(new AuthError(body)));
|
||||||
} else {
|
} else {
|
||||||
return response.json().then(function (body) {
|
return response.json().then(function (body) {
|
||||||
|
@ -160,6 +160,20 @@ module.exports = {
|
|||||||
.catch((e) => assertIsError(e));
|
.catch((e) => assertIsError(e));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
testLoginTowardsMisbehavingServer() {
|
||||||
|
const username = uuid();
|
||||||
|
|
||||||
|
// Try authenticating towards a server thats clearly not ROS
|
||||||
|
return Realm.Sync.User.register('https://github.com/realm/realm-js', username, 'user')
|
||||||
|
.catch((e) => {
|
||||||
|
assertIsError(e);
|
||||||
|
TestCase.assertEqual(
|
||||||
|
e.message,
|
||||||
|
"Could not authenticate: Realm Object Server didn't respond with valid JSON"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
testAll() {
|
testAll() {
|
||||||
const all = Realm.Sync.User.all;
|
const all = Realm.Sync.User.all;
|
||||||
TestCase.assertArrayLength(Object.keys(all), 0);
|
TestCase.assertArrayLength(Object.keys(all), 0);
|
||||||
@ -324,4 +338,3 @@ module.exports = {
|
|||||||
}, */
|
}, */
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user