ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/ns_dev/Python/NinoCode/Tool_Box/Relativity_REST_CookieTest.py
Revision: 998
Committed: Tue Mar 17 16:54:24 2026 UTC (11 days, 2 hours ago) by nino.borges
Content type: text/x-python
File size: 5487 byte(s)
Log Message:
More testing...

File Contents

# User Rev Content
1 nino.borges 996 """
2 nino.borges 997 Relativity REST Auth Test - Cookie-Based (OIDC/SSO Instance)
3 nino.borges 996 """
4    
5     import requests
6     import json
7    
8 nino.borges 998 ROOT_SITE = "https://relmtp003.consilio.com/"
9 nino.borges 996
10 nino.borges 997 # Paste values from Chrome DevTools > Application > Cookies
11 nino.borges 996 COOKIES = {
12 nino.borges 998 "RelativityAuth": "h7LVWeZIwrlrr6q_xs1p3Mgh6iHsbLkVRHecczI3y57YEGL0ODWoLv2_tyiorLqKGOpRUCKU60HJ7ImpT5VTdP3JWgV8mIRLcDRXnr59nHuOpzjjJ1ahALdAm18YapkP5lj52HszODn1kDiy8iZWP1rYOhGNGi54sBWUSLSZ4BhNS6WGiDEf5AWEGd97hP85POPrU2DNQKU-IAUys5PmEBPzA7Cl4CxvdCqCSazGRuW2mfA8jSwr9WBwE-eXBt-ESRF5lX8YdwP1j2CJDDPf_ESkhZQ9kavMOo6D6vQ80-1dkFbvBPhdLPoS89oI8ReyLkiKycoMHRmsI4X9NveUaUv2DyvABLH7J9O8RA1F9OdSXL63O6qnWuxX0dl2M_PmmE7k56xUVPb_AK0GQZJVMxVGeB10JfoCx3ui0qvPttJ_uzQgT8wRHdnDjeYiCD6tjsQRj0bl1XCW2Dyvd1tjfEe2zCgSoojDQXbHkLhOX322HNWFfpkxsETwPwODjXTIpJ3A5CuuvMRqxLUsl-lgZv_IHdVCURn5n1m6zSWic3OfhX_OSh6vlrRds0jZr9bLeWZA4jOBy8X-x6yH7U9GWAY-5WTl9Rf3eiNnyFsD-4SZOg9fBvrheckPeqlfqqTWZcF4RllzaGMRq6dXjMyvtbQrPn1N4EMqqcuxc1FReLSiTFEKZJ_SS8bHPmiynCYR7qvpGPhbsIdl52K6sSN7TODHT49_hzyS8Zf3zBZUrrSS_CyeZB2AA1gR8ePuEH7nYSNSaSm1p7hBH3wYXKhMNo8kTK0pEmMfXw8tLtpW1gu1MIfgB1iemkdBYiP91yp46l42nUJ1ZKI5IbdLJlvx8gWLlW5sMVU5XyLMWDolb0aUL0CDHzAhPeUMsycE-rNIW5oEj2R2YyUcGEuTxomHviSYovyusQsnt2k_9N0Nt7HateWy8J-0GfkNdRDUc-JhOmE1B6K7Op8YtLTHVQ42U_0fhu1_YvzVACAYGMHDb1a3AWvmhErq6bbCFkTl2Nq05rg5D_xohHuVbbqJxYuZiJwV3SZpRbggrigajwp4nFttDOtWPlKfY1ABU5SzkczDt9D8PICOB8W0aNDPZd-oNYL9sNeOrEof6FrQq-y44AKCHFRzBbjnqrPSd7olRArKoz9q11EWpX3utkkDUOjKcYVsccq31yuzbJz2qk_mVtaw5SNoyHj-Zj-HbIYTWqvlWU5lvx8P2pAlbpDeaXouJ-syX4XDGsxMeH_hQPxKgaW2_zEdlk6MABOHhpaJBdUNlSDUzsQ4dMGGVxq82A6UkCA6SUy19H-MbiB1sp4AfrYfNI7duB_UOX8zu17Gnf-Zbr6edQND3Kz0KkF3gVSvfMWHO7oVhDZpw04DSewVucmYIrB4Zyu_wz1840lqmPqOmn5Bar_G2ooUmpRRFVZSkloO1_EmCIOyRIPYcqJuQJ1MBPv1RSOee2bsbOLRZIdm64xnBf8dU2NUSv0-RXwG5v6HvC5P4RXml5McvY4q-9skNtmQAkLvXZ8Z9mg-58N1QrtYlgZw3Jy2EBqvENDjk79w2vgoFtqBjyG_N3yfqu2JGnciX7VMpsFhaLTJDOjxe0MPxgV9AHhmxSPXLyLSjd2IJ-syxJTXwW0LILZAABg5ZbKvtjS3fcdz3NCcoFO1zewj8Dah9WfLoNLZYbog7Q5-sbhlvzt4xl0o9L6HoPda04xya5kdAYd4hp-gX-YpJsAznrUQ0SSavDslTfPPu_vTBidiB37yV2GbhDzkq1WYESufVWpU2NwkNt8knpDvJXHuIKIbJ-vvAC4PMxeZpJ5PGmO2-bUZV-VQmHDvJqOejmXUcV_Y5DH1xt5HHtXaxjc8-p8mdXGXExiEOov9K4lX_QmEqS2dRN9AP4F_l0tsfu8s_iHabM8bF-QGQn1gJupgLhIkFYbNXgx0ShvHF6RefK7iLacT5vCVPN32kkzI3VAMSBrzbF0ftwV9zzuUXmk0UaXb1AdVRZX1NwPV1De8SCvUurnPcj0ReVmCGseTMZzNiaWP4ZCYlqSvbCQhkLgqmLetfpQGfguZDVzEmrFwlNhDdko1wCE7UkZi8pbgPUaNItEv_U8-WtaaicyNb3gH6pueEepIxH58r-09xKPoTwFmi5qKleFBCrPaafze2G2YrwL6Rz4F03DpvqMid7ACs2-b8yCSiMeB9K73yEVD65lM6gAKz4zJF763C2e4VJdUg3xiQrswHuhC2G_PICRcPNYJJzzl3_FsW92HThP-5AsCk5BaUQgjGbbwfl4hMLEAy9O7CbbZTOCyzXXN-1jCsfMb8egGQHTmXIH50IQsDKFfp9mPU_-8LNxfRSwrKq5UqkJmPpn6tnYjMMFy4ilEWGVo7TwX74rudxBj_1d-C7blU4g30WIYlJNixalLr-LPQpskIjr4jTG4uiidS6IFnB2PKab8yWK2ee4fQdGhwcDW8ft_iLyg8Wc5_kkBu1IA1mdkbubZVoD-mmIqQuZHd1bJSQni8skB50jZXTe2RWHOSoqHM1GQTXGrbQz74TlA-uCRdNx7c5x2IxRKiuKh1jgEe2kIq-QJk2lrCD1SadfDaCcksUYgyntZycjDx7ut7sLJqz0Y-Z57pgNiTY2TAmK_Y0bNtreJgAZTcYKh0V1bQhhpVWkXRbXr8lTibNrnPBmTRLSdYbeh58U_",
13     "RelativityIdToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlRrbkFRTWdmZS1KMmJDeE94OXNIZ2pBcVJxTSIsImtpZCI6IjRFNDlDMDQwQzgxRjdCRTI3NjZDMkM0RUM3REIwNzgyMzAyQTQ2QTMifQ.eyJpc3MiOiJSZWxhdGl2aXR5IiwiYXVkIjoiYmQxMGE2MGQtYjhlYy00OTI4LTg0ZWUtNmZjNGYzMGQ5NjEyIiwiZXhwIjoxNzczNzYzNjMwLCJuYmYiOjE3NzM3NjMzMzAsIm5vbmNlIjoiNjM5MDkzNjAxMjg2NjAyNDc4Lk5tVmpOREZqTVdRdE5tTTNaUzAwTlRnMkxXSTVaREV0WkRnNU1EVTFPVFF6TldFMVpUUmpabVF6WTJVdFpqazRZeTAwWVdVekxXSXpPR010T0RoaE9HRXhPRGxqWldaaiIsImlhdCI6MTc3Mzc2MzMzMCwic2lkIjoiOTYxOTcxNTM1NjkyZWRlZDBlMzVkY2Q0MjJmZWE4NzciLCJzdWIiOiJlYm9yZ2VzQHJlZGdyYXZlbGxwLmNvbSIsImF1dGhfdGltZSI6MTc3Mzc2MzMzMCwiaWRwIjoiaWRzcnYiLCJyZWxfdWFpIjoiMTQ5NzIyMjE5IiwicmVsX3VmbiI6IkVtYW51ZWwgTWFubnkiLCJyZWxfdWxuIjoiQm9yZ2VzIiwicmVsX3VuIjoiZWJvcmdlc0ByZWRncmF2ZWxscC5jb20iLCJyZWxfYWNjZXNzIjoiR3JhbnRBY2Nlc3MiLCJjYW5fY2hhbmdlX3Bhc3N3b3JkIjoiVHJ1ZSIsInJlbF9haWQiOiIxYjIyMWIxYi0yM2MzLTQ4MjYtYTc4YS1kMjRkZDk2ZWUzNmYiLCJvcl9sYiI6IkZhbHNlIiwicmVsX2lucyI6IkYzMTAxOEQyLUEzODItNDEyQS1COTFFLUYxMjcwQTVDODY0QSIsInJlbF9vcmlnaW4iOiI5Ni4yNTIuMTEuNjYiLCJhbXIiOlsiT3BlbklEIENvbm5lY3QiXX0.WDHKlqAz-q1vrYVrHlt8fnAs7PH55KncoAHtrdbIblx_IVgFfcxuPoabVZN6wSaroiBaQ5Fllyo6MRRxF96I1nwdQ7vlhiAc83N2GVXu8UMyQSsvcp5p3cnSKGOcOrkqxEMT79l45x9ZwgIINzBRO8-zPZ6VOyrhEhYxsFztj0FxyDDTYDdbXy_4DCM2evtv38mkAWmvVBg9hMEcaseROZ6WY3JuP0i0OGxZ8aShQHNIT2dpbzSeuaFeeyEd4wEatYcrxtg19iCkNCkHaRVcnmkzzr9Kd8SwHpMXdVz2W4dStyhSAF2yCYjeN50rIKSOAI8AJSia7Yldl0y_XDfZaw",
14     "CSRFHolder": "fd3862caf6f64d9fa72eec965da5395b639093421314526546",
15     "dRelativityId": "cquc330ayrdo4k15jtjwvn4y-hfi1cloglwbabcscv5tmg5ev",
16     "RULB": "1",
17     "a99fd71e-eb1b-4750-a391-5ad8cfe32068": "85969b73-2c1a-4055-860d-5052c0ceac24",
18 nino.borges 996 }
19    
20 nino.borges 997 # The CSRF header value should match the CSRFHolder cookie value
21     CSRF_TOKEN = "paste_CSRFHolder_value_here"
22 nino.borges 996
23     headers = {
24     "X-CSRF-Header": CSRF_TOKEN,
25     "Content-Type": "application/json"
26     }
27    
28     url = f"{ROOT_SITE}/Relativity.REST/api/Relativity.Objects/workspace/-1/object/query"
29     payload = {
30     "request": {
31     "objectType": {"artifactTypeID": 8},
32     "fields": [{"Name": "Name"}],
33     "rowCondition": ""
34     },
35     "start": 1,
36     "length": 5
37     }
38    
39     r = requests.post(url, headers=headers, cookies=COOKIES,
40     data=json.dumps(payload), timeout=15)
41    
42     print(f"Status: {r.status_code}")
43     if r.status_code == 200:
44     data = r.json()
45     print(f"Total workspaces visible: {data.get('TotalCount')}")
46     for obj in data.get("Objects", []):
47     print(f" - {obj.get('Values', ['?'])[0]}")
48     else:
49 nino.borges 997 print(r.text[:500])