4.4.2. DIGEST-based Credential Handler
This credential handlers supports a DIGEST based authentication.
Credentials can be updated as follows:
User user = BasicModel.getUser(identityManager, "jsmith"); Digest digest = new Digest(); digest.setRealm("PicketLink Realm"); digest.setUsername(user.getLoginName()); digest.setPassword("abcd1234"); identityManager.updateCredential(user, digest);
In order to validate a credential you need to the following code:
User user = BasicModel.getUser(identityManager, "jsmith"); Digest digest = new Digest(); digest.setRealm("PicketLink Realm"); digest.setUsername(user.getLoginName()); digest.setPassword("abcd1234"); digest.setDigest(DigestUtil.calculateA1(user.getLoginName(), digest.getRealm(), digest.getPassword().toCharArray())); DigestCredentials credential = new DigestCredentials(digest); identityManager.validateCredentials(credential); if (Status.VALID.equals(credential.getStatus()) { // successful validation } else { // invalid credential }