-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.default.json
169 lines (151 loc) · 5.3 KB
/
config.default.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
{
/**
* Configure applications that will utilize the graph-layer instance.
*/
"apps": [
// The first entry is used by the test application executed via 'npm run
// test'.
{
"id": "test-app",
"name": "Test Application",
/**
* Microsoft Graph API credentials.
*
* tenantId: Determines which tenant is authorizing. This should
* be your tenant GUID/domain for a specific organization or one
* of:
* - common: Work/school accounts or personal Microsoft accounts
* - organizations: Work/school accounts only
* - consumers: Personal Microsoft accounts only
*
* cloudUrl: The base URL for the authentication endpoint. This
* will default to https://login.microsoftonline.com if not
* specified.
*/
"clientId": "",
"clientSecret": "",
"tenantId": "",
"cloudUrl": "https://login.microsoftonline.com",
/**
* The scopes to request for access tokens associated with user
* identities.
*/
"userScopes": [
"user.read"
],
// The redirect URI used during sign in.
"redirectUri": "http://localhost:8000/callback",
// The post logout redirect URI used during sign out.
"postLogoutRedirectUri": "http://localhost:8000/",
/**
* The login credentials for a user account to use as the
* "anonymous" user. Leave NULL or with empty property values to
* disable the anonymous user for this application.
*/
"anonymousUser": {
"username": "",
"password": ""
}
}
],
"proxyEndpoint": {
/**
* The INET configuration used by the proxy endpoint to accept incoming HTTP
* connections.
*/
"host": "0.0.0.0",
"port": 8000,
/**
* Cookie that contains the graph layer session ID that is used when
* making a graph-layer proxy request.
*/
"cookie": "GRAPH_LAYER_SESSID",
/**
* Name of the HTTP request header identifies an anonymous graph-layer
* proxy request. The header value is the ID of the application to use
* for the anonymous request. The indicated application must have an
* anonymous user configured for this to work. Set this value to empty
* to disable anonymous access.
*/
"anonymousHeader": null,
/**
* The base path for all Microsoft graph URIs that are proxied via the proxy
* endpoint.
*
* This is the prefix path component(s) that is matched against any URI
* processed by the proxy endpoint. Leave empty (or "/") to proxy URIs
* as-is.
*/
"basePath": "/graph/layer",
/**
* List of API endpoints that are allowed and will be proxied. Any other
* endpoints are not allowed and return HTTP 404. Elements in this list
* are glob patterns matched via minimatch.
*
* An empty list means 'allow all'.
*
* NOTE: The whitelist *cannot* allow endpoints disallowed by the
* blacklist.
*/
"whitelist": [],
/**
* List of API endpoints that are not allowed and will return HTTP
* 404. Any other endpoints are allowed and will be proxied. Elements in
* this list are glob patterns matched via minimatch.
*
* NOTE: The blacklist can be used to disallow endpoints allowed by the
* whitelist.
*/
"blacklist": []
},
/**
* Configure the token endpoint.
*/
"tokenEndpoint": {
/**
* The INET configuration for the endpoint.
*/
"host": "0.0.0.0",
"port": 7000,
/**
* The list of IP addresses that are allowed to connect to the token
* endpoint.
*/
"whitelist": "0.0.0.0/0",
/**
* The interval (in seconds) between calls to the token cleanup routine.
*/
"cleanupInterval": 3600,
/**
* The number of days after expiration before a token is removed from
* persistant storage.
*
* NOTE: Since tokens may be refreshed, you may want to keep this
* further out depending on how persistent your application session is.
*/
"expireDays": 15
},
/**
* Path to SQLite storage database file.
*/
"storage": "./store.db",
/**
* Configure logging settings.
*/
"logging": {
/**
* Defines the type of logging to perform. Valid options include:
* - storage: Use the SQLite storage file to store logs
* - stdio: Write logs to standard output
*
* NOTE: You may combine options with a "+" character.
*/
"type": "storage",
/**
* The number of days "storage" log entries are allowed to live before
* being automatically deleted. Set to 0 or comment-out to disable
* cleanup.
*/
"duration": 30
}
}