# Facial recognition for login

**URL:** <https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [December 5, 2025, 12:12pm UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643 "2025-12-05T12:12:50Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![liam1](https://avatars.discourse-cdn.com/v4/letter/l/e68b1a/32.png) [@liam1](https://forum.inductiveautomation.com/u/liam1)\
**Post date:** [December 5, 2025, 12:12pm UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/1 "2025-12-05T12:12:50Z")

</div>

Hi all,

Is there a way to login a user via scripting?

I have a setup where I can scan a users face, verify they exist in database and get their user id, all I need to do is login them automatically once this is done.

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![JVDM](https://avatars.discourse-cdn.com/v4/letter/j/ac8455/32.png) [@JVDM](https://forum.inductiveautomation.com/u/JVDM)\
**Post date:** [December 5, 2025, 12:18pm UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/2 "2025-12-05T12:18:33Z")

</div>

After verifying whether the user is in the database, you could - instead of using their userID - login with the following function: [system.perspective.login | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.3/appendix/scripting-functions/system-perspective/system-perspective-login)

This would, however, start a session without authentication, so you wouldn’t directly be able to see which user is 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:** [December 5, 2025, 1:52pm UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/3 "2025-12-05T13:52:11Z")

</div>

> [@JVDM](#):
>
> you could

No, you cannot. That function doesn't allow injecting a desired userID, because Identity Providers don't allow it. (And it would be a huge security hole.)

> [@liam1](#):
>
> Is there a way to login a user via scripting?

Not in Perspective.

> [@liam1](#):
>
> scan a users face

You would need to use an external Identity Provider that securely did that **itself**. (You could write one--SAML is an open standard.)

---

<div class="post-metadata">

**Author:** ![JVDM](https://avatars.discourse-cdn.com/v4/letter/j/ac8455/32.png) [@JVDM](https://forum.inductiveautomation.com/u/JVDM)\
**Post date:** [December 5, 2025, 2:15pm UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/4 "2025-12-05T14:15:34Z")

</div>

My wording may not have made it clear, but I did not mean the user would be logged in. I was suggesting the facial recognition outside of ignition already verifies the user, so OP could make a choice to not use any extra level of verification and just open an unauthorized session after facial recognition is complete.

---

<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:** [December 5, 2025, 2:19pm UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/5 "2025-12-05T14:19:53Z")

</div>

> [@JVDM](#):
>
> open an unauthorized session

??

A user already has that just by opening Perspective, which they would have to have done to be able to use `system.perspective.*`. 🤷‍♂️

You are essentially saying to just store the result (in a session var, perhaps) and just hand-roll all further security. Not terrible, but cuts off a lot of security options.

---

<div class="post-metadata">

**Author:** ![liam1](https://avatars.discourse-cdn.com/v4/letter/l/e68b1a/32.png) [@liam1](https://forum.inductiveautomation.com/u/liam1)\
**Post date:** [December 8, 2025, 5:48am UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/6 "2025-12-08T05:48:37Z")

</div>

The user in my situation needs to be verified , ie logged in with a session on the Ignition gateway.

---

<div class="post-metadata">

**Author:** ![liam1](https://avatars.discourse-cdn.com/v4/letter/l/e68b1a/32.png) [@liam1](https://forum.inductiveautomation.com/u/liam1)\
**Post date:** [December 8, 2025, 5:49am UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/7 "2025-12-08T05:49:32Z")

</div>

How hard is it to write and setup a one-SAML?

---

<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:** [December 8, 2025, 1:20pm UTC](https://forum.inductiveautomation.com/t/facial-recognition-for-login/112643/8 "2025-12-08T13:20:53Z")

</div>

I've never done it. But it is an open standard with open documentation.
