#javascript #jsp #cookies #encryption #token
#javascript #jsp #файлы cookie #шифрование #токен
Вопрос:
Привет, я пытаюсь получить значение токена из файла cookie и добавить его в URL, но добавляются дополнительные символы, такие как * (звездочка). пожалуйста, помогите мне, как мне передать значение моего токена в URL без добавления каких-либо символов.
вот мой код javascript
urls.put("AppName", "javascript:submitApplication()");
function submitApplication() {
var cookieToken = "SSOCookie";
var newToken = GetCookie(cookieToken);
myWindow = window.open(myhost "/webapp/sso?ssotype=type1amp;appname=APP1amp;mode=ARDamp;newToken=" newToken,'ApplicationName');
myWindow.focus();
}
Мое значение newToken добавляется со звездочками, как показано ниже
https://test.test1.com/webapp/sso?ssotype=type1amp;appname=APP1amp;mode=ARDamp;newToken=AQIC5wM2LY4SfczjfZ-64LqYUNHjjYVmu13iznLg1gKZoas.*AAJTSQACMDIAAlNLABM2MTI2ODc1MDg4MDc4MzE0NjI0AAJTMQACMDY.**
Но я хочу, чтобы это было передано как (без добавления каких-либо символов)
Пожалуйста, помогите мне, как я могу передать это значение токена в URL, не допуская добавления каких-либо дополнительных символов. Спасибо
Ответ №1:
Я бы сделал что-то вроде этого:
Создайте функцию, которая принимает имя файла cookie, чтобы получить файл cookie, который вы ищете.
function getCookie(cookieName) {
var name = cookieName '=';
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i ) {
var c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1);
}
if (c.indexOf(name) === 0) {
return c.substring(name.length, c.length);
}
}
return '';
}
Затем всякий раз, когда вам нужно получить этот файл cookie, вам просто нужно объявить переменную и вызвать эту функцию.
var myCookie = getCookie('name_of_the_cookie');
Добавьте файл cookie в URL.
var basicUrl = 'https://www.google.dk';
var fullUrl = basicUrl '/' myCookie;
Комментарии:
1. Привет, спасибо за ваш ответ. Мой «newToken: value имеет правильное значение токена (без *) в функции submitApplication(), но * добавляется один раз после передачи i, e в URL, который появляется. Пожалуйста, посоветуйте
2. Это странно. Я все делаю правильно, как описано выше, и работает просто отлично. У вас есть какой-либо соответствующий код, который вы не опубликовали? Я не вижу никакой ошибки в предоставленном вами фрагменте кода. Попробуйте console.log(newToken) и посмотрите, какое значение оно имеет сразу после его извлечения, или покажите его в инструменте разработчика (приложение -> файлы cookie -> ваш сайт)
3. На самом деле это происходит только в среде OpenAM, не могли бы вы посоветовать мне, как шифрование или передача значения через форму post, чтобы значение передавалось без каких-либо изменений.
4. У меня нет опыта работы с OpenAM, и поэтому я понятия не имею о его поведении, извините:-( Буду кричать, если получу представление о решении.