Redirect from ASP NET MVC Controller does not change the URL in browser

In ASP .NET MVC, I’m attempting to perform a redirect from a Controller Action method, which calls a separate Action method in the same controller. This works fine and can be traced in the chrome tools network tab.

I want to force the redirect to change the URL in the users browser and actually redirect to another page. However in google chrome network tab, I can see the request is going through but does not change the displayed URL.

When tracing the requests in google chrome, the first time I load the page the request is shown as blue, but my subsequent requests show up as a grey/normal colored row. I’m not sure though what property of the request I need to change to make it force a URL change in the browser and show up as blue in the chrome dev tools network tab, see below:

enter image description here

I’ve tried the redirect with the following methods. All of these examples redirected to the correct Action in my controller, and passed through the correct values in the model. However, they do not change the URL.

Using RedirectToRoute

return RedirectToRoute("SuccessRedirect3DS", returnModel);

Using RedirectToRoutePermanent

return RedirectToRoutePermanent("SuccessRedirect3DS", returnModel);

Using RedirectToAction (also tried RedirectToActionPermanent)

return RedirectToAction("SuccessRedirect3DS", "Home", returnModel);

Is it possible to change the URL with any of these methods, or do I need to do this in a slightly different way? The controller method I am calling is a GET method which gets the supplied values from the URL.

[System.Web.Mvc.HttpGet]
public async Task SuccessRedirect3DS([FromUri] Model stuff) {
    // We get here and the model values are OK, but the URL/page in browser did not change!
}

Error response while performing WebAPI /CheckConnection request

I’m currently working on a Chrome Plugin. These uses a WebAPI to Authenticate the user. That returns a access_token and that is saved as a cookie.

I need to call the /CheckConnection value to check if the token is still aviable but that process won’t get going.
I allways get an error result.

var token = getCookie("access_token");
var header={};
header.Authorization="bearer "+token;
$.ajax({
	method: "GET",
	url: "https://api.youcan.science/api/values/CheckConnection",
	"Authorization": 'bearer ' + token,
	header: header,
	data: {
		'access_token':token
	}
}).done(function (data) {
	console.log(data);
}).fail(function (e) {
	console.log(e);
});

For testing you may use this token:
var token = "dP4aCmK_27I69X02Jc7JoY6mGVHP3LddPXpnA0Jg4MH5H_-UOAEh14YUFBxfS_S2DwzErIFGfC61HCGlQASTMUkK96OVWBhxAE8Pm0E6JTFoSpkac9UaAFAhvoOkuS4G4vFoKNV1zmEajPdWrNRLudcTgYs1JVZFSYai4ZJ6ug82SDsdKSo5FVOklnw_ReWCDbLrekED0H7IG5feKQyy5IZ9HDGyN5Qxs9kjbTEd50J2Su1_kkJJRfXDWxL05Rjc-GGZGQLtZ7e6vBA57DxDyUu1ZwF0HxA7Rfao7jZFTMR35mRolnrGvwSemJRTW0cwd0laThz5UnHVjhSYhfJqapfOxlZYyakj4MIjafp2UzJKB-HsQpI8_LagjUFnwulAF6CXNKIuXjC5WE8O_hMvKm4GyZ3aQKc_8-sAuAiSw0XdlLhPdY-Yvwx5nlSI2UlAnSkSj7XB4WyN-M2_AGX5rGHrjHh1w1QP4DwOQD05bII"

Store oAuth 2.0 Token in Cookies – Good Idea?

Just a quick background,

  • I have built an API which authenticates user via oAuth 2.0 and returns token
  • I have built the chrome extension which allows user to enter login details and send request to API for authentication

Questions:

When user ticks “Remember Me“, how do I keep the user logged in to
my extension, Do I store the token in Cookies?

What if a user changes the password on some other device, I need to
re-authenticate right? but if I am getting token from cookies and then
those tokens are still valid on my server as I am using ASP.NET
Identity in my API which keeps the token valid for 14 days.

I will be grateful to know the answers to these questions.

thank you