在RAML中指定会话cookie

时间:2019-01-14 08:49:58

标签: rest session-cookies raml

我正在记录一个API,该API需要一些终结点才能通过会话cookie验证请求。该cookie是在用户使用将用户名和密码发布到服务器的表单登录后设置的。

有没有一种方法可以使用RAML 1.0协议进行指定?

1 个答案:

答案 0 :(得分:1)

规范atm中没有特定于cookie的内容。但是,您可以使用标头和securitySchemes对其进行建模。

下面的示例创建一个自定义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: