blob: bd987e7920a17f5618027352ad0bc51edd97447a [file] [log] [blame]
package org.apache.rahas;
import org.apache.rahas.impl.util.*;
import org.opensaml.common.SAMLException;
import org.opensaml.saml1.core.Attribute;
import org.opensaml.saml1.core.NameIdentifier;
public class SAMLDataProvider implements SAMLCallbackHandler{
public void handle(SAMLCallback callback) throws SAMLException {
if(callback.getCallbackType() == SAMLCallback.ATTR_CALLBACK){
SAMLAttributeCallback cb = (SAMLAttributeCallback)callback;
try {
Attribute attribute = SAMLUtils.createAttribute("Name", "https://rahas.apache.org/saml/attrns", "Custom/Rahas");
cb.addAttributes(attribute);
} catch (TrustException e) {
throw new SAMLException("Error creating attribute", e);
}
}else if(callback.getCallbackType() == SAMLCallback.NAME_IDENTIFIER_CALLBACK){
SAMLNameIdentifierCallback cb = (SAMLNameIdentifierCallback)callback;
try {
NameIdentifier nameId = SAMLUtils.createNamedIdentifier("David", NameIdentifier.EMAIL);
cb.setNameId(nameId);
} catch (TrustException e) {
throw new SAMLException("Error creating name identifier", e);
}
}
}
}