# Perspective Form Submission Not Capturing Session Info

**URL:** <https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [February 18, 2026, 9:21pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044 "2026-02-18T21:21:17Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![courtneysmithisnow](https://avatars.discourse-cdn.com/v4/letter/c/5fc32e/32.png) [@courtneysmithisnow](https://forum.inductiveautomation.com/u/courtneysmithisnow)\
**Post date:** [February 18, 2026, 9:21pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/1 "2026-02-18T21:21:17Z")

</div>

I’ve configured a form submission script to record the logged in user, if one exists, as part of the form data submission. It functions as expected in the designer, but in browser I’m not seeing any session info pass through the form built in parameters. Instead I’m using the old system.perspective.getSessionInfo() and that’s working just fine.

I’m happy with my work around, but I’m puzzled why I’m not receiving any user data.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/1/01b38a9543eb232a9217cfa0d0e948fe08586ce5.png)

```python
	# sessionContext is dict-like; convert safely
	sessionDict = dict(sessionContext) if sessionContext else {}
	
	# Log keys to help diagnose auth/session structure
	logger.info("sessionDict keys: %r" % sessionDict.keys())

	# Resolve username
	userName = "No User Logged In"
	userBlock = sessionDict.get("user")

	if isinstance(userBlock, dict):
		userName = userBlock.get("userName") or userBlock.get("username") or userName
	else:
		# If userBlock is missing or not a dict, log what it is
		logger.info("userBlock type=%r value=%r" % (type(userBlock), userBlock))

	logger.info("Submitting form name=%r area=%r userName=%r sessionId=%r" % (
		name,
		formContext.get("area") if isinstance(formContext, dict) else None,
		userName,
		sessionDict.get("id")
	))

```

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/3/23a6aedb12b55891f53046dbe7879319a4cfd53a.png)

If I try to print just sessionContext from the built in form submission component, I receive the following (with IP redacted) ":

```python
{"id":"a2e3cb5d-2160-4c89-97dd-2f66d028e3d2","device":{"type":"browser","identifier":"b704d262-8bae-491a-9fb6-252ef7138628","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36","settings":{"pullToRefresh":true,"preventSleep":false},"accelerometer":{"timestamp":0,"x":0,"y":0,"z":0},"timezone":{"id":"America/Los_Angeles","utcOffset":-8}},"gateway":{"address":"redacted","timezone":{"utcOffset":-5,"id":"America/New_York","name":"Eastern Standard Time"},"connected":true},"geolocation":{"enabled":false,"permissionGranted":null,"options":{"accuracy":"balanced","maximumAge":0},"data":{"latitude":null,"longitude":null,"altitude":null,"accuracy":null,"altitudeAccuracy":null,"heading":null,"speed":null,"timestamp":null}},"locale":"en-US","timeZoneId":"America/New_York","user":{},"timestamp":1771449445311}

```

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 18, 2026, 10:15pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/2 "2026-02-18T22:15:01Z")

</div>

You don't need this ~~LLM slop~~ much "defensive" code.

You get `PyJsonObjectAdapter`, but it faithfully acts as a regular dictionary. Just treat it as such. You will always get a `sessionContext`.

`userName = sessionDict.get("user", {}).get("userName", "No User Logged In")`

---

<div class="post-metadata">

**Author:** ![courtneysmithisnow](https://avatars.discourse-cdn.com/v4/letter/c/5fc32e/32.png) [@courtneysmithisnow](https://forum.inductiveautomation.com/u/courtneysmithisnow)\
**Post date:** [February 18, 2026, 10:23pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/3 "2026-02-18T22:23:48Z")

</div>

That’s helpful from a coding standpoint, but my question is why I’m not getting information in sessionContext… Regardless of if I have a user logged in or not, I’m not getting any sessionContext and referencing that always returns ‘No User Logged In”

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 18, 2026, 10:26pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/4 "2026-02-18T22:26:09Z")

</div>

You need to drill deeper into the session--the props you want are not directly in the session. Look at the session props hierarchy in the designer.

---

<div class="post-metadata">

**Author:** ![courtneysmithisnow](https://avatars.discourse-cdn.com/v4/letter/c/5fc32e/32.png) [@courtneysmithisnow](https://forum.inductiveautomation.com/u/courtneysmithisnow)\
**Post date:** [February 18, 2026, 10:42pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/5 "2026-02-18T22:42:04Z")

</div>

I wondered about that, that maybe I was incorrectly drilling for the user information. So I printed all sessionContext to console and that’s how I discovered that I’m not getting any information in sessionContext:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/d/ed31420045f192aca8e53567b8384931af7a86f5.png)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 18, 2026, 10:50pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/6 "2026-02-18T22:50:05Z")

</div>

That shows you _are_ getting a `sessionContext`, it just doesn't have any user information.

Are you logged in, in the client session, at the time you're submitting this form?

---

<div class="post-metadata">

**Author:** ![pamato](https://avatars.discourse-cdn.com/v4/letter/p/c68b51/32.png) [@pamato](https://forum.inductiveautomation.com/u/pamato)\
**Post date:** [February 18, 2026, 10:50pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/7 "2026-02-18T22:50:40Z")

</div>

The `sessionContext.user` data is coming from the `auth.user` property in the Designer’s Perspective Session Props. However, that data is private and is hidden in the app/browser.

---

<div class="post-metadata">

**Author:** ![courtneysmithisnow](https://avatars.discourse-cdn.com/v4/letter/c/5fc32e/32.png) [@courtneysmithisnow](https://forum.inductiveautomation.com/u/courtneysmithisnow)\
**Post date:** [February 19, 2026, 4:44pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/8 "2026-02-19T16:44:01Z")

</div>

Ahh that explains why I was able to capture sessionContext.user while submitting test forms from my designer. It’s odd to me that I’m unable to access that data from the browser when system.perspective.getSessionInfo() retrieves it just fine. Would using that built in function (.getSessionInfo()) be your recommendation to gather the submitter’s username?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 19, 2026, 5:17pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/9 "2026-02-19T17:17:59Z")

</div>

If you are do this online, just use `session.props.auth.user` instead of `sessionContext.user`.

If offline, you may not **have** a user.

---

<div class="post-metadata">

**Author:** ![courtneysmithisnow](https://avatars.discourse-cdn.com/v4/letter/c/5fc32e/32.png) [@courtneysmithisnow](https://forum.inductiveautomation.com/u/courtneysmithisnow)\
**Post date:** [February 19, 2026, 5:47pm UTC](https://forum.inductiveautomation.com/t/perspective-form-submission-not-capturing-session-info/114044/10 "2026-02-19T17:47:43Z")

</div>

That did the trick, I didn’t realize I could drill into session so easily. Thank you!
