Symfony 2 — WSSE — FOSUserBundle — FOSRestBundle — Javascript

Я пытаюсь включить аутентификацию WSSE. У меня сзади symfony, а впереди приложение Ionic — AngularJS. Я следовал кулинарной книге о WSSE и этим руководствам:

http://obtao.com/blog/2013/05/create-rest-api-in-a-symfony-application/

http://obtao.com/blog/2013/06/configure-wsse-on-symfony-with-fosrestbundle/

А также

http://obtao.com/blog/2013/09/how-to-use-wsse-in-android-app/

Я хорошо устанавливаю WSSE, я могу хэшировать свой пароль в своем приложении с помощью этого кода:

authentication.hashPassword = function(salt, clearPassword) {
  var digest = "";
  console.log('==== STARTING HASHING PASSWORD ====');
  var salted = null;
  if (!salt || salt == "") {
    salted = clearPassword;
  } else {
    salted = clearPassword + "{" + salt + "}";
  }
  digest = CryptoJS.SHA512(salted);
  for (var i=1; i<5000; i++) {
    digest = CryptoJS.SHA512(digest.toString(CryptoJS.enc.Latin1)+salted);
  }
  digest = digest.toString(CryptoJS.enc.Base64);
  console.log('==== ENDING HASHING PASSWORD ====');
  console.log(digest);
  return digest;
};

но я хотел бы сгенерировать заголовок с моим хеш-паролем (последний учебник написан на Java, а я новичок в Java)

Можно ли сравнить два хеш-пароля, если я опубликую свой хеш-пароль?

У вас есть идея создать заголовок (или токен)?

Спасибо за ваш ответ


person Florent Guenebeaud    schedule 25.08.2015    source источник
comment
Возможно, этот пакет поможет вам github.com/escapestudios/EscapeWSSEAuthenticationBundle   -  person chalasr    schedule 31.08.2015


Ответы (1)


Ваше приложение, похоже, основано на Ionic Framework. После «приложения для Android», упомянутого в руководстве, мы также протестировали ionic.

См. https://github.com/wallabag/ionic-app (криптовалюта "сделана вручную", но это поможет вам для части заголовка с ionic/angularjs)

В приложении.js:

$http.defaults.headers.common['x-wsse'] = function() {
    return wsse.getHeaderValue(username, encryptedPassword);
};
$http.defaults.headers.common.Authorization = 'profile=UsernameToken';
person Francois    schedule 17.09.2015