<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Hi, I was trying to get ECP working with Shibboleth IDPv3 and wanted to see if I was correct about the basic idea. &nbsp;Ultimately, I’d like to use Kerberos authentication, which should be supported via the Apache web server as well as Tomcat.</div>
<div><br>
</div>
<div>First, set up the endpoint&nbsp;/profile/SAML2/SOAP/ECP in the web.xml file, maybe like this:</div>
<div><br>
</div>
<div>
<div>&nbsp; &lt;security-constraint&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;display-name&gt;Shibboleth IdP&lt;/display-name&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;web-resource-collection&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;web-resource-name&gt;ECP&lt;/web-resource-name&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;url-pattern&gt;/profile/SAML2/SOAP/ECP&lt;/url-pattern&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;http-method&gt;GET&lt;/http-method&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;http-method&gt;POST&lt;/http-method&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;/web-resource-collection&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;auth-constraint&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;role-name&gt;*&lt;/role-name&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;/auth-constraint&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;user-data-constraint&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;transport-guarantee&gt;CONFIDENTIAL&lt;/transport-guarantee&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;/user-data-constraint&gt;</div>
<div>&nbsp; &lt;/security-constraint&gt;</div>
<div>&nbsp; &lt;login-config&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;auth-method&gt;BASIC&lt;/auth-method&gt;</div>
<div>&nbsp; &lt;/login-config&gt;</div>
</div>
<div><br>
</div>
<div>Similar to the example at&nbsp;<a href="https://wiki.shibboleth.net/confluence/display/SHIB2/IdPEnableECP">https://wiki.shibboleth.net/confluence/display/SHIB2/IdPEnableECP</a>&nbsp;except we won’t be hitting an LDAP server</div>
<div><br>
</div>
<div>Protect the endpoint in the Apache httpd configuration, sort of like:</div>
<div><br>
</div>
<div>
<div>&lt;Location /idp/profile/SAML2/SOAP/ECP&gt;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>AuthType Kerberos</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>AuthName &quot;ECP Shibboleth Identity Provider - ECP profile&quot;</div>
<div>&nbsp; <span class="Apple-tab-span" style="white-space:pre"></span>KrbMethodNegotiate on</div>
<div>&nbsp; <span class="Apple-tab-span" style="white-space:pre"></span>KrbMethodK5Passwd off</div>
<div>&nbsp; <span class="Apple-tab-span" style="white-space:pre"></span>KrbAuthRealms ourrealm.edu</div>
<div>&nbsp; <span class="Apple-tab-span" style="white-space:pre"></span>Krb5Keytab &quot;/path/to/krb5.keytab&quot;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; AuthName &quot;ECP Shibboleth Identity Provider - ECP profile&quot;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; Require valid-user</div>
<div>&lt;/Location&gt;</div>
</div>
<div><br>
</div>
<div>We want Apache to use Kerberos authentication and to allow any valid user in.</div>
<div><br>
</div>
<div>Assuming we get the &quot;REMOTE_USER&quot; successfully set, use the RemoteUserInternalAuthn configuration defined in IDP v3. &nbsp;See&nbsp;</div>
<div><a href="https://wiki.shibboleth.net/confluence/display/IDP30/RemoteUserInternalAuthnConfiguration">https://wiki.shibboleth.net/confluence/display/IDP30/RemoteUserInternalAuthnConfiguration</a></div>
<div><br>
</div>
<div>Is this the right idea?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Wendy</div>
</body>
</html>