server_simple_accounts.sjs (1417B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ 3 */ 4 5 function handleRequest(request, response) { 6 if ( 7 !request.hasHeader("Cookie") || 8 request.getHeader("Cookie") != "credential=authcookieval" 9 ) { 10 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 11 return; 12 } 13 if ( 14 !request.hasHeader("Sec-Fetch-Dest") || 15 request.getHeader("Sec-Fetch-Dest") != "webidentity" 16 ) { 17 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 18 return; 19 } 20 if (request.hasHeader("Origin") && request.getHeader("Origin") != "null") { 21 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 22 return; 23 } 24 if (request.hasHeader("Referer")) { 25 response.setStatusLine(request.httpVersion, 400, "Bad Request"); 26 return; 27 } 28 29 response.setHeader("Access-Control-Allow-Origin", "*"); 30 response.setHeader("Access-Control-Allow-Credentials", "true"); 31 response.setHeader("Content-Type", "application/json"); 32 let content = { 33 accounts: [ 34 { 35 id: "1234", 36 given_name: "John", 37 name: "John Doe", 38 email: "john_doe@example.com", 39 picture: "https://example.com/profile/123", 40 approved_clients: ["123", "456", "789"], 41 }, 42 ], 43 }; 44 let body = JSON.stringify(content); 45 response.setStatusLine(request.httpVersion, 200, "OK"); 46 response.write(body); 47 }