use cookie rather than relying on referred being set
This commit is contained in:
@ -82,6 +82,8 @@ update_footer = (ownerName, isAuthenticated) ->
|
|||||||
$('footer > #security > #addAltAuth').click (e) ->
|
$('footer > #security > #addAltAuth').click (e) ->
|
||||||
e.preventDefault
|
e.preventDefault
|
||||||
|
|
||||||
|
document.cookie = "wikiName=#{window.location.host}" + ";domain=.#{settings.cookieDomain}; path=/; max-age=300;"
|
||||||
|
|
||||||
w = WinChan.open({
|
w = WinChan.open({
|
||||||
url: settings.dialogAddAltURL
|
url: settings.dialogAddAltURL
|
||||||
relay_url: settings.relayURL
|
relay_url: settings.relayURL
|
||||||
@ -129,6 +131,8 @@ update_footer = (ownerName, isAuthenticated) ->
|
|||||||
$('footer > #security > #show-security-dialog').click (e) ->
|
$('footer > #security > #show-security-dialog').click (e) ->
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
|
document.cookie = "wikiName=#{window.location.host}" + ";domain=.#{settings.cookieDomain}; path=/; max-age=300;"
|
||||||
|
|
||||||
w = WinChan.open({
|
w = WinChan.open({
|
||||||
url: settings.dialogURL
|
url: settings.dialogURL
|
||||||
relay_url: settings.relayURL
|
relay_url: settings.relayURL
|
||||||
|
@ -308,7 +308,7 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
res.json settings
|
res.json settings
|
||||||
|
|
||||||
app.get '/auth/loginDialog', (req, res) ->
|
app.get '/auth/loginDialog', (req, res) ->
|
||||||
referer = req.headers.referer
|
cookies = req.cookies
|
||||||
schemeButtons = []
|
schemeButtons = []
|
||||||
_(ids).forEach (scheme) ->
|
_(ids).forEach (scheme) ->
|
||||||
switch scheme
|
switch scheme
|
||||||
@ -317,10 +317,7 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
when "google" then schemeButtons.push({button: "<a href='/auth/google' class='scheme-button google-button'><span>Google</span></a>"})
|
when "google" then schemeButtons.push({button: "<a href='/auth/google' class='scheme-button google-button'><span>Google</span></a>"})
|
||||||
|
|
||||||
info = {
|
info = {
|
||||||
wikiName: if useHttps
|
wikiName: cookies['wikiName']
|
||||||
url.parse(referer).hostname
|
|
||||||
else
|
|
||||||
url.parse(referer).host
|
|
||||||
wikiHostName: if wikiHost
|
wikiHostName: if wikiHost
|
||||||
"part of " + req.hostname + " wiki farm"
|
"part of " + req.hostname + " wiki farm"
|
||||||
else
|
else
|
||||||
@ -332,7 +329,7 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
res.render(path.join(__dirname, '..', 'views', 'securityDialog.html'), info)
|
res.render(path.join(__dirname, '..', 'views', 'securityDialog.html'), info)
|
||||||
|
|
||||||
app.get '/auth/personaLogin', (req, res) ->
|
app.get '/auth/personaLogin', (req, res) ->
|
||||||
referer = req.headers.referer
|
cookies = req.cookies
|
||||||
schemeButtons = []
|
schemeButtons = []
|
||||||
if Date.now() < personaEnd
|
if Date.now() < personaEnd
|
||||||
schemeButtons.push({
|
schemeButtons.push({
|
||||||
@ -350,10 +347,7 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
});
|
});
|
||||||
</script>"})
|
</script>"})
|
||||||
info = {
|
info = {
|
||||||
wikiName: if useHttps
|
wikiName: cookies['wikiName']
|
||||||
url.parse(referer).hostname
|
|
||||||
else
|
|
||||||
url.parse(referer).host
|
|
||||||
wikiHostName: if wikiHost
|
wikiHostName: if wikiHost
|
||||||
"part of " + req.hostname + " wiki farm"
|
"part of " + req.hostname + " wiki farm"
|
||||||
else
|
else
|
||||||
@ -365,10 +359,7 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
info = {
|
info = {
|
||||||
wikiName: if useHttps
|
wikiName: cookies['wikiName']
|
||||||
url.parse(referer).hostname
|
|
||||||
else
|
|
||||||
url.parse(referer).host
|
|
||||||
wikiHostName: if wikiHost
|
wikiHostName: if wikiHost
|
||||||
"part of " + req.hostname + " wiki farm"
|
"part of " + req.hostname + " wiki farm"
|
||||||
else
|
else
|
||||||
@ -379,15 +370,10 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
res.render(path.join(__dirname, '..', 'views', 'personaDialog.html'), info)
|
res.render(path.join(__dirname, '..', 'views', 'personaDialog.html'), info)
|
||||||
|
|
||||||
app.get '/auth/loginDone', (req, res) ->
|
app.get '/auth/loginDone', (req, res) ->
|
||||||
referer = req.headers.referer
|
cookies = req.cookies
|
||||||
if referer is undefined
|
|
||||||
referer = ''
|
|
||||||
|
|
||||||
info = {
|
info = {
|
||||||
wikiName: if useHttps
|
wikiName: cookies['wikiName']
|
||||||
url.parse(referer).hostname
|
|
||||||
else
|
|
||||||
url.parse(referer).host
|
|
||||||
wikiHostName: if wikiHost
|
wikiHostName: if wikiHost
|
||||||
"part of " + req.hostname + " wiki farm"
|
"part of " + req.hostname + " wiki farm"
|
||||||
else
|
else
|
||||||
@ -406,7 +392,8 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
# this the user is authenticated
|
# this the user is authenticated
|
||||||
user = getUser(req)
|
user = getUser(req)
|
||||||
if user
|
if user
|
||||||
referer = req.headers.referer
|
cookies = req.cookies
|
||||||
|
|
||||||
|
|
||||||
currentSchemes = _.keys(user)
|
currentSchemes = _.keys(user)
|
||||||
altSchemes = _.difference(ids, currentSchemes)
|
altSchemes = _.difference(ids, currentSchemes)
|
||||||
@ -419,10 +406,7 @@ module.exports = exports = (log, loga, argv) ->
|
|||||||
when "google" then schemeButtons.push({button: "<a href='/auth/google' class='scheme-button google-button'><span>Google</span></a>"})
|
when "google" then schemeButtons.push({button: "<a href='/auth/google' class='scheme-button google-button'><span>Google</span></a>"})
|
||||||
|
|
||||||
info = {
|
info = {
|
||||||
wikiName: if useHttps
|
wikiName: cookies['wikiName']
|
||||||
url.parse(referer).hostname
|
|
||||||
else
|
|
||||||
url.parse(referer).host
|
|
||||||
wikiHostName: if wikiHost
|
wikiHostName: if wikiHost
|
||||||
"part of " + req.hostname + " wiki farm"
|
"part of " + req.hostname + " wiki farm"
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user