From 9a03473d2e35c911e30bb19cf87efa731605d009 Mon Sep 17 00:00:00 2001 From: Lloyd Hilaiel <lloyd@hilaiel.com> Date: Mon, 19 Dec 2011 23:09:08 -0700 Subject: [PATCH] stub an in-tree example primary --- example/primary/index.html | 24 +++++++++++++++++++++ scripts/run_locally.js | 5 +++++ scripts/serve_example_primary.js | 36 ++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 example/primary/index.html create mode 100755 scripts/serve_example_primary.js diff --git a/example/primary/index.html b/example/primary/index.html new file mode 100644 index 000000000..92daa44e0 --- /dev/null +++ b/example/primary/index.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0; width=device-width;"> +<title> +BrowserID Example Primary +</title> +<style type="text/css"> +body { margin: auto; font: 13px/1.5 Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif; } +.title { font-size: 2em; font-weight: bold; text-align: center; margin: 1.5em; } +.intro { font-size: 1.2em; width: 600px; margin: auto; } +</style> +</head> +<body> +<div class="title"> + Example BrowserID Primary +</div> + +<div class="intro"> + An example BrowserID Primary identity authority. Useful for local testing and development. +</div> +</body> +</html> diff --git a/scripts/run_locally.js b/scripts/run_locally.js index 979a85aec..3d41ef3e3 100755 --- a/scripts/run_locally.js +++ b/scripts/run_locally.js @@ -29,6 +29,11 @@ var daemonsToRun = { PORT: 10001, HOST: HOST }, + example_primary: { + path: path.join(__dirname, "..", "scripts", "serve_example_primary.js"), + PORT: 10005, + HOST: HOST + }, browserid: { PORT: 10002, HOST: HOST diff --git a/scripts/serve_example_primary.js b/scripts/serve_example_primary.js new file mode 100755 index 000000000..d4d3dd48b --- /dev/null +++ b/scripts/serve_example_primary.js @@ -0,0 +1,36 @@ +#!/usr/bin/env node + +// finally, let's run a tiny webserver for the example code. +const +express = require('express'), +path = require('path'), +urlparse = require('urlparse'), +postprocess = require('postprocess'), +querystring = require('querystring'); + +var exampleServer = express.createServer(); + +exampleServer.use(express.logger({ format: 'dev' })); + +if (process.env['BROWSERID_URL']) { + var burl = urlparse(process.env['BROWSERID_URL']).validate().normalize().originOnly().toString(); + console.log('using browserid server at ' + burl); + + exampleServer.use(postprocess.middleware(function(req, buffer) { + return buffer.toString().replace(new RegExp('https://browserid.org', 'g'), burl); + })); +} + +exampleServer.use(express.static(path.join(__dirname, "..", "example", "primary"))); + +exampleServer.use(express.bodyParser()); + +// XXX: implement apis here + +exampleServer.listen( + process.env['PORT'] || 10001, + process.env['HOST'] || process.env['IP_ADDRESS'] || "127.0.0.1", + function() { + var addy = exampleServer.address(); + console.log("running on http://" + addy.address + ":" + addy.port); + }); -- GitLab