как добавить значение токена в URL и передать его, не допуская добавления каких-либо дополнительных символов?

#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.**

Но я хочу, чтобы это было передано как (без добавления каких-либо символов)

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, и поэтому я понятия не имею о его поведении, извините:-( Буду кричать, если получу представление о решении.