2014-07-26 4 views
5

Ich versuche, Jasig CAS4.0 mit Facebook OAuth2.0 zu konfigurieren. Ohne Verwendung von Facebook funktionierte der Standardbenutzername "casuser" und das Passwort "Mellon" korrekt. I ersetztJasig CAS4.0, Proxy Authentifizierung Ausnahme

<bean id="primaryAuthenticationHandler" 
      class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler"> 
     <property name="users"> 
      <map> 
       <entry key="casuser" value="Mellon"/> 
      </map> 
     </property> 
    </bean> 

mit

<bean id="primaryAuthenticationHandler" class="org.jasig.cas.support.pac4j.authentication.handler.support.ClientAuthenticationHandler"> 
      <constructor-arg index="0" ref="clients"/> 
</bean> 

und die id = "registeredServicesList" ist

<util:list id="registeredServicesList"> 
     <bean class="org.jasig.cas.services.RegexRegisteredService" 
       p:id="0" p:name="HTTP and IMAP" 
       p:description="Allows HTTP(S) and IMAP(S) protocols" 
       p:serviceId="^(https?|imaps?)://.*" 
       p:evaluationOrder="10000001" 
       p:enabled="true" 
       p:allowedToProxy="true" 
       p:ssoEnabled="true" 
/> 

Aber noch, nach, nachdem sie von Facebook auf meinem CAS-Server dann die Authentifizierung Umleitung meine Anwendung, bekomme ich ticketValidationException.

type Exception report 

message org.jasig.cas.client.validation.TicketValidationException: 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: org.jasig.cas.client.validation.TicketValidationException: 
     The supplied service 'https://rajan.com:2443/CasClientSimple/' is not authorized to use CAS proxy authentication. 

    org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:194) 
    org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:116) 

Was soll ich tun, um dieses Problem zu lösen?

Antwort

5

In der Datei deployerconfigcontext.xml des CAS-Servers füge ich einige Attribute hinzu (wie allowedToProxy, ssoEnables, enabled), die nicht standardmäßig dort waren, und es hat funktioniert.

<bean class="org.jasig.cas.services.RegisteredServiceImpl"> 
      <property name="id" value="0" /> 
      <property name="name" value="HTTP" /> 
      <property name="description" value="Only Allows HTTP Urls" /> 
      <property name="serviceId" value="https://**" /> 
      <property name="evaluationOrder" value="10000001" /> 
      <property name="enabled" value="true" /> 
      <property name="allowedToProxy" value="true" /> 
      <property name="ssoEnabled" value="true" /> 
</bean> 
Verwandte Themen