登录后验证控制器和WebAPI

时间:2014-07-31 07:38:53

标签: c# asp.net-web-api oauth

我使用WebAPI获取数据的MVC 4 C#应用程序。我使用标准的Visual Studio MVC模板以身份授权启动项目。

现在我已经确保了对WebAPI的ajax调用,我需要在sessionStorage或类似的东西中存储Identity OAuth令牌。

我的问题是:如何从控制器获取令牌并将其存储在浏览器端?

在VS的SPA模板之后我写了这样的东西:

var fragment = common.getFragment();

if (fragment.access_token) {
     window.location.hash = fragment.state || '';
     sessionStorage.setItem("access-token", fragment.access_token);
} else {
     window.location = "/Admin/Authorize?client_id=web&response_type=token&state=" + encodeURIComponent(window.location.hash);
}

这样我强制浏览器通过Javascript从URL重新加载页面获取令牌,然后从URL中删除它。但是这次刷新带来了redirectUrl模式和其他东西的几个问题。

这是唯一的方法还是最佳做法?

0 个答案:

没有答案