Skip to content

Commit 65c6076

Browse files
author
Bruno Camara
committed
Fix authorize URL when the base URL has parameters such as /authorize?mkt=da-DT
1 parent e2fdd2b commit 65c6076

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

OAuthSample/Controllers/OAuthController.cs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
using Newtonsoft.Json;
2-
using OAuthSample.Models;
3-
using System;
4-
using System.Collections.Generic;
1+
using System;
52
using System.Configuration;
63
using System.IO;
7-
using System.Linq;
84
using System.Net;
95
using System.Web;
106
using System.Web.Mvc;
7+
using Newtonsoft.Json;
8+
using OAuthSample.Models;
119

1210
namespace OAuthSample.Controllers
1311
{
@@ -113,13 +111,18 @@ private String PerformTokenRequest(String postData, out TokenModel token)
113111

114112
public String GenerateAuthorizeUrl()
115113
{
116-
return String.Format("{0}?client_id={1}&response_type=Assertion&state={2}&scope={3}&redirect_uri={4}",
117-
ConfigurationManager.AppSettings["AuthUrl"],
118-
ConfigurationManager.AppSettings["AppId"],
119-
"state",
120-
ConfigurationManager.AppSettings["Scope"],
121-
ConfigurationManager.AppSettings["CallbackUrl"]
122-
);
114+
UriBuilder uriBuilder = new UriBuilder(ConfigurationManager.AppSettings["AuthUrl"]);
115+
var queryParams = HttpUtility.ParseQueryString(uriBuilder.Query ?? String.Empty);
116+
117+
queryParams["client_id"] = ConfigurationManager.AppSettings["AppId"];
118+
queryParams["response_type"] = "Assertion";
119+
queryParams["state"] = "state";
120+
queryParams["scope"] = ConfigurationManager.AppSettings["Scope"];
121+
queryParams["redirect_uri"] = ConfigurationManager.AppSettings["CallbackUrl"];
122+
123+
uriBuilder.Query = queryParams.ToString();
124+
125+
return uriBuilder.ToString();
123126
}
124127

125128
public string GenerateRequestPostData(string code)
@@ -141,4 +144,4 @@ public string GenerateRefreshPostData(string refreshToken)
141144

142145
}
143146
}
144-
}
147+
}

0 commit comments

Comments
 (0)