js:在重定向后检索URL参数
Sails.js: Retrieving URL parameter after redirect
我正试图将CAS实现到我的登录系统中,但我被困在如何检索"票"上。基本上,票据在URL中作为参数返回,但我不知道如何解析它。
这是我尝试的代码:
login: function(req, res) {
if (req.session.authenticated) {
res.redirect('/dashboard');
} else {
var https = require('https');
var url = require('url');
var cas_url = 'https://auth-test.test.edu';
var login_service = '/cas/login';
var validation_service = '/cas/validate';
var service = 'https://localhost:1337';
res.redirect(cas_url + login_service + '?service=' + service);
console.log(req.headers);
}
}
重定向到我指定的URL后,CAS服务器重定向回(带样票):https://localhost:1337/?ticket=ST-10247-Qn0BuiSHob1dxcjODDku-cas-t1
关于如何优化我的代码或以某种方式检索票的任何想法?谢谢!
编辑:现在要验证,请参阅下面对所选答案的评论:
index: function(req, res) {
var ticket = req.param('ticket');
if (req.session.authenticated) {
res.redirect('/dashboard');
} else if (ticket) {
var https = require('https');
var options = {
cas_url: 'https://auth-test.berkeley.edu',
login: '/cas/login',
validate: '/cas/validate',
service: 'http://localhost:1337'
};
// redirect to validate URL
res.redirect(options.cas_url + options.validate
+ '?service=' + options.service + '&ticket=' + ticket);
} else {
res.view({
title: 'Home'
});
}
}
如果验证通过,正文将有两行:yes
username
如果验证没有通过,HTML将只显示一行:no
如何解析显示的HTML页面的每一行?
您需要创建索引路由,将其指向控制器操作,并在该操作中检索令牌。例如,在/config/routes.js
中,添加:
'/': 'HomeController.index'
then in /api/controllers/HomeController
:
index: function (req, res) {
// req.param will contain any route params, body params or
// query string params
var ticket = req.param('ticket');
return res.send("The ticket is: " + ticket);
}
然后, https://localhost:1337/
将指向该代码,假设您在服务器上正确设置了SSL !
相关文章:
- 存储和检索图像数据URL
- Imgur|检索给定相册链接的直接图像URL
- 用于存储、检索和附加到url的javascript cookie
- 在未命名的json数组url中检索值
- JQuery:从URL检索数据
- Javascript REGEX:需要从嵌入URL中检索ID以及开始和结束时间
- Parse.com-在JavaScript SDK中模板化集合时检索图像URL
- 检索URL中编码的JSON
- 如何使用正则表达式或 jQuery 检索 URL 的最后一部分
- 将图像上传到服务器(picasa/dropbox/etc)并检索url以将其保存在我的数据库中
- 检索URL参数以预先选择多选列表-提线木偶
- node+handlers:动态创建和检索url路径
- 尝试使用jQuery检索URL的一部分;它是有效的,但是字符串是无效的;t返回
- 从函数中检索Url参数
- 如何检索url inAppBrowser当前在
- 在JavaScript中检索URL字符串以生成JSON对象
- 检索url中后跟#的字符串
- 从JSON对象值中检索URL
- 如何在JavaScript中检索URL查询参数
- js:在重定向后检索URL参数