@iobroker/socket-classes 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1018,6 +1018,11 @@ Unsubscribe from file changes in ioBroker DB
1018
1018
  Placeholder for the next version (at the beginning of the line):
1019
1019
  ### **WORK IN PROGRESS**
1020
1020
  -->
1021
+ ### 2.2.3 (2025-04-01)
1022
+
1023
+ * (@GermanBluefox) Changed the order of authentications. Basic authentication will be checked as the last one.
1024
+ * (@GermanBluefox) Added the setting to disable basic authentication
1025
+
1021
1026
  ### 2.2.2 (2025-03-29)
1022
1027
 
1023
1028
  * (@GermanBluefox) Corrected functionality as a client
@@ -46,6 +46,7 @@ export interface SocketSettings {
46
46
  whiteListSettings?: Record<string, WhiteListSettings>;
47
47
  extensions?: (socket: WebSocketClient) => void;
48
48
  port?: number;
49
+ noBasicAuth?: boolean;
49
50
  secret: string;
50
51
  compatibilityV2?: boolean;
51
52
  forceWebSockets?: boolean;
@@ -45,86 +45,88 @@ class SocketCommon {
45
45
  }
46
46
  /** Get user from pure WS socket (used in `iobroker.admin` and `iobroker.ws`) */
47
47
  __getUserFromSocket(socket, callback) {
48
- let user;
49
- let pass;
50
- if (socket.conn.request.headers?.authorization?.startsWith('Basic ')) {
51
- const auth = Buffer.from(socket.conn.request.headers.authorization.split(' ')[1], 'base64').toString('utf8');
52
- const parts = auth.split(':');
53
- user = parts.shift();
54
- pass = parts.join(':');
48
+ // Authentication by bearer token
49
+ let accessToken;
50
+ if (socket.conn.request.query?.token) {
51
+ accessToken = socket.conn.request.query.token;
55
52
  }
56
- else {
57
- user = socket.query.user;
58
- pass = socket.query.pass;
59
- }
60
- if (user && typeof user === 'string' && pass && typeof pass === 'string') {
61
- // Authentication by user/password
62
- void this.adapter.checkPassword(user, pass, res => {
63
- if (res) {
64
- this.adapter.log.debug(`Logged in: ${user}`);
65
- if (typeof callback === 'function') {
66
- callback(null, user, 0);
67
- }
68
- else {
69
- this.adapter.log.warn('[_getUserFromSocket] Invalid callback');
53
+ if (!accessToken && socket.conn.request.headers?.authorization?.startsWith('Bearer ')) {
54
+ accessToken = socket.conn.request.headers.authorization.split(' ')[1];
55
+ }
56
+ if (!accessToken && socket.conn.request.headers?.cookie) {
57
+ const cookies = socket.conn.request.headers.cookie.split(';');
58
+ accessToken = cookies.find(cookie => cookie.trim().split('=')[0] === 'access_token');
59
+ if (accessToken) {
60
+ accessToken = accessToken.split('=')[1];
61
+ }
62
+ }
63
+ if (accessToken) {
64
+ socket._secure = !!this.settings.auth;
65
+ void this.adapter.getSession(`a:${accessToken}`, (obj) => {
66
+ if (!obj?.user) {
67
+ if (socket._acl) {
68
+ socket._acl.user = '';
70
69
  }
70
+ socket.emit(SocketCommon.COMMAND_RE_AUTHENTICATE);
71
+ callback('Cannot detect user');
71
72
  }
72
73
  else {
73
- this.adapter.log.warn(`Invalid password or user name: ${user}, ${pass[0]}***(${pass.length})`);
74
- if (typeof callback === 'function') {
75
- callback('unknown user');
76
- }
77
- else {
78
- this.adapter.log.warn('[_getUserFromSocket] Invalid callback');
79
- }
74
+ callback(null, obj.user ? `system.user.${obj.user}` : '', obj.aExp);
80
75
  }
81
76
  });
77
+ return;
82
78
  }
83
- else {
84
- // Authentication by bearer token
85
- let accessToken;
86
- if (socket.conn.request.query?.token) {
87
- accessToken = socket.conn.request.query.token;
88
- }
89
- if (!accessToken && socket.conn.request.headers?.authorization?.startsWith('Bearer ')) {
90
- accessToken = socket.conn.request.headers.authorization.split(' ')[1];
91
- }
92
- if (!accessToken && socket.conn.request.headers?.cookie) {
93
- const cookies = socket.conn.request.headers.cookie.split(';');
94
- accessToken = cookies.find(cookie => cookie.trim().split('=')[0] === 'access_token');
95
- if (accessToken) {
96
- accessToken = accessToken.split('=')[1];
79
+ else if (socket.conn.request.sessionID) {
80
+ socket._secure = !!this.settings.auth;
81
+ socket._sessionID = socket.conn.request.sessionID;
82
+ // Get user for session
83
+ void this.adapter.getSession(socket.conn.request.sessionID, obj => {
84
+ if (!obj?.passport) {
85
+ if (socket._acl) {
86
+ socket._acl.user = '';
87
+ }
88
+ socket.emit(SocketCommon.COMMAND_RE_AUTHENTICATE);
89
+ callback('Cannot detect user');
90
+ }
91
+ else {
92
+ callback(null, obj.passport.user ? `system.user.${obj.passport.user}` : '', obj.cookie.expires ? new Date(obj.cookie.expires).getTime() : 0);
97
93
  }
94
+ });
95
+ return;
96
+ }
97
+ if (!this.settings.noBasicAuth) {
98
+ let user;
99
+ let pass;
100
+ if (socket.conn.request.headers?.authorization?.startsWith('Basic ')) {
101
+ const auth = Buffer.from(socket.conn.request.headers.authorization.split(' ')[1], 'base64').toString('utf8');
102
+ const parts = auth.split(':');
103
+ user = parts.shift();
104
+ pass = parts.join(':');
98
105
  }
99
- if (accessToken) {
100
- socket._secure = !!this.settings.auth;
101
- void this.adapter.getSession(`a:${accessToken}`, (obj) => {
102
- if (!obj?.user) {
103
- if (socket._acl) {
104
- socket._acl.user = '';
105
- }
106
- socket.emit(SocketCommon.COMMAND_RE_AUTHENTICATE);
107
- callback('Cannot detect user');
108
- }
109
- else {
110
- callback(null, obj.user ? `system.user.${obj.user}` : '', obj.aExp);
111
- }
112
- });
106
+ else {
107
+ user = socket.query.user;
108
+ pass = socket.query.pass;
113
109
  }
114
- else if (socket.conn.request.sessionID) {
115
- socket._secure = !!this.settings.auth;
116
- socket._sessionID = socket.conn.request.sessionID;
117
- // Get user for session
118
- void this.adapter.getSession(socket.conn.request.sessionID, obj => {
119
- if (!obj?.passport) {
120
- if (socket._acl) {
121
- socket._acl.user = '';
110
+ if (user && typeof user === 'string' && pass && typeof pass === 'string') {
111
+ // Authentication by user/password
112
+ void this.adapter.checkPassword(user, pass, res => {
113
+ if (res) {
114
+ this.adapter.log.debug(`Logged in: ${user}`);
115
+ if (typeof callback === 'function') {
116
+ callback(null, user, 0);
117
+ }
118
+ else {
119
+ this.adapter.log.warn('[_getUserFromSocket] Invalid callback');
122
120
  }
123
- socket.emit(SocketCommon.COMMAND_RE_AUTHENTICATE);
124
- callback('Cannot detect user');
125
121
  }
126
122
  else {
127
- callback(null, obj.passport.user ? `system.user.${obj.passport.user}` : '', obj.cookie.expires ? new Date(obj.cookie.expires).getTime() : 0);
123
+ this.adapter.log.warn(`Invalid password or user name: ${user}, ${pass[0]}***(${pass.length})`);
124
+ if (typeof callback === 'function') {
125
+ callback('unknown user');
126
+ }
127
+ else {
128
+ this.adapter.log.warn('[_getUserFromSocket] Invalid callback');
129
+ }
128
130
  }
129
131
  });
130
132
  }
@@ -132,6 +134,9 @@ class SocketCommon {
132
134
  callback('Cannot detect user');
133
135
  }
134
136
  }
137
+ else {
138
+ callback('Cannot detect user');
139
+ }
135
140
  }
136
141
  /** Get client address from socket */
137
142
  __getClientAddress(socket) {
@@ -1 +1 @@
1
- {"version":3,"file":"socketCommon.js","sourceRoot":"","sources":["../../src/lib/socketCommon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socketCommon.js","sourceRoot":"","sources":["../../src/lib/socketCommon.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iobroker/socket-classes",
3
- "version": "2.2.2",
3
+ "version": "2.2.3",
4
4
  "description": "ioBroker server-side web sockets",
5
5
  "author": {
6
6
  "name": "bluefox",
@@ -35,7 +35,7 @@
35
35
  "@iobroker/types": "^7.0.6",
36
36
  "@types/axios": "^0.14.4",
37
37
  "@types/cookie-parser": "^1.4.8",
38
- "@types/node": "^22.13.14",
38
+ "@types/node": "^22.13.17",
39
39
  "@types/passport": "^1.0.17",
40
40
  "chai": "^4.5.0",
41
41
  "iobroker.js-controller": "^7.0.6",