mirror of
https://github.com/flarum/framework.git
synced 2024-11-27 11:03:37 +08:00
82 lines
2.1 KiB
JavaScript
82 lines
2.1 KiB
JavaScript
import Ember from 'ember';
|
|
import Resolver from 'ember/resolver';
|
|
import loadInitializers from 'ember/load-initializers';
|
|
|
|
Ember.MODEL_FACTORY_INJECTIONS = true;
|
|
|
|
var App = Ember.Application.extend({
|
|
modulePrefix: 'flarum', // TODO: loaded via config
|
|
Resolver: Resolver,
|
|
|
|
registerPlugin: function(plugin) {
|
|
console.log('Plugin loaded: '+plugin.name);
|
|
plugin.boot();
|
|
}
|
|
});
|
|
|
|
loadInitializers(App, 'flarum');
|
|
|
|
|
|
//-----------------------------------------
|
|
// TODO: Move all this to an initializer
|
|
|
|
/*
|
|
import User from 'flarum/models/user';
|
|
|
|
// Authentication
|
|
|
|
import BaseAuthenticator from 'simple-auth/authenticators/base';
|
|
|
|
var FlarumAuthenticator = BaseAuthenticator.extend({
|
|
restore: function(data) {
|
|
// return Ember.RSVP.Promise.resolve(data);
|
|
},
|
|
authenticate: function(credentials) {
|
|
return new Ember.RSVP.Promise(function(resolve, reject) {
|
|
Ember.$.ajax({
|
|
url: 'http://localhost/public/Flarum/flarum/public/api/auth',
|
|
type: 'POST',
|
|
data: { type: 'password', identification: credentials.identification, password: credentials.password }
|
|
}).then(function(response) {
|
|
resolve({ token: response.token, userId: response.user.id });
|
|
}, function(xhr, status, error) {
|
|
reject(xhr.responseText);
|
|
});
|
|
});
|
|
},
|
|
// invalidate: function() {
|
|
// return Ember.RSVP.Promise.resolve();
|
|
// }
|
|
});
|
|
|
|
import BaseAuthorizer from 'simple-auth/authorizers/base';
|
|
|
|
var FlarumAuthorizer = BaseAuthorizer.extend({
|
|
|
|
});
|
|
|
|
App.initializer({
|
|
name: 'authentication',
|
|
initialize: function(container, application) {
|
|
container.register('authenticator:flarum', FlarumAuthenticator);
|
|
container.register('authorizer:flarum', FlarumAuthorizer);
|
|
|
|
// customize the session so that it allows access to the account object
|
|
Ember.SimpleAuth.Session.reopen({
|
|
user: function() {
|
|
var userId = this.get('userId');
|
|
if (!userId) return;
|
|
return container.lookup('store:main').find('user', userId);
|
|
}.property('userId')
|
|
});
|
|
|
|
Ember.SimpleAuth.setup(container, application, {
|
|
authorizerFactory: 'authorizer:flarum',
|
|
routeAfterAuthentication: 'discussions'
|
|
});
|
|
}
|
|
});
|
|
*/
|
|
|
|
export default App;
|