WebTerminal not working with HealthConnect 2025.1
Hi,
I have just installed WebTerminal on my local instance of Health Connect 2025.1, but it does not work and returns a HTTP 401 error.
Can any one help, as I have never installed WebTerminal before?
Has there been any changes in Health Connect to stop it working in version 2025.1?
Thanks.
Neil
Comments
HTTP 401 means "Unauthorized" check that the web application /terminal has the correct credentials and correct authentication methods (password, LDAP etc.)
(the /terminalsocket should be always unauthenticated, its the default)
to help you resolve this, you may use auditing, to see if there is a "login failure" when you try to access.
It's definitely a login issue as I'm not always prompted to login or provide any credentials.
I have no idea why I don't always get a login prompt, but when I do WebTerminal does work.
Credentials are not requested, as most likely your existing session has not expired yet. By default, the timeout is 1 hour (see the "WebTerminal.Engine:WSKEYEXPIRES" class parameter).
Another challenge is to enable WebSocket protocol on your webserver
I just had the "pleasure" to do this for IIS 👺
It's not a default
Yes, I had enable WebSocket protocol on IIS, but when I use IIS, rather than InterSystems Private Web Server (PWS) I get a 404 error, rather than 401.
I'm trying this on two different instances, one using the PWS and one using IIS, with different errors, 401 or 404.
Same here.
Since there is an open issue on Github https://github.com/intersystems-community/webterminal/issues/158 and the maintainer states that it's not being actively maintained, I assume there is no easy fix?
I will assume that you are using "Normal" (in which the user _SYSTEM is turned off) or even "Locked Down" (the user "UnknownUser" has no roles at all): Initial User Security SettingsDOC
I'm using "Locked Down", IRIS 2025.2CE and ran into a lot of different bugs when using WebTerminal v4.9.5:
- <PROTECT>endSession+25^%SYS.cspServer
- <LICENSE LIMIT EXCEEDED>
- etc.
The problem can be solved in two ways: either fix the source code or add the missing role. I chose the latter.
In my case, it is enough for the web application /terminalsocket to add the %Admin_Secure role in addition to the existing roles. After that, it doesn't hurt to clean up all existing sessions:
kill ^WebTerminal("AuthUser")If the <LICENSE LIMIT EXCEEDED> error persists after this, restart the IRIS instance.
Looks similar to at least part of the issue I covered in https://community.intersystems.com/post/webterminal-broken-iris-20242
could you try iterm, how is it working?
https://openexchange.intersystems.com/package/iterm
@Dmitry Maslennikov do you intend to address any of the 5 open issues on the iTerm repo, one of which is IMO a significant security vulnerability I reported more than a year ago?
ahh, yes, I'll try to have a look
with so many projects on my hands quite easy to get distracted, and since it's an open-source project not easy to find a time to properly maintain them