@belgoros wrote:
When using Ember Simple Auth add-on, can I use
index
route to override itslogin
route to be able to redirect to another external login page ? Meaning that, I definedapplication.js
routes as follows:import { inject as service } from '@ember/service'; import Route from '@ember/routing/route'; import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin'; export default Route.extend(ApplicationRouteMixin, { currentUser: service('current-user'), authenticationRoute: 'index', routeAfterAuthentication: 'dashboard', beforeModel() { return this._loadCurrentUser(); }, sessionAuthenticated() { this._super(...arguments); this._loadCurrentUser(); }, _loadCurrentUser() { return this.get('currentUser').loadCurrentUser().catch(() => this.get('session').invalidate()); } });
And the
index.js
route like this:import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; import config from '../config/environment'; import isFastBoot from 'ember-simple-auth/utils/is-fastboot'; export default Route.extend({ session: service('session'), _isFastBoot: isFastBoot(), beforeModel: function() { if (this.get('session.isAuthenticated')) { this.transitionTo('dashboard'); } else { if (!this.get('_isFastBoot')) { let oauthUrl = config.oauthUrl; let clientId = config.clientID; let redirectURI = `${window.location.origin}/callback`; let responseType = `token`; let scope = `profile%20openid`; window.location.replace(oauthUrl + `?client_id=${clientId}` + `&redirect_uri=${redirectURI}` + `&response_type=${responseType}` + `&scope=${scope}` ); } } } });
But it does not work.
Posts: 1
Participants: 1