org.jasig.cas.services.RegexRegisteredService usernameAttribute no multi-value support
<bean id="serviceRegistryDao" class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl"
p:registeredServices-ref="registeredServicesList" />
<util:list id="registeredServicesList">
<bean class="org.jasig.cas.services.RegexRegisteredService">
<property name="id" value="0" />
<property name="name" value="HTTP and IMAP" />
<property name="description" value="Allows HTTP(S) and IMAP(S) protocols" />
<property name="serviceId" value="^(https?|imaps?)://.*" />
<property name="evaluationOrder" value="10000001" />
<!-- TODO: usernameAttribute needs a fix to map ALL possible email field names: email, email-address, etc. -->
<property name="usernameAttribute"><!-- this does NOT work, usernameAttribute insists on being java.lang.String -->
<map>
<entry key="email">
<list>
<value>email</value>
<value>email-address</value>
</list>
</entry>
</map>
</property>
<property name="allowedAttributes">
<list>
<!-- shared attributes: facebook, google -->
<value>email</value>
<!-- facebook specific -->
<value>first_name</value>
<value>last_name</value>
<value>verified</value>
<value>location</value>
<!-- github specific -->
<!-- google -->
<value>given_name</value>
<value>family_name</value>
<value>verified_email</value>
<!-- linkedin -->
<value>email-address</value>
<value>first-name</value>
<value>last-name</value>
<!-- twitter -->
<!-- TODO: twitter is a placeholder only for now, pac4j-1.4.2-SNAPSHOT does not support at the moment
passing the 'include_email=true' argument to the twitter's authentication endpoint URL.
-->
</list>
</property>
</bean>
</util:list>