Commit 975aaf8b authored by Ross Little's avatar Ross Little

Add new file

parent 8cbefd26
swagger: '2.0' #Be aware of the version.
info:
description: "The ConfMngr ESMO GW Manifest API (for EWP)"
title: Configuration Manager ESMO Manifest
version: 0.0.1
#Yet to be defined
host: gateway.esmo-project.eu
schemes:
- http
- https
basePath: /cm
paths:
#Manifest retrieval API
/ewp/esmo-metadata:
get:
summary: Retrieve the ESMO Manifest for this Gateway.
description: Retrieve the ESMO Manifest for this Gateway, containing the Gateway metadata and possibly the proxied APs.
operationId: ewpLocalEsmoHosts
produces:
- "application/json"
responses:
200:
description: "Successful operation"
schema:
$ref: "#/definitions/EsmoManifest"
definitions:
#Descriptor Object of the manifest, it is a super-object including Entit
EsmoManifest:
description: Specification of the manifest of a Gateway. optionally .
type: object
properties:
gateway:
description: an entityMeytadata object representing the Gateway access data.
#required: true #It is commented due to syntax errors.
$ref: '#/definitions/entityMetadata'
proxiedEntities:
description: an entityMeytadataList the access data for each proxied AP (might be empty).
#required: true #It is commented due to syntax errors.
$ref: '#/definitions/entityMetadataList'
#################### Included in the common types file ###############################
# Descriptor Object for an External Entity (SP/AP/IDP/GW).
entityMetadata:
description: Information about the an external entity
type: object
properties:
entityId:
description: Unique identifier of the entity, usually a metadata url
type: string
example: "https://esmo.uji.es/gw/saml/idp/metadata.xml"
defaultDisplayName:
description: Name to be displayed on UI, in the default language/encoding
type: string
example: "UJI Identity Provider"
displayNames:
description: list of alternative display names, by language or encoding
type: object
additionalProperties:
type: string
example: {"ES" : "UJI Proveedor de Identidad","EN" : "UJI Identity Provider"}
logo:
description: B64 string with an image binary to be displayed at UI
type: string
example: "AWDGRsFbFDEfFGTNNJKKYGFVFfDDSSSDCCC=="
location:
description: unspecified list of information items about the physical or political location of the entity, to facilitate discovery
type: array
items:
type: string
protocol:
description: Which protocol does this entity support (SAML, OIDC, etc.)
type: string
microservice:
description: list of identifiers of microservice able to handle this external entity
type: array
items:
type: string
claims:
description: list of attributes supported/requested by default by this entity
type: array
items:
type: string
example: ["displayName","surname","dateOfBirth","eduPersonAffiliation"]
endpoints:
description: List of service endpoints, where this Entity will accept requests/responses.
type: array
items:
$ref: '#/definitions/endpointType'
securityKeys:
description: List of keys held by this entity
type: array
items:
$ref: '#/definitions/securityKeyType'
encryptResponses:
description: whether this entity will issue/expect encrypted responses
type: boolean
example: false
supportedEncryptionAlg:
description: list of supported encryption algorithms
type: array
items:
type: string
example: ["AES256","AES512"]
signResponses:
description: whether this entity will issue/expect signed responses
type: boolean
example: true
supportedSigningAlg:
description: list of supported signing algorithms
type: array
items:
type: string
example: ["RSA-SHA256"]
otherData:
description: Dictionary of additional fields, specific for a certain entity type or protocol
type: object
additionalProperties: true #Indicates free-form object
example: ["attributeMappingToEIDAS" : {"displayName" : "CurrentGivenName", "surname" : "CurrentFamilyName"}]
entityMetadataList:
type: array
items:
$ref: '#/definitions/entityMetadata'
endpointType:
description: Endpoint descriptor, where requests can be made or responses sent.
type: object
properties:
type:
description: String identifying the kind of endpoint (depends on each protocol)
type: string
example: "SSOService"
method:
description: String identifying the method to access the endpoint (depends on each protocol, i.e. HTTP-POST).
type: string
example: "HTTP-POST"
url:
description: Access url of the endpoint
type: string
example: "https://esmo.uji.es/gw/saml/idp/SSOService.php"
securityKeyType:
description: Descriptor of a key or certificate.
type: object
properties:
keyType:
description: String identifying the kind of key
type: string
example: "RSAPublicKey"
usage:
description: To which use is this key intended.
type: string
enum:
- signing
- encryption
example: "signing"
key:
description: B64 string representing the key binary
type: string
example: "MDAACaFgw...xFgy="
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment