You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
4 years ago
|
const { Controller } = require('libflitter')
|
||
|
|
||
|
class SAMLController extends Controller {
|
||
|
static get services() {
|
||
|
return [...super.services, 'cobalt', 'models']
|
||
|
}
|
||
|
|
||
|
async get_sp_listing(req, res, next) {
|
||
|
const ServiceProvider = this.models.get('saml:ServiceProvider')
|
||
|
const service_providers = await ServiceProvider.find()
|
||
|
const formatted = service_providers.map(x => {
|
||
|
return {
|
||
|
name: x.name,
|
||
|
entity_id: x.entity_id,
|
||
|
acs_url: x.acs_url,
|
||
|
has_slo: !!x.slo_url,
|
||
|
}
|
||
|
})
|
||
|
|
||
|
return this.cobalt.listing(req, res, {
|
||
|
title: 'SAML Service Providers',
|
||
|
columns: [
|
||
|
{
|
||
|
name: 'Provider Name',
|
||
|
field: 'name',
|
||
|
},
|
||
|
{
|
||
|
name: 'Entity ID',
|
||
|
field: 'entity_id',
|
||
|
},
|
||
|
{
|
||
|
name: 'Has SLO?',
|
||
|
field: 'has_slo',
|
||
|
renderer: 'boolean',
|
||
|
},
|
||
|
{
|
||
|
name: 'ACS URL',
|
||
|
field: 'acs_url',
|
||
|
},
|
||
|
],
|
||
|
data: formatted,
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = exports = SAMLController
|