Skip to content
This repository was archived by the owner on Nov 8, 2024. It is now read-only.

Commit b82b509

Browse files
authored
Merge pull request #8 from apiaryio/kylef/0002-pavan-feedback
Address feedback on RFC 0002 (Authentication Framework)
2 parents dc3a6fb + 094eee2 commit b82b509

1 file changed

Lines changed: 29 additions & 14 deletions

File tree

rfcs/0002-authentication.md

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,18 @@ following in an API Blueprint:
5454
**NOTE**: *The basic scheme is used as an example in this RFC, and is not
5555
defined within this RFC.*
5656

57-
Under the authentication scheme heading, you may define properties within a
58-
list item. An authentication scheme may provide a set of properties or defaults.
57+
Under the authentication scheme heading, you may describe authentication
58+
schemes as MSON Type Sections. You may attach a description and define
59+
properties as list items.
60+
61+
An authentication scheme may provide a set of properties with default values.
62+
63+
```apib
64+
### Passphrase (Basic)
65+
66+
Polls API supports the Basic authentication scheme used with
67+
pre-existing user accounts.
68+
```
5969

6070
Inside an authentication scheme, you can define responses that may be given
6171
when an authentication scheme is used. For example to indicate the response
@@ -66,8 +76,8 @@ authentication is incorrect.
6676
### Passphrase (Basic)
6777

6878
+ Response 403 (application/json)
69-
70-
{ "error": "The user does not have access." }
79+
+ Attributes
80+
+ error: `The user does not have access.`
7181
```
7282
7383
## Authenticated Keyword
@@ -104,8 +114,8 @@ You may also provide failure responses in anonymous authentication schemes.
104114
```apib
105115
+ Authenticated (Basic)
106116
+ Response 403 (application/json)
107-
108-
{ "error": "The user does not have access." }
117+
+ Attributes
118+
+ error: `The user does not have access.`
109119
```
110120

111121
You specify that multiple authentication schemes are supported, using an
@@ -119,13 +129,18 @@ You specify that multiple authentication schemes are supported, using an
119129
+ (Passphrase)
120130
```
121131

132+
If you do not need to override properties, then you may use the shorthand equivalence:
133+
134+
```apib
135+
+ Authenticated (enum[Basic, Passphrase])
136+
```
137+
122138
### Resource Groups
123139

124140
The authenticated keyword may be used within a resource group to indicate that
125-
all their children resources, actions and example requests inside the
126-
resource group support the specified authentication schemes. Any
127-
specific resource, action, or example requests may overide the inherited
128-
authentication schemes.
141+
all child resources, actions and requests inside the resource group support
142+
the specified authentication schemes. Any specific resource, action, or
143+
request may override the inherited authentication schemes.
129144

130145
Resource groups may be marked as authenticated using the following:
131146

@@ -153,8 +168,8 @@ Resource groups may be marked as authenticated using the following:
153168

154169
### Resources
155170

156-
Similiary to resource groups, a resource and it's children actions and examples
157-
can be marked as authenticated by placing an `Authenticated` list item.
171+
Resources, including all the actions and requests within the resource may be
172+
marked as authenticated using the `Authenticated` keyword as follows:
158173

159174
```apib
160175
## Questions Collection [/questions]
@@ -172,7 +187,8 @@ can be marked as authenticated by placing an `Authenticated` list item.
172187

173188
### Actions
174189

175-
You can mark a specific action as authenticated using the following:
190+
Actions, including all example requests within the action may be marked as
191+
authenticated using the `Authenticated` keyword as follows:
176192

177193
```apib
178194
### View list of questions [GET]
@@ -209,4 +225,3 @@ keyword inside the request as a sub-item.
209225
may return within an anonymous authentication scheme inside a request example.
210226
This limitation is to avoid defining responses within a request to prevent
211227
complexity.*
212-

0 commit comments

Comments
 (0)