You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -147,6 +152,38 @@ Regeln förutsätter att det finns en förekomst av objektet `info` med underlig
147
152
148
153
---
149
154
155
+
### ID: DOK.06
156
+
157
+
**Krav:** Dokumentationen BÖR finnas på både svenska och engelska.
158
+
159
+
**Typ:** BÖR
160
+
161
+
**JSON Path Plus-uttryck:**
162
+
163
+
```
164
+
$.info.description
165
+
```
166
+
167
+
**Förklaring:**
168
+
Regeln förutsätter att det finns en förekomst av objektet `info` med underliggande struktur:
169
+
170
+
- info
171
+
- description
172
+
173
+
`description` förväntas dessutom innehålla dokumentation på både svenska och engelska. Detta görs i nuläget genom att försöka matcha enskilda ord mot de som finns i [ordlistorna.](rulesets/constants/CommonWords.ts)
174
+
175
+
**Exempel:**
176
+
177
+

178
+
179
+
_Pipesymbolen kan med fördel användas när beskrivningen sträcker sig över flera rader eller stycken._
180
+
181
+

182
+
183
+
_Större än-tecknet kan också användas när beskrivningen sträcker sig över flera rader eller stycken._
184
+
185
+
---
186
+
150
187
### ID: DOK.07
151
188
152
189
**Krav:** Dokumentationen av ett API BÖR innehålla övergripande information om API:et.
@@ -171,6 +208,66 @@ Regeln förutsätter att det finns en förekomst av objektet `info` med underlig
171
208
172
209
---
173
210
211
+
### ID: DOK.08
212
+
213
+
**Krav:** Ett API:s servicenivå SKALL finnas tydligt beskriven i dokumentationen.
214
+
215
+
**Typ:** SKALL
216
+
217
+
**JSON Path Plus-uttryck:**
218
+
219
+
```
220
+
$
221
+
```
222
+
223
+
**Förklaring:**
224
+
Regeln förutsätter att det finns en förekomst av minst ett av objekten `info.termsOfService`, `info.x-sla` eller `externalDocs` med följande strukturer:
225
+
226
+
- info
227
+
228
+
- termsOfService
229
+
- x-sla
230
+
- availability
231
+
- responseTime
232
+
- support
233
+
234
+
- externalDocs
235
+
- description
236
+
- url
237
+
238
+
`externalDocs.description` måste innehålla texten "service level agreement" eller "SLA", och `externalDocs.url` måste vara en giltig URL.
239
+
240
+
**Exempel:**
241
+
242
+

243
+
244
+
_Ett av objekten räcker för att uppfylla regeln._
245
+
246
+
---
247
+
248
+
### ID: DOK.09
249
+
250
+
**Krav:** Kända problem och begränsningar SKALL finnas tydlig beskrivna i dokumentationen.
251
+
252
+
**Typ:** SKALL
253
+
254
+
**JSON Path Plus-uttryck:**
255
+
256
+
```
257
+
$
258
+
```
259
+
260
+
**Förklaring:**
261
+
Regeln förutsätter att det finns en förekomst av något av objekten `info.description` och `externalDocs.description`, och att de innehåller någon av strängarna "limit", "begränsning" eller "problem". Alternativt så räcker det om det finns en förekomst av `info.x-limitations`.
262
+
263
+
**Exempel:**
264
+
265
+

266
+
267
+
_Ett av objekten räcker för att uppfylla regeln, men "limit", "begränsning" eller "problem" behöver nämnas i `description`-fälten för att de ska räknas._
268
+
269
+
---
270
+
174
271
### ID: DOK.15
175
272
176
273
**Krav:** I dokumentationen av API:et SKALL exempel på API:ets fråga (en:request) och svar (en:reply) finnas i sin helhet.
@@ -359,9 +456,9 @@ Regeln kontrollerar att parametrar av typerna query och path inte använder föl
359
456
360
457
**Exempel:**
361
458
362
-

459
+

363
460
364
-
_Query-parametern använder ett ogiltigt namn._
461
+
_Exemplet ovan är giltigt då namnet på parametern inte är ett av ovanstående._
365
462
366
463
---
367
464
@@ -1008,7 +1105,30 @@ I exemplet ovan, så exemplifieras regeln med en kontroll av de query parametrar
1008
1105
1009
1106
## Område: Säkerhet
1010
1107
1011
-
**Täckningsgrad: 11%**
1108
+
**Täckningsgrad: 16%**
1109
+
1110
+
### ID: SAK.01
1111
+
1112
+
**Krav:** All transport SKALL ske över HTTPS med minst TLS 1.2.
1113
+
1114
+
**Typ:** SKALL
1115
+
1116
+
**JSON Path Plus-uttryck:**
1117
+
1118
+
```
1119
+
$.servers
1120
+
```
1121
+
1122
+
**Förklaring:**
1123
+
Regeln förutsätter att varje server har en giltig url specifierad och använder HTTPS-protokollet.
1124
+
1125
+
**Exempel:**
1126
+
1127
+

1128
+
1129
+
_Exemplet ovan är giltigt då samtliga servrar innehåller en giltig `url` och använder HTTPS._
1130
+
1131
+
---
1012
1132
1013
1133
### ID: SAK.09
1014
1134
@@ -1079,6 +1199,31 @@ I exemplet ovan ger regeln ett negativt utfall, eftersom det definierade säkerh
1079
1199
1080
1200
---
1081
1201
1202
+
---
1203
+
1204
+
### ID: SAK.16
1205
+
1206
+
**Krav:** API-nycklar SKALL inkluderas i HTTP-headern eftersom querysträngar kan sparas av klienten eller servern i okrypterat format av webbläsaren eller serverapplikationen.
Regeln kontrollerar, under förutsättning att ett security scheme är definierat, att om typen är 'apiKey', så får värdet för parametern 'in' endast vara satt till 'header'.
1218
+
1219
+
**Exempel:**
1220
+
1221
+

1222
+
1223
+
I exemplet ovan ger regeln ett positivt utfall, eftersom det definierade säkerhetsschemat 'ApiKeyQuery' har typen 'apiKey' och parametern 'in' är satt till 'header', vilket är i linje med regeln.
1224
+
1225
+
---
1226
+
1082
1227
### ID: SAK.18
1083
1228
1084
1229
**Krav:** OAuth version 2.0 eller senare BÖR användas för auktorisation.
0 commit comments