Thanks for confirming. Sounds like a bug to me. 
D. 
                
                

                
        




On Sat, Feb 10, 2018 at 12:01 PM -0500, "Brian Davidson" <awk.br...@gmail.com> 
wrote:










I have tried that.  Duo works when I disable the bypass facility.  When I 
enable it, if bypass script returns false, single factor works and I don’t get 
a 500 error. If the groovy script returns true, I get the 500 error. 
So, the Duo integration is working.  The bypass groovy script definitely is 
getting called, and it definitely should return a boolean, not a string.
2018-02-09 15:04:55,638 DEBUG 
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Attempting to 
handle [org.springframework.webflow.execution.FlowExecutionException: Exception 
thrown in state 'viewLoginFormDuo' of flow 'mfa-duo'] with root cause 
[java.io.NotSerializableException: org.springframework.core.io.UrlResource]>

Seems like Spring web flow with the duo flow is not happy with something when 
the bypass script is in place, but it’s fine when bypass isn’t in place.
Thanks!
Brian
On Feb 10, 2018, at 11:38 AM, Dmitriy Kopylenko <dkopyle...@unicon.net> wrote:



        
                
                
        
                Let me suggest to get the Groovy script out of equation 
completely. Switch this groovy bypass off, and try to perform entire duo 2 
factor authentication transaction. If it completes successfully and then you 
again enable groovy bypass and then after it you get the failures that you are 
seeing, then the problem indeed is somewhere in that bypass facility. 
Cheers,D. 
                
                

                
        




On Sat, Feb 10, 2018 at 11:29 AM -0500, "Brian Davidson" <awk.br...@gmail.com> 
wrote:










Switching the function to return a String instead of a boolean, I get:
2018-02-10 11:25:06,033 ERROR [org.apereo.cas.util.ScriptingUtils] - <Result 
[mfa-duo is of type class java.lang.String when we were expecting class 
java.lang.Boolean>java.lang.ClassCastException: Result [mfa-duo is of type 
class java.lang.String when we were expecting class java.lang.Boolean
…
2018-02-10 11:25:06,952 ERROR 
[org.apereo.cas.authentication.GroovyMultifactorAuthenticationProviderBypass] - 
<null>java.lang.NullPointerException: null        at 
org.apereo.cas.authentication.GroovyMultifactorAuthenticationProviderBypass.shouldMultifactorAuthenticationProviderExecute(GroovyMultifactorAuthenticationProviderBypass.java:40)
 ~[cas-server-core-authentication-mfa-5.2.2-SNAPSHOT.jar:5.2.2-SNAPSHOT]
…




On Feb 10, 2018, at 10:14 AM, Man H <info.ings...@gmail.com> wrote:
Try returning string "mfa-duo" or null

El sábado, 10 de febrero de 2018, Brian Davidson <awk.br...@gmail.com> escribió:
I changed it from info to warn:
2018-02-10 08:54:07,061 WARN 
[org.apereo.cas.authentication.GroovyMultifactorAuthenticationProviderBypass] - 
<Evaluating principal attributes [businessCategory:[Employee, Staff], cn:Brian 
Davidson, ctCalDefaultNoteReminder:0:0, ctCalDefaultReminder:0:10, 
ctCalDefaultTaskReminder:0:0, ctCalDisplayPrefs:4:480:1080:1:30:190:2, 
ctCalLanguageId:0, ctCalNotifMechanism:1, 
ctCalOperatingPrefs:0:255:0:0:0:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440:0:0:1440:0:1440,
 ctCalPasswordRequired:1, ctCalPublishedType:0, ctCalRefreshPrefs:1:60, 
ctCalSMSTimeRange:0:0, ctCalSysopCanWritePassword:0, ctCalTimezone:0, 
ctCalXItemId:10101:02238, eduPersonAffiliation:[member, staff], gecos:Brian 
Davidson, gidNumber:5137, givenName:Brian, gmuBannerGUID:REDACTED, 
gmuemployeestatus:C, gmugnumber:REDACTED, gmuMLPwdChanged:20170127190453Z, 
gmurup:true, gmusecurityquiz:1487691778, homeDirectory:REDACTED, 
iplanet-am-modifiable-by:cn=Top-level Admin Role,o=gmu.edu, 
l:opted-in-201103021755, loginShell:/bin/bash, mail:REDACTED, 
mailAllowedServiceAccess:-imap,pop,http,smtp:*, mailAlternateAddress:REDACTED, 
mailDeliveryOption:mailbox, mailHost:gmuedu.onmicrosoft.com, 
mailQuota:1048576000, mailRoutingAddress:REDACTED, nsmsgDisallowAccess:imap pop 
http smtp, nswmExtendedUserPrefs:[meTrashFolder=Trash, meSentFolder=Sent, 
meDraftFolder=Drafts, meInitialized=true], objectClass:[posixAccount, 
sunUCPreferences, mailrecipient, iplanetPreferences, inetLocalMailRecipient, 
iplanet-am-managed-person, inetOrgPerson, inetAdmin, ctCalUser, inetMailUser, 
iplanet-am-user-service, gmuPerson, shadowAccount, userPresenceProfile, 
inetUser, top, person, organizationalPerson, ipuser, eduPerson, account], 
ou=people,o=gmu.edu,o=pab, sn:Davidson, uid:REDACTED, uidNumber:888, 
userPassword:REDACTED]>

On Feb 10, 2018, at 8:43 AM, Man H <info.ings...@gmail.com> wrote:
Could you try this
def boolean run(final Object... args){
    def authentication = args[0]
    def principal = args[1]
    def service = args[2]
    def provider = args[3]
    def logger = args[4]
    def httpRequest = args[5]
    
    logger.info("Evaluating principal attributes ${principal.attributes}")

return true}

El sábado, 10 de febrero de 2018, Brian Davidson <awk.br...@gmail.com> escribió:
Removed that dependency and still git the same 500 error and same stack trace.

On Feb 10, 2018, at 7:20 AM, Man H <info.ings...@gmail.com> wrote:
Why you hace this

      <dependency>            <groupId>javax.servlet</groupId>            
<artifactId>servlet-api</artifactId>            <version>2.5</version>          
  <type>jar</type>        </dependency>

El sábado, 10 de febrero de 2018, Brian Davidson <awk.br...@gmail.com> escribió:
Running on apache-tomcat-8.5.24, so that should be servlet v3.1.x.
Yes, this is CAS version 5.2.2.
CAS w/ Duo works with no bypass groovy script in place.  CAS  works with bypass 
groovy script that returns false.  We’re just getting the exception when the 
groovy script returns true.
Thanks again for all the help!



External

A CAS deployment may be deployed to any number of external servlet containers. 
The container MUST support the servlet specification v3.1.x at a minimum.On Feb 
10, 2018, at 6:37 AM, Man H <info.ings...@gmail.com> wrote:
Assuming you are on 5.2.2

El sábado, 10 de febrero de 2018, Brian Davidson <awk.br...@gmail.com> escribió:
I meant to add, our pom.xml has the following dependencies (in case we’re 
missing something):
<dependencies>        <dependency>            <groupId>org.apereo.cas</groupId> 
           <artifactId>cas-server-webapp-${app.server}</artifactId>            
<version>${cas.version}</version>            <type>war</type>            
<scope>runtime</scope>        </dependency>        <dependency>            
<groupId>org.apereo.cas</groupId>            
<artifactId>cas-server-support-ldap</artifactId>            
<version>${cas.version}</version>        </dependency>        <dependency>      
      <groupId>org.apereo.cas</groupId>            
<artifactId>cas-server-support-saml</artifactId>            
<version>${cas.version}</version>        </dependency>        <dependency>      
      <groupId>org.apereo.cas</groupId>            
<artifactId>cas-server-support-hazelcast-ticket-registry</artifactId>           
 <version>${cas.version}</version>        </dependency>        <dependency>     
       <groupId>org.apereo.cas</groupId>            
<artifactId>cas-server-support-duo</artifactId>            
<version>${cas.version}</version>        </dependency>        <dependency>      
      <groupId>org.apereo.cas</groupId>            
<artifactId>cas-server-support-json-service-registry</artifactId>            
<version>${cas.version}</version>        </dependency>        <dependency>      
      <groupId>org.javassist</groupId>            
<artifactId>javassist</artifactId>            <version>3.17.1-GA</version>      
  </dependency>        <dependency>            <groupId>javax.servlet</groupId> 
           <artifactId>servlet-api</artifactId>            
<version>2.5</version>            <type>jar</type>        </dependency>        
<dependency>            <groupId>org.apereo.cas</groupId>            
<artifactId>cas-server-core-webflow</artifactId>            
<version>${cas.version}</version>        </dependency>        <dependency>      
      <groupId>org.apereo.cas</groupId>            
<artifactId>cas-server-core-web</artifactId>            
<version>${cas.version}</version>            <type>jar</type>        
</dependency>        <dependency>            <groupId>org.apereo.cas</groupId>  
          <artifactId>cas-server-core-configuration</artifactId>            
<version>${cas.version}</version>            <type>jar</type>        
</dependency>        <dependency>            <groupId>org.apereo.cas</groupId>  
         <artifactId>cas-server-core-authentication</artifactId>         
<version>${cas.version}</version>   </dependency>    </dependencies>

On Feb 9, 2018, at 5:19 PM, Man H <info.ings...@gmail.com> wrote:

add 
        <dependency>
             <groupId>org.apereo.cas</groupId>
             <artifactId>cas-server-core-authentication</artifactId>
             <version>${cas.version}</version>
        </dependency>

with: 

cas.authn.mfa.duo[0].bypass.type=GROOVY
cas.authn.mfa.duo[0].bypass.groovy.location=file:/etc/cas/config/mfaGroovyTrigger.groovy

you should get

2018-02-09 19:10:39,145 DEBUG 
[org.apereo.cas.authentication.GroovyMultifactorAuthenticationProviderBypass] - 
<Evaluating multifactor authentication bypass properties for principal 
[casuser], service [null] and provider 
[DefaultDuoMultifactorAuthenticationProvider] via Groovy script [URL 
[file:/etc/cas/config/mfaGroovyTrigger.groovy]]>





2018-02-09 17:11 GMT-03:00 Brian Davidson <awk.br...@gmail.com>:
Just to add a bit to what Brian M. provided (I’m also a Brian, and a co-worker 
of Brian M’s):
We have Duo MFA working if we comment 
out:cas.authn.mfa.duo[0].bypass.type=GROOVYcas.authn.mfa.duo[0].bypass.groovy.location=file:///etc/cas/selectiveDuo.groovy
We did find that CAS was unable to check to see if the user exists in Duo if we 
used the “CAS” integration in Duo.  But it works if we set up the integration 
as “Auth API”.
We haven’t touched webflow. With the groovy script in place, 
When we enable GROOVY bypass script, we get:
2018-02-09 15:04:55,638 DEBUG 
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Attempting to 
handle [org.springframework.webflow.execution.FlowExecutionException: Exception 
thrown in state 'viewLoginFormDuo' of flow 'mfa-duo'] with root cause 
[java.io.NotSerializableException: org.springframework.core.io.UrlResource]>
As well as the stack trace Brian M. provided.
cas.authn.mfa.duo[0].bypass.groovy.location was the missing piece yesterday.  
Dug through source code to find that.  We’re happy to provide updates to the 
documentation once we get this working.
Thanks for the help!
On Feb 9, 2018, at 10:14 AM, brian mancuso <snidd...@gmail.com> wrote:
Anything that says "REMOVED" is just stuff I pulled out before posting it. I 
didn't want to post any private/sensitive information.

On Friday, February 9, 2018 at 9:59:12 AM UTC-5, Manfredo Hopp wrote:What do 
you mean by REMOVED in properties . 

El viernes, 9 de febrero de 2018, brian mancuso <snid...@gmail.com> escribió:
Hey all,
I was originally trying to setup some custom triggers to determine who should 
use MFA and who is allowed to bypass. I have since been directed towards Groovy 
to simplify things, but I'm still having some trouble.
At this point, the Groovy script's purpose is strictly to test if a certain 
user will bypass MFA while others will not. Here's my setup:
/etc/cas/config/cas.properties
##
# Duo security 2fa authentication provider
# https://www.duosecurity.com/docs/duoweb#1.-generate-an-akey
#
cas.authn.mfa.duo[0].rank=0
cas.authn.mfa.duo[0].duoApiHost=REMOVED
cas.authn.mfa.duo[0].duoIntegrationKey=REMOVED
cas.authn.mfa.duo[0].duoSecretKey=REMOVED
cas.authn.mfa.duo[0].duoApplicationKey=REMOVED
cas.authn.mfa.duo[0].id=mfa-duo
cas.authn.mfa.globalProviderId=mfa-duo
cas.authn.mfa.globalFailureMode=OPEN
cas.authn.mfa.duo[0].bypass.type=GROOVY
cas.authn.mfa.duo[0].bypass.groovy.location=file:///etc/cas/selectiveDuo.groovy


/etc/cas/selectiveDuo.groovy
def boolean run(final Object... args) {
    def authentication = args[0]
    def principal = args[1]
    def service = args[2]
    def provider = args[3]
    def logger = args[4]
    def httpRequest = args[5]
    
    logger.info("Evaluating principal attributes ${principal.attributes}")

    def bypass = principal.attributes['uid']
    if ((bypass.contains("testuser") && provider.id == "mfa-duo") {
        logger.info("Skipping bypass for principal ${principal.id}")
        return false
    }

    return true
}

When I try to login though, whenever a user would be sent to DUO, I get a 500 
error:



Here's a small snippet from the output:
2018-02-09 09:04:05,717 DEBUG 
[org.apereo.cas.web.FlowExecutionExceptionResolver] - <Ignoring the received 
exception due to a type 
mismatch>org.springframework.webflow.execution.FlowExecutionException: 
Exception thrown in state 'viewLoginFormDuo' of flow 'mfa-duo'        at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.wrap(FlowExecutionImpl.java:573)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE] at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:263)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]       at 
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]   at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
Caused by: 
org.apereo.spring.webflow.plugin.ClientFlowExecutionRepositoryException: Error 
encoding flow execution       at 
org.apereo.spring.webflow.plugin.ClientFlowExecutionRepository.getKey(ClientFlowExecutionRepository.java:114)
 ~[spring-webflow-client-repo-1.0.3.jar:1.0.3]  at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.assignKey(FlowExecutionImpl.java:419)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]    at 
org.springframework.webflow.engine.impl.RequestControlContextImpl.assignFlowExecutionKey(RequestControlContextImpl.java:193)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]
Caused by: java.io.NotSerializableException: 
org.springframework.core.io.UrlResource    at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) 
~[?:1.8.0_151] at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_151]   at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_151]      at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_151]  at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_151] at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_151]   at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_151]

2018-02-09 09:04:05,717 ERROR 
[org.springframework.boot.web.support.ErrorPageFilter] - <Forwarding to error 
page from request [/login] due to exception [Exception thrown in state 
'viewLoginFormDuo' of flow 
'mfa-duo']>org.springframework.webflow.execution.FlowExecutionException: 
Exception thrown in state 'viewLoginFormDuo' of flow 'mfa-duo'   at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.wrap(FlowExecutionImpl.java:573)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE] at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:263)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]       at 
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]   at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_151] at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_151] at java.lang.reflect.Method.invoke(Method.java:498) 
~[?:1.8.0_151]

Caused by: 
org.apereo.spring.webflow.plugin.ClientFlowExecutionRepositoryException: Error 
encoding flow execution       at 
org.apereo.spring.webflow.plugin.ClientFlowExecutionRepository.getKey(ClientFlowExecutionRepository.java:114)
 ~[spring-webflow-client-repo-1.0.3.jar:1.0.3]  at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.assignKey(FlowExecutionImpl.java:419)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]    at 
org.springframework.webflow.engine.impl.RequestControlContextImpl.assignFlowExecutionKey(RequestControlContextImpl.java:193)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]       at 
org.springframework.webflow.engine.ViewState.doEnter(ViewState.java:170) 
~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]   at 
org.springframework.webflow.engine.State.enter(State.java:194) 
~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]     at 
org.springframework.webflow.engine.Transition.execute(Transition.java:228) 
~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE] at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]      at 
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
 ~[spring-webflow-2.4.6.RELEASE.jar:2.4.6.RELEASE]

Caused by: java.io.NotSerializableException: 
org.springframework.core.io.UrlResource    at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) 
~[?:1.8.0_151] at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_151]   at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_151]      at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_151]  at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_151] at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_151]   at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_151]      at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_151]

I posted the output to pastebin since it was too large for just posting here: 
https://pastebin.com/yNPk4u7n


-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+u...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/b3ba67e2-e0ca-4a8e-853b-041343564b9f%40apereo.org.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/651df904-b94c-4d3b-9915-ddfd969c5924%40apereo.org.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/2A0C53A0-2FFF-4F1E-AAAE-B9647B352CB5%40gmail.com.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMY5midKW9nbuUSutNPX5%2BKbmKPfaGnMRfjmVosqwBESC9KNgw%40mail.gmail.com.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/4B953717-A37E-4E87-AD49-2BF69A7124C1%40gmail.com.




-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMY5mifAJL3Wiq%2Bh8HdAbUGB0SEaARNZH--s5wcJ_%3DamQtER9w%40mail.gmail.com.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/726B28A6-E38E-425D-8ECD-5A6040905A48%40gmail.com.




-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMY5mieAUtjrCY1UgJwF%3DBUDy_2%2B%2BMntboaea4EkH6sWQnZ6rA%40mail.gmail.com.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/F3240192-8B43-4275-92A4-44EFFCCEFCC1%40gmail.com.




-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMY5midbkPD7vFCpoQRb90zKLROcc4RQQe01uiA_3GCXo5TnWg%40mail.gmail.com.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/2B4CEB0E-10CF-46AA-8D9B-A04FCA5CA2BE%40gmail.com.




-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMY5mifvs%3D_2OmiV2Prjw4KOThdsN1vS2CCN0Zk2FYgc5RjHZQ%40mail.gmail.com.





-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/42968FBF-4E13-4EC6-B374-A3739F6FACAD%40gmail.com.









-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/20C889EBD5E2E103.605F6678-9158-45B0-8E5F-A4C9A2DAA4C0%40mail.outlook.com.








-- 

- Website: https://apereo.github.io/cas

- Gitter Chatroom: https://gitter.im/apereo/cas

- List Guidelines: https://goo.gl/1VRrw7

- Contributions: https://goo.gl/mh7qDG

--- 

You received this message because you are subscribed to the Google Groups "CAS 
Community" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.

To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/4348DB5A-6914-4F33-8373-F8C1DBF21A49%40gmail.com.






-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/20C889EBD5E2E103.E4373F61-E564-4B8D-ADFE-548523AFFC2F%40mail.outlook.com.

Reply via email to