<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Didier,<br>
    <br>
    I've made the syntax a little bit more clever, in that the spaces
    either side of the "+" are optional, it will just ignore any
    whitespace either side of any "+". And just like with the normal
    attribute values any text that isn't a valid attribute name will
    just be inserted as is (like 'My company' is in your example.<br>
    <br>
    So theoretically you could have<br>
        <tt>'displayName' => 'fname + lname + (user)',</tt><br>
    And it would show <tt>displayName</tt> to be '<tt>Didier Metral
      (user)</tt>'.<br>
    Why you might want to do that, not a clue. And you probably don't
    want to. But you can... :)<br>
    <br>
    I've just tested it, and my code appears to work nicely.<br>
    This will be in the next beta release for you.<br>
    <br>
    So then you'll be able to use<br>
    <tt>  'samlAttributesMap' => array(</tt><tt><br>
    </tt><tt>    'mail' => 'mail',</tt><tt><br>
    </tt><tt>    'uid' => 'uid',</tt><tt><br>
    </tt><b><tt>    'displayName' => 'fname+lname',</tt></b><tt><br>
    </tt><tt>    'organization' => 'My company'),</tt><br>
    and it should work how you expect.<br>
    <br>
    Cheers,<br>
    Jules.<br>
    <br>
    <div class="moz-cite-prefix">On Wed 24/02/21 11:19, Didier METRAL
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:WM!a29aca5d10dbea1e0063a8604c95b359f70ce0b1369c89bff0257b86d8b6ed46854daa4015484d32d290268055041303!@mx.jul.es">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi,
        <div><br>
        </div>
        <div>In Google we must set attribute mapping so we can send the
          good name for attribute.</div>
        <div>Here is the mapping we set in Google :</div>
        <div><img src="cid:part1.DC9rVKF0.00Xilsr4@Zend.To"
            alt="image.png" class="" width="562" height="205"><br>
        </div>
        <div><br>
        </div>
        <div>Here is the extract of the 
          preferences.php  file :<br>
        </div>
        <div>  'samlAttributesMap' => array(<br>
              'mail' => 'mail',<br>
              'uid' => 'uid',<br>
              'displayName' => 'fname',<br>
              'organization' => 'My company'),<br>
        </div>
        <div><br>
        </div>
        <div>If we could use a syntaxe like "
          'fname + lname'" it should be OK (must have a space between
          fname and lname ;) ) </div>
        <div><br>
        </div>
        <div>Regards,</div>
        <div>--</div>
        <div>
          <div>
            <div dir="ltr" class="gmail_signature"
              data-smartmail="gmail_signature">
              <div dir="ltr">
                <div>Didier Métral</div>
              </div>
            </div>
          </div>
          <br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">Le mer. 24 févr. 2021 à 11:03,
          Jules <<a href="mailto:Jules@zend.to"
            moz-do-not-send="true">Jules@zend.to</a>> a écrit :<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div> Hi Didier,<br>
            <br>
            Please can you send me exactly what your preferences.php
            setting for 'samlAttributesMap' looks like at the moment?<br>
            I don't know what the Google attributes map would look like,
            so would like to see the syntax to ensure that whatever
            solution I end up with does actually work with Google!<br>
            <br>
            And what are the "right-hand-side" values in that map that
            would give you the first name and last name?<br>
            <br>
            I'm thinking of a syntax where you could put something like<br>
            <tt>'displayName' => '<a
                href="http://schemas.microsoft.com/identity/claims/forename"
                target="_blank" moz-do-not-send="true">http://schemas.microsoft.com/identity/claims/forename</a>
              + <a
                href="http://schemas.microsoft.com/identity/claims/familyname"
                target="_blank" moz-do-not-send="true">http://schemas.microsoft.com/identity/claims/familyname</a>',</tt><br>
            in the map. Then my code would concatenate the 2 with a
            single space in between.<br>
            <br>
            Would that work as a solution?<br>
            <br>
            <div>Cheers,<br>
              Jules.<br>
              <br>
              On Tue 23/02/21 15:06, Didier METRAL via ZendTo wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">Hello,
                <div><br>
                </div>
                <div>We just installed ZendTo in my company but we're
                  facing a "problem" : We can't set displayName</div>
                <div>We are using Google for SAML authentification and
                  Google can send user first name and last name but not
                  in one attribute.</div>
                <div>The only attributes we can set in SamlAttributesMap
                  are mail, uid displayName and Organization.</div>
                <div>Is there a way to use First Name and Last Name to
                  generate displayName ?</div>
                <div><br clear="all">
                  <div>
                    <div dir="ltr">
                      <div dir="ltr">
                        <div dir="ltr">
                          <div dir="ltr">
                            <div dir="ltr">
                              <div dir="ltr">
                                <div dir="ltr">
                                  <div dir="ltr">
                                    <div dir="ltr">
                                      <div dir="ltr">
                                        <div dir="ltr">
                                          <div dir="ltr">
                                            <div dir="ltr">
                                              <p style="margin:0cm 0cm
                                                12pt">Regards,</p>
                                              <p style="margin:0cm 0cm
                                                12pt"><b><span
                                                    style="font-size:10pt;font-family:Arial,sans-serif">Didier
                                                    METRAL</span></b><br>
                                              </p>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <br>
              <fieldset></fieldset>
              <pre>_______________________________________________
ZendTo mailing list
<a href="mailto:ZendTo@zend.to" target="_blank" moz-do-not-send="true">ZendTo@zend.to</a>
<a href="http://jul.es/mailman/listinfo/zendto" target="_blank" moz-do-not-send="true">http://jul.es/mailman/listinfo/zendto</a>
</pre>
            </blockquote>
            <br>
            <pre cols="72">Jules

-- 
Julian Field MEng CEng CITP MBCS MIEEE MACM

'Always do sober what you said you'd do drunk. That will teach you
 to keep your mouth shut.' - Ernest Hemingway

<a href="http://www.Zend.To" target="_blank" moz-do-not-send="true">www.Zend.To</a>
Twitter: @JulesFM
</pre>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">Jules

-- 
Julian Field MEng CEng CITP MBCS MIEEE MACM

'Is the Holocaust an aberration, or a reflection of who we really are?'
 - Holocaust Museum, Berlin

<a class="moz-txt-link-abbreviated" href="http://www.Zend.To">www.Zend.To</a>
Twitter: @JulesFM
</pre>
  </body>
</html>