1 | var express = require("express")
|
2 | , authom = require("../lib/authom")
|
3 | , app = express()
|
4 | , port = process.env.PORT || 80
|
5 |
|
6 | authom.createServer({
|
7 | service: "github",
|
8 | id: "7e38d12b740a339b2d31",
|
9 | secret: "116e41bd4cd160b7fae2fe8cc79c136a884928c3"
|
10 | })
|
11 |
|
12 | authom.createServer({
|
13 | service: "google",
|
14 | id: "515913292583.apps.googleusercontent.com",
|
15 | secret: "UAjUGd_MD9Bkho-kazmJ5Icm"
|
16 | })
|
17 |
|
18 | authom.createServer({
|
19 | service: "facebook",
|
20 | id: "256546891060909",
|
21 | secret: "e002572fb07423fa66fc38c25c9f49ad"
|
22 | })
|
23 |
|
24 | authom.createServer({
|
25 | service: "foursquare",
|
26 | id: "0DPGLE430Y2LFUCOSFXB0ACG3GGD5DNHH5335FLT4US1QDAZ",
|
27 | secret: "WLNCAVFHCMQGVYOZTNOLPXW0XL2KN0DRD1APOA45SRGEZSGK"
|
28 | })
|
29 |
|
30 | authom.createServer({
|
31 | service: "instagram",
|
32 | id: "e55497d0ebc24289aba4e715f1ab7d2a",
|
33 | secret: "a0e7064bfda64e57a46dcdba48378776"
|
34 | })
|
35 |
|
36 | authom.createServer({
|
37 | service: "gowalla",
|
38 | id: "b8514b75c2674916b77c9a913783b9c2",
|
39 | secret: "34f713fdd6b4488982328487f443bd6d"
|
40 | })
|
41 |
|
42 | authom.createServer({
|
43 | service: "37signals",
|
44 | id: "c2098292571a03070eb12746353997fb8d6f0e00",
|
45 | secret: "4cb7f46fa83f73ec99d37162b946522b9e7a4d5a"
|
46 | })
|
47 |
|
48 | authom.createServer({
|
49 | service: "soundcloud",
|
50 | id: "9e5e7b0a891b4a2b13aeae9e5b0c89bb",
|
51 | secret: "2f4df63c8ff10f466685c305e87eba6f"
|
52 | })
|
53 |
|
54 | authom.createServer({
|
55 | service: "windowslive",
|
56 | id: "000000004C06BA3A",
|
57 | secret: "2RsIhweMq6PxR8jc5CjTVoCqTvKZmctY",
|
58 | scope: "wl.basic"
|
59 | })
|
60 |
|
61 | authom.createServer({
|
62 | service: "dwolla",
|
63 | id: "0vNUP/9/GSBXEv69nqKZVfhSZbw8XQdnDiatyXSTM7vW1WzAAU",
|
64 | secret: "KI2tdLiRZ813aclUxTgUVyDbxysoJQzPBjHTJ111nHMNdAVlcs",
|
65 | scope:"AccountInfoFull"
|
66 | })
|
67 |
|
68 | authom.createServer({
|
69 | service: "twitter",
|
70 | id: "LwjCfHAugMghuYtHLS9Ugw",
|
71 | secret: "etam3XHqDSDPceyHti6tRQGoywiISY0vZWfzhQUxGL4"
|
72 | })
|
73 |
|
74 | authom.createServer({
|
75 | service: "linkedin",
|
76 | id: "bc8kg8qo87z6",
|
77 | secret: "0azYQoOJ9vF8i7mC",
|
78 | scopes:["r_fullprofile"]
|
79 | })
|
80 |
|
81 | authom.createServer({
|
82 | service: "fitbit",
|
83 | id: "45987d27b0e14780bb1a6f1769e679dd",
|
84 | secret: "3d403aaeb5b84bc49e98ef8b946a19d5"
|
85 | })
|
86 |
|
87 | authom.createServer({
|
88 | service: "dropbox",
|
89 | id: "zuuteb2w7i82mdg",
|
90 | secret: "rj503lgqodxzvbp",
|
91 | info: true
|
92 | })
|
93 |
|
94 | authom.createServer({
|
95 | service: "bitbucket",
|
96 | id: "2sD26teP8SVfStUwMd",
|
97 | secret: "vTeXLmyXubwFkrBAP96KRjgT8tubVqpD",
|
98 | emails: true
|
99 | })
|
100 |
|
101 | authom.createServer({
|
102 | service: "vkontakte",
|
103 | id: "3793488",
|
104 | secret: "jZnIeU4nnQfqM5mfjkK0",
|
105 | fields: ['screen_name', 'sex', 'photo']
|
106 | })
|
107 |
|
108 | app.get("/auth/:service", authom.app)
|
109 |
|
110 | app.get("/", function(req, res) {
|
111 | res.send(
|
112 | "<html>" +
|
113 | "<body style='font: 300% sans-serif'>" +
|
114 | "<div><a href='/auth/37signals'>Who am I on 37Signals?</a></div>" +
|
115 | "<div><a href='/auth/dwolla'>Who am I on Dwolla?</a></div>" +
|
116 | "<div><a href='/auth/github'>Who am I on Github?</a></div>" +
|
117 | "<div><a href='/auth/google'>Who am I on Google?</a></div>" +
|
118 | "<div><a href='/auth/facebook'>Who am I on Facebook?</a></div>" +
|
119 | "<div><a href='/auth/fitbit'>Who am I on Fitbit?</a></div>" +
|
120 | "<div><a href='/auth/foursquare'>Who am I on Foursquare?</a></div>" +
|
121 | "<div><a href='/auth/gowalla'>Who am I on Gowalla?</a></div>" +
|
122 | "<div><a href='/auth/instagram'>Who am I on Instagram?</a></div>" +
|
123 | "<div><a href='/auth/linkedin'>Who am I on LinkedIn?</a></div>" +
|
124 | "<div><a href='/auth/meetup'>Who am I on Meetup?</a></div>" +
|
125 | "<div><a href='/auth/soundcloud'>Who am I on SoundCloud?</a></div>" +
|
126 | "<div><a href='/auth/twitter'>Who am I on Twitter?</a></div>" +
|
127 | "<div><a href='/auth/windowslive'>Who am I on Windows Live?</a></div>" +
|
128 | "<div><a href='/auth/dropbox'>Who am I on Dropbox?</a></div>" +
|
129 | "<div><a href='/auth/bitbucket'>Who am I on Bitbucket?</a></div>" +
|
130 | "<div><a href='/auth/vkontakte'>Who am I on Vkontakte?</a></div>" +
|
131 | "</body>" +
|
132 | "</html>"
|
133 | )
|
134 | })
|
135 |
|
136 | authom.on("auth", function(req, res, data) {
|
137 | res.send(
|
138 | "<html>" +
|
139 | "<body>" +
|
140 | "<div style='font: 300% sans-serif'>You are " + data.id + " on " + data.service + ".</div>" +
|
141 | "<pre><code>" + JSON.stringify(data, null, 2) + "</code></pre>" +
|
142 | "</body>" +
|
143 | "</html>"
|
144 | )
|
145 | })
|
146 |
|
147 | authom.on("error", function(req, res, data){
|
148 | res.error("An error occurred: " + JSON.stringify(data))
|
149 | })
|
150 |
|
151 | app.listen(port, function() {
|
152 | console.log("listening at http://authom.jedschmidt.com/")
|
153 | })
|