mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-24 13:25:52 +03:00
OAuth2: Fix double slash in URL
We need to use concatPath to avoid possible double '/' in the URLs if the
account url() ends with '/'.
This has become even more of a problem since commit
d1b8370a4a
which was resolving the url after
a redirect where most server actually add a '/' if the url is a folder
This commit is contained in:
parent
2112e16cca
commit
0cec6f08ca
2 changed files with 6 additions and 6 deletions
|
@ -76,7 +76,7 @@ void OAuth::start()
|
|||
|
||||
QString code = rx.cap(1); // The 'code' is the first capture of the regexp
|
||||
|
||||
QUrl requestToken(_account->url().toString() + QLatin1String("/index.php/apps/oauth2/api/v1/token"));
|
||||
QUrl requestToken = Utility::concatUrlPath(_account->url().toString(), QLatin1String("/index.php/apps/oauth2/api/v1/token"));
|
||||
QNetworkRequest req;
|
||||
req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
||||
|
||||
|
@ -154,10 +154,10 @@ void OAuth::start()
|
|||
QUrl OAuth::authorisationLink() const
|
||||
{
|
||||
Q_ASSERT(_server.isListening());
|
||||
QUrl url = QUrl(_account->url().toString()
|
||||
+ QLatin1String("/index.php/apps/oauth2/authorize?response_type=code&client_id=")
|
||||
+ Theme::instance()->oauthClientId()
|
||||
+ QLatin1String("&redirect_uri=http://localhost:") + QString::number(_server.serverPort()));
|
||||
QUrl url = Utility::concatUrlPath(_account->url(), QLatin1String("/index.php/apps/oauth2/authorize"),
|
||||
{ { QLatin1String("response_type"), QLatin1String("code") },
|
||||
{ QLatin1String("client_id"), Theme::instance()->oauthClientId() },
|
||||
{ QLatin1String("redirect_uri"), QLatin1String("http://localhost:") + QString::number(_server.serverPort()) } });
|
||||
if (!_expectedUser.isNull())
|
||||
url.addQueryItem("user", _expectedUser);
|
||||
return url;
|
||||
|
|
|
@ -344,7 +344,7 @@ bool HttpCredentials::refreshAccessToken()
|
|||
if (_refreshToken.isEmpty())
|
||||
return false;
|
||||
|
||||
QUrl requestToken(_account->url().toString() + QLatin1String("/index.php/apps/oauth2/api/v1/token"));
|
||||
QUrl requestToken = Utility::concatUrlPath(_account->url(), QLatin1String("/index.php/apps/oauth2/api/v1/token"));
|
||||
QNetworkRequest req;
|
||||
req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
||||
|
||||
|
|
Loading…
Reference in a new issue