Skip to content

effixe/angular-wsse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

angular-wsse

This is an angular service to help generate a WSSE Header for API calls.

It is developed based on the John Papa's style guide (https://github.com/johnpapa/angular-styleguide#services).

Installation

  1. bower : bower install angular-wsse | npm : npm install angular-wsse --save
  2. Modify your application to include wsseservice in your application dependencies.
  3. Add the following to get the global variable CryptoJS working :
"overrides": {
  "crypto-js": {
    "main": "crypto-js.js"
  }
}

This Service uses CryptosJS (https://code.google.com/archive/p/crypto-js/) to encode and decode things (SHA1, SHA512, Base64, Utf8) and has a dependency to the package crypto-js (https://www.npmjs.com/package/crypto-js)

How to use it

To generate a wsse header you will need the encoded password and the username. You can generate the encoded password with : wsseservice.generateEncodedPassword(password, salt, iteration);

  • password : the plain password given by the user.
  • salt : the salt used to encode the password.
  • iteration : the number of iteration needed to encode the password (set in the parameters in Symfony2 for instance).

When you have the encoded password you just need to do : wsseservice.getWSSEHeader(username, password);

This will give you a string looking like this : UsernameToken Username="admin", PasswordDigest="u/TRqCu7nXjZRA5sX7bC5NZodsQ=", Nonce="NDM2YTYxZjVkMTA2YmE3MQ==", Created="2015-06-10T15:07:47Z"

You will need so set in the X-WSSE header.

Using

Methods

  1. wsseservice.generateCreatedDate() - Return current date in ISO format.
  2. wsseservice.generateNonce() - Return a random Nonce.
  3. wsseservice.generateEncodedPassword(password, salt, iteration) - Return the encoded password. Based on SymfonY2 password encoding.
  4. wsseservice.generatePasswordDigest(nonce, createdDate, encodedPassword) - Return the SHA1 encoded password digest created with the Nonce and the createdDate.
  5. wsseservice.getWSSEHeader(username, password) - Return the WSSE string you need for the header.

License

This project is released over MIT License

Any contribution welcome

About

Angular service to help generate a WSSE Header for API calls.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published