Script Help in AttributeDefinition

Jann Malenkoff jannmalenkoff at gmail.com
Wed May 31 00:47:20 EDT 2017


Hello:

I'm having a challenge w.r.t migrating a script from v2 to v3 in
'attribute-resolver.xml'......it is a unique business workflow but I have
to port it.

A) There is Step1Entitlements --- which marshalls a number of other
entitlements
B) There is Step2Entitlements --- which checks for presence of 'text' in
entitlement value -- and subsequently generate a new entitlement (depending
on the value)
C) The script appears to calculate logic in Step B above --- but does not
return the value --- instead the following is logged: "Attribute Definition
'Step2Entitlements': scripted attribute 'Step2Entitlements': return initial
attribute unchanged"

Any ideas what I am missing?


(A)
<resolver:AttributeDefinition xsi:type="ad:Simple" id="Step1Entitlements">

                    <resolver:Dependency ref="StudentEntitlement" />
                    <resolver:Dependency ref="FacultyEntitlement" />
                    <resolver:Dependency ref="StaffEntitlement"
/>

                      <resolver:AttributeEncoder xsi:type="enc:SAML2String"
xmlns="urn:mace:shibboleth:2.0:attribute:encoder"

name="urn:mace:dir:attribute-def:Step1Entitlements"
                                friendlyName="Step1Entitlements" />

          </resolver:AttributeDefinition>


(B)
         <resolver:AttributeDefinition id="Step2Entitlements"
xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad"
sourceAttributeID="Step1Entitlements">
                    <resolver:Dependency ref="Step1Entitlements" />
                    <resolver:AttributeEncoder xsi:type="SAML2String"
xmlns="urn:mace:shibboleth:2.0:attribute:encoder"

name="urn:mace:dir:attribute-def:Step2Entitlements"
                                friendlyName="Step2Entitlements" />


                        <Script>
                        <![CDATA[
                                load("nashorn:mozilla_compat.js");

importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);
                                importPackage(Packages.org.slf4j);



                                step2Marshalling = new
BasicAttribute("step2Marshalling");


                                if (typeof Step1Entitlements != 'undefined')
                                {


                                    if (Step1Entitlements != null ||
Step1Entitlements != "" || Step1Entitlements != " ")
                                    {

                                        value =
Step1Entitlements.getValues().get(0);

                                        if
((value.toLowerCase().contains("staff") ||
value.toLowerCase().contains("faculty")) && num < 1)
                                        {

Step1Entitlements.getValues().add("Employee FooBar");
                                        }
                                        else
                                        {

Step1Entitlements.getValues().add("Student FooBar");
                                        }
                                    }
                                    else
                                    {
                                        logger.info("Values are null");
                                    }

                                 }
                                 logger.info("Values of Step2Entitlements
are: " + Step2Entitlements.getValues());

                          ]]>
                      </Script>
          </resolver:AttributeDefinition>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20170530/178d2c92/attachment.html>


More information about the users mailing list