我正在记录一个API,该API需要一些终结点才能通过会话cookie验证请求。该cookie是在用户使用将用户名和密码发布到服务器的表单登录后设置的。
有没有一种方法可以使用RAML 1.0协议进行指定?
答案 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: