Hey, everyone,
I'm trying to get SAML2 authentication working against my CAS server.  I've 
got CAS protocol authentications working just fine, but am struggling 
getting the SAML IdP configured correctly.  I have the following items 
configured in my main CAS configuration:

## SAML Provider
cas.authn.samlIdp.entityId=https://server.domain.com/cas/idp
cas.authn.samlIdp.hostName=server.domain.com
cas.authn.samlIdp.scope=domain.com
cas.authn.samlIdp.metadata.cacheExpirationMinutes=30
cas.authn.samlIdp.metadata.failFast=true
cas.authn.samlIdp.metadata.location=file:///etc/cas/saml
cas.authn.samlIdp.metadata.privateKeyAlgName=RSA
cas.authn.samlIdp.metadata.requireValidMetadata=true
cas.authn.samlIdp.logout.forceSignedLogoutRequests=true
cas.authn.samlIdp.logout.singleLogoutCallbacksDisabled=false
cas.authn.samlIdp.response.skewAllowance=0
cas.authn.samlIdp.response.signError=false
cas.authn.samlIdp.response.useAttributeFriendlyName=true

I also have a JSON-based service registry configured, and have the 
following entry for the SP that I'm trying to authenticate with:

{
    "@class": "org.apereo.cas.support.saml.services.SamlRegisteredService",
    "serviceId": "https://1.2.3.4/guacamole/api/tokens";,
    "name": "GuacamoleSAML",
    "id": 1002,
    "evaluationsOrder": 1002,
    "metadataLocation": "file:///etc/cas/saml/sp-guacamole.xml"
}

and, finally, I used the web site mentioned in the CAS SAML IdP 
documentation to generate the metadata:

<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
                     validUntil="2018-02-17T03:16:28Z"
                     cacheDuration="PT604800S"
                     entityID="https://1.2.3.4/guacamole/api/tokens";>
    <md:SPSSODescriptor AuthnRequestsSigned="false" 
WantAssertionsSigned="false" 
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
        
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
        <md:AssertionConsumerService 
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                    
 Location="https://1.2.3.4/guacamole/api/ext/saml/callback";
                                     index="1" />
        
    </md:SPSSODescriptor>
</md:EntityDescriptor>

However, every time I try to authenticate with this app, I receive the 
following error:

2018-02-15 12:12:52,559 INFO 
[org.apereo.cas.support.saml.web.idp.profile.AbstractSamlProfileHandlerController]
 
- <Received SAML profile request [/cas/idp/profile/SAML2/Redirect/SSO]>
2018-02-15 12:12:52,581 ERROR 
[org.apereo.cas.support.saml.web.idp.profile.AbstractSamlProfileHandlerController]
 
- <CAS has found a match for service [https://1.2.3.4/guacamole/api/tokens] 
in registry but the match is not defined as a SAML service>

I can't seem to get much more detail - I think something must be wrong with 
my logging configuration, because I can't get any debugging.  Also, most of 
the parameters in the cas configuration file for SAML (cas.authn.samlIdp.*) 
seem to lack documentation - for example, I feel like this could be related 
to the "cas.authn.samlIdp.scope=domain.com", but there's no documentation 
on what's expected or acceptable for the scope, and whether this would 
generate the error message I'm seeing above?  Other than that, as far as I 
can tell, my JSON service entry matches the documentation, is valid JSON, 
and defines the mentioned service as a SAML service, so its unclear to me 
what's leading to this error.

Any pointers would be appreciated!

-Nick

-- 
- 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/abc5ef3d-26d5-4070-a08f-aa40db37a7fc%40apereo.org.

Reply via email to