This is a know issue affecting VMware Cloud Foundation. There is currently no resolution.
Workaround:
To workaround this issue, complete the following steps to encode the user/group name.
- SSH to SDDC Manager VM and log in with the vcf user.
- Change to the root user by typing su.
- Type the following command to edit the gatewayService.js file.
vi /opt/vmware/vcf/sddc-manager-ui-app/server/src/services/gatewayService.js
- Add the following entry in line number 11:
const encodeUrl = require('encodeurl');
- Modify the following line to reflect the encodeUrl(upn) change in line 110:
proxyReqOpts.headers['USER-INFO'] = upn;
to
proxyReqOpts.headers['USER-INFO'] = encodeUrl(upn);
- Modify the following line to reflect the encodeUrl(upn) change in line 113:
proxyReqOpts.headers['GROUP-INFO'] = _.join(group, ',');
to
proxyReqOpts.headers['GROUP-INFO'] = _.join(encodeUrl(group), ',');
- Press the ESCAPE button on the keyboard and type :wq to save the file.
- Type the following command to edit the util.js file:
vi /opt/vmware/vcf/sddc-manager-ui-app/server/src/services/util.js
- Add the following entry in line number 19:
const encodeUrl = require('encodeurl');
- Modify the below line to reflect the encodeUrl change in line 185:
headers['USER-INFO'] = session.passport.user.upn;
to
headers['USER-INFO'] = encodeUrl(session.passport.user.upn);
- Modify the following line to reflect the encodeUrl change in line 188:
headers['GROUP-INFO'] = _.join(session.passport.user.group, ',');
to
headers['GROUP-INFO'] = _.join(encodeUrl(session.passport.user.group), ',');
- Press the ESCAPE button on the keyboard and type :wq to save the file.
- Restart sddc-manager-ui-app service to reload the changes
systemctl restart sddc-manager-ui-app
- At this point, confirm that the AD user can login successfully and the error is no longer reported