Closed nialloconnor closed 6 years ago
An example workaround for now for anyone googling this, is to provide a list of maps. E.g :
...metadata.providers: [[ping: '.....']]
I think it would be good to tidy this up. I've tentatively placed it for future version 3.3.1.
Since our 3.3.0 update we have reverted to the unnested configuration.
application.groovy
...providers = [ping: 'file.xml']
application.yml
...providers:
ping: 'file.xml'
In version 3.1.2 there was a change to how the metadata providers block was parsed in SpringSecuritySamlGrailsPlugin.groovy that breaks with the example config and the intention of the change isn't clear. The change suggests there is an extra layer of nesting.
conf.saml.metadata.providers.each { indivProv -> indivProv.each {k,v ->
And results in the following stack
groovy.lang.MissingMethodException: No signature of method: org.grails.plugin.springsecurity.saml.SpringSecuritySamlGrailsPlugin$_doWithSpring_closure1$_closure7$_closure21.doCall() is applicable for argument types: (java.util.LinkedHashMap$Entry) values: [customer=/tomcat/resources/scri-ingress-metadata.xml] Possible solutions: doCall(java.lang.Object, java.lang.Object), findAll(), findAll(), isCase(java.lang.Object), isCase(java.lang.Object) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:286) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024) at groovy.lang.Closure.call(Closure.java:414) at groovy.lang.Closure.call(Closure.java:430) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2030) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1890) at org.codehaus.groovy.runtime.dgm$159.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at org.grails.plugin.springsecurity.saml.SpringSecuritySamlGrailsPlugin$_doWithSpring_closure1$_closure7.doCall(SpringSecuritySamlGrailsPlugin.groovy:144)