n8n-nodes-jygse-vw-weconnect 0.2.6 → 0.2.8
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.
|
@@ -175,11 +175,11 @@ class VwWeConnect {
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
exports.VwWeConnect = VwWeConnect;
|
|
178
|
-
// VW OAuth2 Configuration (Updated January 2026 -
|
|
179
|
-
// Note: This is for
|
|
180
|
-
const VW_CLIENT_ID = '
|
|
178
|
+
// VW OAuth2 Configuration (Updated January 2026 - "go" type for T6.1 from ioBroker.vw-connect)
|
|
179
|
+
// Note: This is for We Connect Go (T6.1 California, etc.)
|
|
180
|
+
const VW_CLIENT_ID = 'ac42b0fa-3b11-48a0-a941-43a399e7ef84@apps_vw-dilab_com';
|
|
181
181
|
const VW_SCOPE = 'openid profile mbb email cars birthdate badge address vin';
|
|
182
|
-
const VW_REDIRECT_URI = '
|
|
182
|
+
const VW_REDIRECT_URI = 'vwconnect://de.volkswagen.vwconnect/oauth2redirect/identitykit';
|
|
183
183
|
const VW_RESPONSE_TYPE = 'id_token token code';
|
|
184
184
|
// WeConnect App headers (from ioBroker.vw-connect v0.7.15)
|
|
185
185
|
const VW_USER_AGENT = 'Mozilla/5.0 (Linux; Android 14; SM-G960F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36';
|
|
@@ -229,22 +229,21 @@ async function vwLogin(context, email, password) {
|
|
|
229
229
|
const codeChallenge = generateCodeChallenge(codeVerifier);
|
|
230
230
|
// Step 1: Go directly to identity.vwgroup.io (like ioBroker adapter)
|
|
231
231
|
// Note: VW v2 (T6.1, etc.) uses PKCE with S256
|
|
232
|
-
|
|
233
|
-
const
|
|
234
|
-
client_id
|
|
235
|
-
scope
|
|
236
|
-
response_type
|
|
237
|
-
redirect_uri
|
|
238
|
-
nonce
|
|
239
|
-
state
|
|
240
|
-
code_challenge
|
|
241
|
-
code_challenge_method
|
|
242
|
-
});
|
|
232
|
+
// Build URL manually like ioBroker does (pre-encoded values)
|
|
233
|
+
const authorizeUrl = 'https://identity.vwgroup.io/oidc/v1/authorize' +
|
|
234
|
+
'?client_id=' + encodeURIComponent(VW_CLIENT_ID) +
|
|
235
|
+
'&scope=' + encodeURIComponent(VW_SCOPE) +
|
|
236
|
+
'&response_type=' + encodeURIComponent(VW_RESPONSE_TYPE) +
|
|
237
|
+
'&redirect_uri=' + encodeURIComponent(VW_REDIRECT_URI) +
|
|
238
|
+
'&nonce=' + nonce +
|
|
239
|
+
'&state=' + state +
|
|
240
|
+
'&code_challenge=' + codeChallenge +
|
|
241
|
+
'&code_challenge_method=S256';
|
|
243
242
|
// Use browser-like headers for initial request
|
|
244
243
|
// Let n8n follow redirects automatically to reach the login page
|
|
245
244
|
const authorizeResponse = await context.helpers.httpRequest({
|
|
246
245
|
method: 'GET',
|
|
247
|
-
url:
|
|
246
|
+
url: authorizeUrl,
|
|
248
247
|
headers: browserHeaders,
|
|
249
248
|
encoding: 'text',
|
|
250
249
|
returnFullResponse: true,
|
package/package.json
CHANGED