diff --git a/packages/plugins/users-permissions/package.json b/packages/plugins/users-permissions/package.json index e1e5f07263..eb0b8112c9 100644 --- a/packages/plugins/users-permissions/package.json +++ b/packages/plugins/users-permissions/package.json @@ -30,6 +30,7 @@ "react-router-dom": "5.2.0", "redux-saga": "^0.16.0", "request": "^2.83.0", + "url-join": "4.0.1", "uuid": "^3.1.0" }, "devDependencies": { diff --git a/packages/plugins/users-permissions/server/services/providers.js b/packages/plugins/users-permissions/server/services/providers.js index 9c7381dd5e..1b3dade1a0 100644 --- a/packages/plugins/users-permissions/server/services/providers.js +++ b/packages/plugins/users-permissions/server/services/providers.js @@ -7,6 +7,7 @@ // Public node modules. const _ = require('lodash'); const jwt = require('jsonwebtoken'); +const urlJoin = require('url-join'); const { getAbsoluteServerUrl } = require('@strapi/utils'); @@ -167,7 +168,7 @@ module.exports = ({ strapi }) => { return callback(null, { username: userbody.login, email: Array.isArray(emailsbody) - ? emailsbody.find(email => email.primary === true).email + ? emailsbody.find((email) => email.primary === true).email : null, }); }); @@ -550,7 +551,7 @@ module.exports = ({ strapi }) => { } if ( - !_.isEmpty(_.find(users, user => user.provider !== provider)) && + !_.isEmpty(_.find(users, (user) => user.provider !== provider)) && advanced.unique_email ) { return resolve([ @@ -588,7 +589,7 @@ module.exports = ({ strapi }) => { const buildRedirectUri = (provider = '') => { const apiPrefix = strapi.config.get('api.rest.prefix'); - return `${getAbsoluteServerUrl(strapi.config)}/${apiPrefix}/connect/${provider}/callback`; + return urlJoin(getAbsoluteServerUrl(strapi.config), apiPrefix, 'connect', provider, 'callback'); }; return { diff --git a/yarn.lock b/yarn.lock index 08e63ee32b..39a481a7f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24485,7 +24485,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-join@^4.0.0: +url-join@4.0.1, url-join@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==