--- title: "system.security.validateUser" description: "Tests credentials (username and password) against an authentication profile." --- # system.security.validateUser > Tests credentials (username and password) against an authentication profile. This function is used in **Python Scripting**. ## Description Tests credentials (username and password) against an authentication profile. Returns a boolean based upon whether or not the authentication profile accepts the credentials. If the authentication profile name is omitted, then the current project's default authentication profile is used. ## Client Permission Restrictions This scripting function has no [Client Permission](projects\project-properties\project-properties.md#client---permissions) restrictions. ## Syntax (Client) `system.security.validateUser(username, password, authProfile, timeout)` ### Parameters |Type|Parameter|Description| |--|--|--| |String |`username`| The username to validate.| |String |`password` | The password for the user.| |String |`authProfile` | The name of the authentication profile to run against. Optional. Leaving this out will use the project's default profile.| |Integer|`timeout` | Timeout for client-to-gateway communication. (default: 60,000ms)| ### Returns **boolean** - false(0) if the user failed to authenticate, true(1) if the username/password was a valid combination. ### Scope Client ## Syntax (Gateway) `system.security.validateUser(username, password, authProfile, timeout)` ### Parameters |Type|Parameter|Description| |--|--|--| |String |`username` |User name to validate. Required.| |String |`password` | User's password. Required.| |String |`authProfile` | Authorization profile to user for validation.| |Integer|`timeout`| Not used in gateway scripts.| ### Returns **boolean** - True if valid username/password combination. ### Scope Gateway ## Code Examples ```python title="Example #1" # This would require the current user to enter their password again before proceeding. currentUser = system.security.getUsername() password = system.gui.passwordBox("Confirm Password") valid = system.security.validateUser(currentUser, password) if valid: # do something else: system.gui.errorBox("Incorrect password") ```