<%@ page pageEncoding="UTF-8" %>
<%@ page import="net.shibboleth.idp.authn.*" %>
<%@ page import="net.shibboleth.idp.attribute.*"%>
<%@ page import="net.shibboleth.idp.authn.principal.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.security.*"%>
<%@ page import="javax.security.auth.*"%>
<%
try {
final String key = ExternalAuthentication.startExternalAuthentication(request);
HashSet<Principal> principals=new HashSet<Principal>();
principals.add(new UsernamePrincipal("bbarker"));
//<DataConnector xsi:type="Subject" exportAttributes="mail eduPersonNickname" id="myId" />
//<AttributeDefinition ... <InputDataConnector ref="myId" ...
IdPAttribute attr=new IdPAttribute("eduPersonNickname");
attr.setValues(new ArrayList<IdPAttributeValue>(Collections.singleton(new StringAttributeValue("Bob Barker")));
principals.add(new IdPAttributePrincipal(attr));
attr=new IdPAttribute("mail");
attr.setValues(new ArrayList<IdPAttributeValue>(Collections.singleton(new StringAttributeValue("bbarker@example.org"))));
principals.add(new IdPAttributePrincipal(attr));
request.setAttribute(ExternalAuthentication.SUBJECT_KEY,new Subject(false, principals, Collections.EMPTY_SET, Collections.EMPTY_SET));
ExternalAuthentication.finishExternalAuthentication(key, request, response);
} catch (final ExternalAuthenticationException e) {
throw new ServletException("Error processing external authentication request", e);
}
%> |