Skip to content

Commit e27f98a

Browse files
committed
/docs added, generated by documentation.js
1 parent 708e93f commit e27f98a

28 files changed

+3271
-22
lines changed

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ A demo to learn JWT by reverse engineering
1111

1212
![Demo GIF](./demo.gif)
1313

14+
## Documentation
15+
16+
If you want to extend code for more functionalities, [checkout the documentation](./docs.md)
1417

1518
## References
1619

docs.md

+194
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
2+
3+
### Table of Contents
4+
5+
- [isAuthenticated][1]
6+
- [Parameters][2]
7+
- [Examples][3]
8+
- [TokenExchange][4]
9+
- [Properties][5]
10+
- [Examples][6]
11+
- [ReadFromUrlParam][7]
12+
- [Examples][8]
13+
- [ReadFromBody][9]
14+
- [Examples][10]
15+
- [ReadFromCookies][11]
16+
- [Examples][12]
17+
- [ReadFromHeader][13]
18+
- [Parameters][14]
19+
- [Examples][15]
20+
- [ReadFromHeaderWithBearerScheme][16]
21+
- [Parameters][17]
22+
- [Examples][18]
23+
- [setDefaultStrategy][19]
24+
- [Parameters][20]
25+
26+
## isAuthenticated
27+
28+
Express middleware for authentication using JWT paradigm
29+
30+
### Parameters
31+
32+
- `req`
33+
- `res`
34+
- `next`
35+
36+
### Examples
37+
38+
```javascript
39+
app.get('protectedEndpoint', [isAuthenticated], function(req, res){})
40+
```
41+
42+
## TokenExchange
43+
44+
Abstract implementation of strategy to read/manipulate token in request
45+
46+
### Properties
47+
48+
- `read` **[Function][21]** (req) - Function that extracts token from request object
49+
- `setTokenReadStrategy` **[Function][21]** (strategyInstance) - Set strategy for reading token
50+
51+
### Examples
52+
53+
```javascript
54+
let tokenExchange = new TokenExchange()
55+
// Define your own strategy(a function) to read token, let's call it MyTokenReadStrategy
56+
tokenExchange.setTokenReadStrategy(new MyTokenReadStrategy())
57+
tokenExchange.read(req);
58+
returns token
59+
```
60+
61+
## ReadFromUrlParam
62+
63+
- **See: [TokenExchange][4]
64+
**
65+
66+
A strategy to read token from request query parameters. Sent via
67+
Can be implemted via TokenExchange
68+
69+
### Examples
70+
71+
```javascript
72+
new TokenExchange().setTokenReadStrategy(new ReadFromBody())
73+
// When token was sent /apiEndpoint?access_token=String
74+
```
75+
76+
## ReadFromBody
77+
78+
- **See: [TokenExchange][4]
79+
**
80+
81+
A strategy to read token from request body
82+
Can be implemted via TokenExchange
83+
84+
### Examples
85+
86+
```javascript
87+
new TokenExchange().setTokenReadStrategy(new ReadFromBody())
88+
// When token was sent ia `POST /apiEndpoint -d '{access_token: String}'`
89+
```
90+
91+
## ReadFromCookies
92+
93+
- **See: [TokenExchange][4]
94+
**
95+
96+
A strategy to read token from request cookies
97+
Can be implemted via TokenExchange
98+
99+
### Examples
100+
101+
```javascript
102+
new TokenExchange().setTokenReadStrategy(new ReadFromCookies())
103+
```
104+
105+
## ReadFromHeader
106+
107+
- **See: [TokenExchange][4]
108+
**
109+
110+
A strategy to read token from request header named `authorization`
111+
Can be implemted via TokenExchange
112+
113+
### Parameters
114+
115+
- `req`
116+
117+
### Examples
118+
119+
```javascript
120+
new TokenExchange().setTokenReadStrategy(new ReadFromHeader())
121+
```
122+
123+
## ReadFromHeaderWithBearerScheme
124+
125+
- **See: [TokenExchange][4]
126+
**
127+
128+
A strategy to read token from **header with bearer scheme**.
129+
Can be implemted via TokenExchange
130+
131+
### Parameters
132+
133+
- `req` **any** : Express Request object
134+
135+
### Examples
136+
137+
```javascript
138+
new TokenExchange().setTokenReadStrategy(new ReadFromHeaderWithBearerScheme())
139+
```
140+
141+
## setDefaultStrategy
142+
143+
- **See: [TokenExchange][4]
144+
**
145+
146+
Default strategy when authorization header is available in request : ReadFromHeaderWithBearerScheme
147+
Default strategy when cookies have `access_token` : ReadFromCookie
148+
149+
### Parameters
150+
151+
- `req` **any**
152+
- `tokenExchange` **any**
153+
154+
[1]: #isauthenticated
155+
156+
[2]: #parameters
157+
158+
[3]: #examples
159+
160+
[4]: #tokenexchange
161+
162+
[5]: #properties
163+
164+
[6]: #examples-1
165+
166+
[7]: #readfromurlparam
167+
168+
[8]: #examples-2
169+
170+
[9]: #readfrombody
171+
172+
[10]: #examples-3
173+
174+
[11]: #readfromcookies
175+
176+
[12]: #examples-4
177+
178+
[13]: #readfromheader
179+
180+
[14]: #parameters-1
181+
182+
[15]: #examples-5
183+
184+
[16]: #readfromheaderwithbearerscheme
185+
186+
[17]: #parameters-2
187+
188+
[18]: #examples-6
189+
190+
[19]: #setdefaultstrategy
191+
192+
[20]: #parameters-3
193+
194+
[21]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function

0 commit comments

Comments
 (0)