1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Merge pull request #3068 from hardillb/http-auth-fix

Fix for #3067
This commit is contained in:
Nick O'Leary 2021-07-16 09:47:57 +01:00 committed by GitHub
commit ed09cd7489
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -205,22 +205,25 @@ module.exports = function(RED) {
} }
} }
} }
if (this.credentials) { var parsedURL = new URL(url)
this.credentials = this.credentials || {}
if (parsedURL.username && !this.credentials.user) {
this.credentials.user = parsedURL.username
}
if (parsedURL.password && !this.credentials.password) {
this.credentials.password = parsedURL.password
}
if (Object.keys(this.credentials).length != 0) {
if (this.authType === "basic") { if (this.authType === "basic") {
// Workaround for https://github.com/sindresorhus/got/issues/1169 // Workaround for https://github.com/sindresorhus/got/issues/1169
var cred = "" var cred = ""
var parsedURL = new URL(url)
if (this.credentials.user) { if (this.credentials.user) {
// opts.username = this.credentials.user; // opts.username = this.credentials.user;
cred = this.credentials.user cred = this.credentials.user
} else if (parsedURL.username) {
cred = parsedURL.username
} }
if (this.credentials.password) { if (this.credentials.password) {
// opts.password = this.credentials.password; // opts.password = this.credentials.password;
cred += ":" + this.credentials.password cred += ":" + this.credentials.password
} else if (parsedURL.password) {
cred += ":" + parsedURL.password
} }
// build own basic auth header // build own basic auth header
opts.headers.Authorization = "Basic " + Buffer.from(cred).toString("base64"); opts.headers.Authorization = "Basic " + Buffer.from(cred).toString("base64");