Вы должны использовать аддоны, чтобы справиться с большей частью тяжелой работы за вас.
ember-simple-auth-token содержит инструкции по настройке, которые позволят вам создать маршрут для входа в систему, который займетимя пользователя / пароль и отправьте его на ваш сервер для проверки.Ответ токена будет доступен в вашем приложении, пока пользователь не выйдет из системы.
Пример выглядит как
import Controller from '@ember/controller';
import { inject } from '@ember/service';
export default Controller.extend({
session: inject('session'),
actions: {
authenticate: function() {
const credentials = this.getProperties('username', 'password');
const authenticator = 'authenticator:token'; // or 'authenticator:jwt'
this.get('session').authenticate(authenticator, credentials);
}
}
});
Вы также создаете маршрут выхода из системы, который обрабатывает выход из приложения и отправку любого запроса на выход на сервер.
ЕслиВозможно, вы должны настроить свой сервер по умолчанию, но вы можете настроить почти все.
Параметры аутентификации
ENV['ember-simple-auth-token'] = {
tokenDataPropertyName: 'tokenData'; // Key in session to store token data
refreshAccessTokens: true, // Enables access token refreshing
tokenExpirationInvalidateSession: true, // Enables session invalidation on token expiration
serverTokenRefreshEndpoint: '/api/token-refresh/', // Server endpoint to send refresh request
refreshTokenPropertyName: 'refresh_token', // Key in server response that contains the refresh token
tokenExpireName: 'exp', // Field containing token expiration
refreshLeeway: 0 // Amount of time to send refresh request before token expiration
};
Мы были очень довольны этим дополнением впроизводство в течение 3 лет, и я очень рекомендую его.