Skip to content

Commit b844b63

Browse files
committed
Fix query parsing on fb callback to handle missing leading ? in some callbacks.
1 parent a5c783e commit b844b63

File tree

4 files changed

+34
-44
lines changed

4 files changed

+34
-44
lines changed

src/src/assets/util.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
function getParameterByName(name, url) {
22
if (!url) url = window.location.href;
33
name = name.replace(/[\[\]]/g, "\\$&");
4-
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
4+
var regex = new RegExp("[?&#]" + name + "(=([^&#]*)|&|#|$)"),
55
results = regex.exec(url);
66
if (!results) return null;
77
if (!results[2]) return '';
88
return decodeURIComponent(results[2].replace(/\+/g, " "));
9-
}
9+
}

src/src/facebook-auth.html

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,21 @@
88
<script src="assets/util.js"></script>
99
</head>
1010
<body>
11-
<script>
12-
13-
// if we don't receive an access token then login failed and/or the user has not connected properly
14-
var accessToken = getParameterByName("#access_token");
15-
var status = "failed";
16-
var message = {};
17-
if (accessToken) {
18-
//message = "{\"status\" : true, \"accessToken\": \"" + accessToken + "\" }";
19-
message.status = true;
20-
message.accessToken = accessToken;
21-
}
22-
else
23-
{
24-
//message = "{\"status\" : false, \"error\": \"" + getParameterByName("error") + "\", \"errorDescription\": \"" + getParameterByName("error_description") + "\" }";
25-
message.status = false;
26-
message.error = getParameterByName("error");
27-
message.errorDescription = getParameterByName("error_description");
28-
}
29-
30-
window.opener.postMessage(JSON.stringify(message), "http://localhost:5000");
11+
<script>
12+
// if we don't receive an access token then login failed and/or the user has not connected properly
13+
var accessToken = getParameterByName("access_token");
14+
var message = {};
15+
if (accessToken) {
16+
message.status = true;
17+
message.accessToken = accessToken;
18+
}
19+
else
20+
{
21+
message.status = false;
22+
message.error = getParameterByName("error");
23+
message.errorDescription = getParameterByName("error_description");
24+
}
25+
window.opener.postMessage(JSON.stringify(message), "http://localhost:5000");
3126
</script>
3227
</body>
3328
</html>

src/wwwroot/assets/util.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
function getParameterByName(name, url) {
22
if (!url) url = window.location.href;
33
name = name.replace(/[\[\]]/g, "\\$&");
4-
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
4+
var regex = new RegExp("[?&#]" + name + "(=([^&#]*)|&|#|$)"),
55
results = regex.exec(url);
66
if (!results) return null;
77
if (!results[2]) return '';
88
return decodeURIComponent(results[2].replace(/\+/g, " "));
9-
}
9+
}

src/wwwroot/facebook-auth.html

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,21 @@
88
<script src="assets/util.js"></script>
99
</head>
1010
<body>
11-
<script>
12-
13-
// if we don't receive an access token then login failed and/or the user has not connected properly
14-
var accessToken = getParameterByName("#access_token");
15-
var status = "failed";
16-
var message = {};
17-
if (accessToken) {
18-
//message = "{\"status\" : true, \"accessToken\": \"" + accessToken + "\" }";
19-
message.status = true;
20-
message.accessToken = accessToken;
21-
}
22-
else
23-
{
24-
//message = "{\"status\" : false, \"error\": \"" + getParameterByName("error") + "\", \"errorDescription\": \"" + getParameterByName("error_description") + "\" }";
25-
message.status = false;
26-
message.error = getParameterByName("error");
27-
message.errorDescription = getParameterByName("error_description");
28-
}
29-
30-
window.opener.postMessage(JSON.stringify(message), "http://localhost:5000");
11+
<script>
12+
// if we don't receive an access token then login failed and/or the user has not connected properly
13+
var accessToken = getParameterByName("access_token");
14+
var message = {};
15+
if (accessToken) {
16+
message.status = true;
17+
message.accessToken = accessToken;
18+
}
19+
else
20+
{
21+
message.status = false;
22+
message.error = getParameterByName("error");
23+
message.errorDescription = getParameterByName("error_description");
24+
}
25+
window.opener.postMessage(JSON.stringify(message), "http://localhost:5000");
3126
</script>
3227
</body>
3328
</html>

0 commit comments

Comments
 (0)