2016-10-24 1 views
0

Je le fichier suivant spec.yamlPas une définition de securityDefinitions valide - fanfaronnades pour Auth0

swagger: '2.0' 
info: 
    title: Store API 
    version: "0.3.5" 
host: SELF_URL_REPLACED_BY_APP 
schemes: 
    - https 
basePath:/
produces: 
    - application/json 
tags: 
    - name: account 
    - name: transcripts 
security: 
    - auth0: 
    - openid 
    - apiKey: [] 
securityDefinitions: 
    auth0: 
    type: oauth2 
    authorizationUrl: https://store.auth0.com/authorize 
    flow: implicit 
    tokenName: id_token 
    scopes: 
     openid: Grant access to user 
    apiKey: 
    type: apiKey 
    name: Authorization 
    in: header 

je reçois cette erreur lorsque je tente de le valider dans http://editor.swagger.io/:

✖ Swagger Error 
Not a valid securityDefinitions definition 
Jump to line 19 
Details 
Object 
code: "ONE_OF_MISSING" 
params: Array [0] 
message: "Not a valid securityDefinitions definition" 
path: Array [2] 
schemaId: "http://swagger.io/v2/schema.json#" 
inner: Array [6] 
level: 900 
type: "Swagger Error" 
description: "Not a valid securityDefinitions definition" 
lineNumber: 19 

Que suis-je disparu? Je peux me connecter en utilisant Auth0 et tout semble fonctionner correctement.

Tout conseil est très apprécié.

Répondre

0

tokenName n'est pas une propriété valide de l'objet SecurityDefinitions.

Cependant, votre définition Swagger comporte d'autres erreurs, telles que paths, ce qui peut entraîner des erreurs de validation incorrectes à propos de securityDefinitions lors de la modification.

Voici, par exemple, doit valider fin:

swagger: '2.0' 
info: 
    title: Store API 
    version: "0.3.5" 
host: SELF_URL_REPLACED_BY_APP 
schemes: 
    - https 
basePath:/
produces: 
    - application/json 
tags: 
    - name: account 
    - name: transcripts 
paths: 
    /pets: 
    get: 
     description: Returns all pets from the system that the user has access to 
     produces: 
     - application/json 
     responses: 
     '200': 
      description: A list of pets. 
      schema: 
      type: array 
      items: 
       type: string 
     security: 
     - auth0: 
      - openid 
     - apiKey: [] 
securityDefinitions: 
    auth0: 
    type: oauth2 
    authorizationUrl: https://store.auth0.com/authorize 
    flow: implicit 
    scopes: 
     openid: Grant access to user 
    apiKey: 
    type: apiKey 
    name: Authorization 
    in: header 

également la section security n'appartient pas au niveau supérieur, mais doit être placé sous chaque méthode API (voir définition ci-dessus pour un exemple) pour spécifier les définitions de sécurité doivent être appliquées à cette API.