Does anyone have a solution for being able to synchronize directories in crowd prgrammatically? It can be over HTML, on the commandline in BASH, anything. We need to have a sync called immediately as part of an integrated workstream and a delay waiting for a scheduled/regular sync is not acceptable.
Right now there is no such REST API available in Crowd, but speaking technically you can do it using HTML manipulation, and hitting a certain URL.
I cannot provide you details about above both, but you can check out you Crowd's directory view, and capture the request which it makes to backend, when you hit 'Synchronize'
Thanks,
Gaurav Agarwal
Thanks Gaurav. I have been trying to do this for some time; each time I hit the URL I get a login error. I have set up cookies / sessions / all manner of authentication and still cannot get this authorised. Do you have any idea about authorising this call?
Thanks for your response
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can you paste the HAR files of the request that you are making, so that I can inspect and tell you what's wrong.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
curl -X GET -u "adminUsr:adminPW" --silent --output /dev/null -c - 'https://jiraURL.com/login' --insecure
Output is:
# Netscape HTTP Cookie File
# http://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_domain.com FALSE /jira FALSE 0 JSESSIONID JSESSVALUE
#HttpOnly_.domain.com TRUE / FALSE 0 crowd.token_key CTOKENVALUE
domain.com FALSE /jira FALSE 0 atlassian.xsrf.token AXTOKENVALUE
Then using those values:
curl -X POST -H "Accept: application/json" -b 'JSESSIONID=$JSESSVALUE;crowd.token_key=$CTOKENVALUE;atlassian.xsrf.token=$AXTOKENVALUE' 'https://crowdURL.com/crowd/console/secure/directory/synchconnectorcache!execute.action?ID=6553602&atl_token=$CTOKENVALUE' --insecure
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Richard Heasman ,
One problem, that I can spot right away is that you are logging in to Jira, but using the JSESSIONID, and AXTOKENVALUE of Jira in Crowd.
It will not work, Crowd is a separate web application, you can use the CTOKENVALUE given by Jira to login to Crowd, but you would need to get the HTML page of directory view in Crowd, and then capture the XSRF token and JSESSIONID from this page's cookies header, and then use it in the final call you are making.
Thanks,
Gaurav
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Guarav - yes I know it points at JIRA, I found another post to indicate this was the way to go.. Ok then - following your guidance, I've tried this:
curl -X GET -u "adminUsr:adminPW" --silent --output /dev/null -c - 'https://CrowdURL/crowd/console/secure/directory/synchconnectorcache' --insecure
response:
# Netscape HTTP Cookie File
# http://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_DOMAIN.COM FALSE /crowd FALSE 0 JSESSIONID JSESSVALUE
curl -X POST -H "Accept: application/json" -b 'JSESSIONID=$JSESSVALUE 'https://CrowdURL/crowd/console/secure/directory/synchconnectorcache!execute.action?ID=6553602&atl_token=$JSESSVALUE' -vvv --insecure
Still nothing.
I accept I'm a little green in the web transfer area - would you be able to give me an example?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.