28 lines
747 B
JavaScript
Raw Normal View History

2015-10-30 14:36:19 +01:00
'use strict';
/**
* Policy used to check if the `dashboardToken` field is valid.
*
* @param next
*/
module.exports = function * (next) {
// Format dashboardToken variables.
2015-11-03 18:46:30 +01:00
const dashboardTokenParam = this.header.dashboardtoken;
2015-10-30 14:36:19 +01:00
const dashboardTokenConfig = strapi.config.dashboard && strapi.config.dashboard.token;
// Check dashboardToken for security purposes.
if (!dashboardTokenParam || !dashboardTokenConfig || dashboardTokenParam !== dashboardTokenConfig) {
this.status = 401;
this.body = {
message: 'dashboardToken parameter is invalid.'
};
} else {
2015-10-30 16:21:53 +01:00
// Delete `dashboardToken` field.
delete this.request.query.dashboardToken;
delete this.request.body.dashboardToken;
2015-10-30 14:36:19 +01:00
yield next;
}
};