<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SAML SSO in Javascript app in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/saml-sso-in-javascript-app/m-p/408962#M37662</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you get this issue fixed ? I am having the same problem with ESRI Federated Server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Astha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Jan 2020 13:39:46 GMT</pubDate>
    <dc:creator>AsthaDevra1</dc:creator>
    <dc:date>2020-01-21T13:39:46Z</dc:date>
    <item>
      <title>SAML SSO in Javascript app</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/saml-sso-in-javascript-app/m-p/408961#M37661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I'm having a hard time figuring out how to achieve a Single Sign On experience from a JS application. Let me explain in detail my situation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Portal for ArcGIS 10.4.1 federated with an ArcGIS Server 10.4.1&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;Identity has been federated:&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;I set up a SAML2 compliant identity provider, namely IdentityServer4&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;Following &lt;A href="https://enterprise.arcgis.com/en/portal/10.4/administer/windows/configuring-a-saml-compliant-identity-provider-with-your-portal.htm"&gt;https://enterprise.arcgis.com/en/portal/10.4/administer/windows/configuring-a-saml-compliant-identity-provider-with-your-portal.htm&lt;/A&gt; (Service provider initiated logins) I configured it as the identity provider&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;I can now&amp;nbsp;browse to the Portal, be redirected to the IdentityServer4 login page and login using the configured enterprise logins&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;In Portal I have created a group and added some users to that group&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;I created a Tile Layer item based on an ArcGis Server Map Service and I shared it with the above-mentioned group&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;I created a new Javascript application that:&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;Authenticates against the IdentityServer and obtains an access token from that&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;References the ArcGIS Javascript API 4.11 to show a map&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;Adds the Tile Layer item to the map&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I got until now is the ESRI authentication dialog appearing as soon as I load the tile layer.&lt;/P&gt;&lt;P&gt;What I want is to access the Tile Layer using the token that I obtained from the IdentityServer, without the user having to sign in again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the JS code I use to display the map and the Tile Layer:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; map = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;new&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; Map({&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layers: [&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;new&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; TileLayer({&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;url: &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515;"&gt;basemapUrl&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;})&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;]&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;});&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; view = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;new&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; MapView({&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; container: &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515;"&gt;"viewDiv"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; esriConfig.portalUrl = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515;"&gt;'http://atlhqmvmsdev4.eusc.europa.eu/arcgis'&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; portal = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;new&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; Portal({ isPortal: &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;true&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; });&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; portal.authMode = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515;"&gt;"auto"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; portal.load().then(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; () {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Layer.fromPortalItem({&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; portalItem: {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515;"&gt;"1b4c51aa3feb42bba71ae02195e03f75"&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: green;"&gt;// ID of the Tile Layer item&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .then(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; (layer) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.add(layer);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mgr.getUser().then(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue;"&gt;function&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt; (user) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esriId.registerToken({&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; token: user.access_token,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server: &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515;"&gt;portalUrl&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black;"&gt;What am I missing? Any hint or clarification is very welcome!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 May 2019 16:20:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/saml-sso-in-javascript-app/m-p/408961#M37661</guid>
      <dc:creator>StefanoTassara</dc:creator>
      <dc:date>2019-05-14T16:20:46Z</dc:date>
    </item>
    <item>
      <title>Re: SAML SSO in Javascript app</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/saml-sso-in-javascript-app/m-p/408962#M37662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you get this issue fixed ? I am having the same problem with ESRI Federated Server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Astha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jan 2020 13:39:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/saml-sso-in-javascript-app/m-p/408962#M37662</guid>
      <dc:creator>AsthaDevra1</dc:creator>
      <dc:date>2020-01-21T13:39:46Z</dc:date>
    </item>
  </channel>
</rss>

