Open tienthanh2509 opened 5 years ago
Any update ?
Can workaround by modify CAS library directly and build rocketchat again
From c40c9c63d39b4ffa490409c7797e8b501b16a2d5 Mon Sep 17 00:00:00 2001
From: Thanh Pham <thanhpt@tdmu.edu.vn>
Date: Sat, 27 Apr 2019 20:47:09 +0700
Subject: Fix broken CAS library
diff --git a/node_modules/cas/lib/cas.js b/node_modules/cas/lib/cas.js
index 3a49580..be099bb 100644
--- a/node_modules/cas/lib/cas.js
+++ b/node_modules/cas/lib/cas.js
@@ -375,8 +375,8 @@ CAS.prototype.validate = function(ticket, callback, service, renew)
if (ticket.indexOf('PT-') == 0) {
validate_path = 'proxyValidate';
} else {
- //validate_path = 'serviceValidate';
- validate_path = 'proxyValidate';
+ validate_path = 'serviceValidate';
+ // validate_path = 'proxyValidate';
}
}
@@ -399,7 +399,7 @@ CAS.prototype.validate = function(ticket, callback, service, renew)
}
var queryPath = url.format({
- pathname: this.base_path+'/'+validate_path,
+ pathname: '/' + validate_path,
query: query
});
@@ -1025,6 +1025,9 @@ var parseAttributes = function(elemSuccess)
var node = elemAttribute.children()[i];
var attrName = node.name.toLowerCase().replace(/cas:/, '');
if (attrName != '#text') {
+ if (attrName.indexOf('.') > 0) {
+ continue
+ }
var attrValue = cheerio(node).text();
if (!attributes[attrName]) {
attributes[attrName] = [attrValue];
Demo site: https://chat.tdmu.edu.vn/
Description:
Rocket chat error while using CAS server
CAS client unable to handle key name contains
.
Eg:
org.apereo.cas.authentication.principal.REMEMBER_ME
Steps to reproduce:
Expected behavior:
Ignore
.
in attribute name since it doesn't importantRockerChat server need handle attribute name before insert to the database in file
app/cas/server/cas_server.js#L56
Actual behavior:
Client get error 500 and unable to login
Server Setup Information:
node:10
Additional context
None
Relevant logs: