Укажите cookie сессии в RAML - PullRequest
       10

Укажите cookie сессии в RAML

0 голосов
/ 14 января 2019

Я документирую API, которому требуются некоторые конечные точки для аутентификации запроса с помощью cookie сеанса. Этот файл cookie устанавливается после входа пользователя в систему с помощью формы, которая отправляет на сервер имя пользователя и пароль.

Есть ли способ указать это с помощью протокола RAML 1.0?

1 Ответ

0 голосов
/ 15 января 2019

В спецификации нет ничего особенного для куки. Однако вы можете смоделировать его с помощью заголовков и схем безопасности.

В приведенном ниже примере создается пользовательский securityScheme, требующий заголовок «Cookie» и описывающий добавление значения «JSESSIONID». Это можно изменить в соответствии с вашим вариантом использования.

Первый ресурс описывает конечную точку 'login', которая описывает заголовок с именем 'Set-Cookie', с примером значения, которое будет возвращено и должно быть отправлено в будущих запросах.

Тогда вторым ресурсом является securedBy пользовательская схема безопасности cookie-auth.

#%RAML 1.0
title: Example cookie auth
version: 1.0

securitySchemes: 
  cookie-auth:
    description: |
      custom authentication scheme for JSESSIONID cookie.
    type:
      x-custom
    describedBy:
      headers:
        Cookie:
          description: |
           JSESSIONID 
          type: string
/login:            
  post:
    body:
      application/json:
    description: |
      The session ID is returned in a cookie named `JSESSIONID`. You need to include this cookie in subsequent requests.
    headers: 
      Set-Cookie:
        type: string
        example: JSESSIONID=abcde12345; Path=/; HttpOnly
    responses:
      201:
        body:
          application/json:

/someprotectedresource:
  securedBy: cookie-auth
  get:
...