diff --git a/app/routes/github-authorize.js b/app/routes/github-authorize.js index 2687b1f9745..da9b12afd7e 100644 --- a/app/routes/github-authorize.js +++ b/app/routes/github-authorize.js @@ -1,5 +1,5 @@ import Route from '@ember/routing/route'; -import ajax from 'ember-fetch/ajax'; +import fetch from 'fetch'; import { serializeQueryParams } from 'ember-fetch/mixins/adapter-fetch'; /** @@ -19,8 +19,9 @@ export default Route.extend({ async beforeModel(transition) { try { let queryParams = serializeQueryParams(transition.queryParams); - let d = await ajax(`/authorize?${queryParams}`); - let item = JSON.stringify({ ok: true, data: d }); + let resp = await fetch(`/authorize?${queryParams}`); + let json = await resp.json(); + let item = JSON.stringify({ ok: resp.ok, data: json }); if (window.opener) { window.opener.github_response = item; } diff --git a/app/routes/login.js b/app/routes/login.js index 2e6b1602b1d..07ddf3fdab7 100644 --- a/app/routes/login.js +++ b/app/routes/login.js @@ -53,15 +53,15 @@ export default Route.extend({ if (!response) { return; } - if (!response.ok) { - this.flashMessages.show('Failed to log in'); - return; - } + let { data } = response; - if (data.errors) { + if (data && data.errors) { let error = `Failed to log in: ${data.errors[0].detail}`; this.flashMessages.show(error); return; + } else if (!response.ok) { + this.flashMessages.show('Failed to log in'); + return; } let user = this.store.push(this.store.normalize('user', data.user));