<?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: invalid token for portaladmin/security/users/createUser in ArcGIS REST APIs and Services Questions</title>
    <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/1006593#M3626</link>
    <description>&lt;P&gt;for the same problem using the portal api from python (requests) that solution worked for me.&lt;/P&gt;&lt;LI-CODE lang="python"&gt;def create_user(uri, params, args, token):
    # uri: portal/portaladmin/security/users/createUser
    data = {"username":params['username'], "password":params['password'], "firstname":params['firstname'], "lastname":params['lastname'], "role":params['role'], "level":params['level'], "email":params['email'], "description":params['description'], "provider":params['provider'], "userLicenseTypeId":params['userLicenseTypeId'], "f": "json", "token": token}

    header = {"referer": "https://{}/portal".format(args.portal_host)}
    response = requests.post(url="https://{}/{}".format(args.portal_host, uri), data=data, headers=header)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;before adding the header to post i was getting:&lt;BR /&gt;&amp;gt;response.json()&lt;/P&gt;&lt;P&gt;{'error': {'code': 500, 'message': 'Invalid token.', 'details': None}}&lt;/P&gt;&lt;P&gt;after adding the header:&lt;/P&gt;&lt;P&gt;{'status': 'success'}&lt;/P&gt;</description>
    <pubDate>Thu, 03 Dec 2020 13:29:58 GMT</pubDate>
    <dc:creator>maxsquires2</dc:creator>
    <dc:date>2020-12-03T13:29:58Z</dc:date>
    <item>
      <title>invalid token for portaladmin/security/users/createUser</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/303096#M1496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Everybody,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we have Portal for ArcGIS 10.5.1 (federated with AGS 10.5.1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I try to use REST API to manage users in .net console application (using RestSharp).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To do that, I get a token on "&lt;EM style="color: #339966;"&gt;&lt;STRONG&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;{myAliasPortal}/arcgis/sharing/rest/generateToken&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/EM&gt;"&lt;/P&gt;&lt;P&gt;Then I check if my user exists with &lt;SPAN&gt;"&lt;EM style="color: #339966;"&gt;&lt;STRONG&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;{myAliasPortal}/&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM style="color: #339966;"&gt;&lt;STRONG&gt;arcgis/sharing/rest/community/users/{usermame}&lt;/STRONG&gt;&lt;/EM&gt;"&amp;nbsp; (it's work)&lt;/P&gt;&lt;P&gt;Then I want to add user with&amp;nbsp;&lt;SPAN&gt;"&lt;SPAN style="color: #339966;"&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;{myAliasPortal}/&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #339966;"&gt;&lt;STRONG&gt;&lt;EM&gt;arcgis/portaladmin/security/users/createUser&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;" and I have this error :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;&lt;SPAN&gt;{"error":{"code":500,"message":"java.lang.Exception: The server at '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2F" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;{machineName}:7443/arcgis/sharing/rest/community/createUser' returned an error. Invalid token. []","details":null}}&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's a code 500 (not a 498).&lt;/P&gt;&lt;P&gt;It's strange because the server url returned :&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;has machine name and port instead of aliasName (webAdaptor)&lt;/LI&gt;&lt;LI&gt;is mixed with "sharing/rest" and "portaladmin" url (for me, "createUser" exist only on portaladmin and not on sharing/rest).&lt;/LI&gt;&lt;LI&gt;java error, not a direct rest API error ?&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have idea to fix the problem please ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find bellow the code :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;static string getToken(string username, string password, string geoportalUrl)&lt;BR /&gt; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;RestClient client = new RestClient(geoportalUrl);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;RestRequest request = new RestRequest("arcgis/sharing/rest/generateToken", Method.POST);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("f", "json");&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("username", username);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("password", password);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("client", "referer");&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("referer", geoportalUrl + "/arcgis");&lt;BR /&gt;&amp;nbsp; &amp;nbsp;IRestResponse response = client.Execute(request);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;var content = response.Content;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;ArcGISToken t = JsonConvert.DeserializeObject&amp;lt;ArcGISToken&amp;gt;(content.ToString());&lt;BR /&gt;&amp;nbsp; &amp;nbsp;return t.token; &lt;BR /&gt; }&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static PortalUser createUser(string username, string firstname, string lastname, string role, &lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string level, string email, string provider, &lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string geoportalUrl, string token)&lt;BR /&gt; {&lt;BR /&gt; &amp;nbsp; &amp;nbsp;RestClient client = new RestClient(geoportalUrl);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;RestRequest request = new RestRequest("arcgis/portaladmin/security/users/createUser", Method.POST);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("username", username);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("firstname", firstname);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("lastname", lastname);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("role", role);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("level", level);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("email", email);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("provider", provider); //"enterprise"&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("token", token);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;request.AddParameter("f", "json");&lt;BR /&gt;&amp;nbsp; &amp;nbsp;IRestResponse response = client.Execute(request);&lt;BR /&gt;&amp;nbsp; &amp;nbsp;var content = response.Content;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;and the call :&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;string adminUsername = "adminaccount";&lt;BR /&gt; string adminPassword = "password";&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;string geoportalUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fgeoportal.company.com" rel="nofollow" target="_blank"&gt;https://geoportal.company.com&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;string token = getToken(adminUsername, adminPassword, geoportalUrl);&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;createUser("JOHNDOE", "John", "Doe", "viewer","1", "&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:john.doe@company.com"&gt;john.doe@company.com&lt;/A&gt;&lt;SPAN&gt;", "enterprise", geoportalUrl, token);&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Edit&lt;/STRONG&gt; : if I generate token with&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;request.AddParameter("client", "requestip");&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I get this error :&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;{"error":{"code":498,"message":"Invalid Token.","details":["Token would have expired, regenerate token and send the request again.","If the token is generated based on the referrer make sure the referrer information is available with every request in header."]}}&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2018 13:18:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/303096#M1496</guid>
      <dc:creator>SunSun</dc:creator>
      <dc:date>2018-03-28T13:18:52Z</dc:date>
    </item>
    <item>
      <title>Re: invalid token for portaladmin/security/users/createUser</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/303097#M1497</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using token without referer doesn't work. It's mandatory to use token with referer.&lt;/P&gt;&lt;P&gt;Then, it's means to add referer in the header of the request :&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;request.AddHeader("referer", geoportalUrl + "/arcgis");&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;and it's works&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, the role to transmit is an ID and not the name. To find the ID : &lt;A class="unlinked"&gt;https://portalUrl/arcgis/sharing/rest/portals/self/roles&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a good day.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Mar 2018 09:15:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/303097#M1497</guid>
      <dc:creator>SunSun</dc:creator>
      <dc:date>2018-03-29T09:15:38Z</dc:date>
    </item>
    <item>
      <title>Re: invalid token for portaladmin/security/users/createUser</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/303098#M1498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Had the same problem but adding referer didn;t work -&amp;nbsp;&lt;A href="https://community.esri.com/message/836822-javalangexception-invalid-token"&gt;https://community.esri.com/message/836822-javalangexception-invalid-token&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2019 10:37:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/303098#M1498</guid>
      <dc:creator>MikeButt</dc:creator>
      <dc:date>2019-03-08T10:37:44Z</dc:date>
    </item>
    <item>
      <title>Re: invalid token for portaladmin/security/users/createUser</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/1006593#M3626</link>
      <description>&lt;P&gt;for the same problem using the portal api from python (requests) that solution worked for me.&lt;/P&gt;&lt;LI-CODE lang="python"&gt;def create_user(uri, params, args, token):
    # uri: portal/portaladmin/security/users/createUser
    data = {"username":params['username'], "password":params['password'], "firstname":params['firstname'], "lastname":params['lastname'], "role":params['role'], "level":params['level'], "email":params['email'], "description":params['description'], "provider":params['provider'], "userLicenseTypeId":params['userLicenseTypeId'], "f": "json", "token": token}

    header = {"referer": "https://{}/portal".format(args.portal_host)}
    response = requests.post(url="https://{}/{}".format(args.portal_host, uri), data=data, headers=header)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;before adding the header to post i was getting:&lt;BR /&gt;&amp;gt;response.json()&lt;/P&gt;&lt;P&gt;{'error': {'code': 500, 'message': 'Invalid token.', 'details': None}}&lt;/P&gt;&lt;P&gt;after adding the header:&lt;/P&gt;&lt;P&gt;{'status': 'success'}&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2020 13:29:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/1006593#M3626</guid>
      <dc:creator>maxsquires2</dc:creator>
      <dc:date>2020-12-03T13:29:58Z</dc:date>
    </item>
    <item>
      <title>Re: invalid token for portaladmin/security/users/createUser</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/1261803#M4389</link>
      <description>&lt;P&gt;I had the same issue and this worked! Thanks!&lt;/P&gt;</description>
      <pubDate>Sat, 25 Feb 2023 19:45:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/invalid-token-for-portaladmin-security-users/m-p/1261803#M4389</guid>
      <dc:creator>LindseyDanforth_Boulder</dc:creator>
      <dc:date>2023-02-25T19:45:29Z</dc:date>
    </item>
  </channel>
</rss>

