我有一个网站:http://webapi.com(用ASP.NET Web API编写)和另一个网站,如:http://consumer.com(用ASP.NET MVC编写)。 消费者将用户名和密码传递给了这个webapi,它给了我一个令牌。
{
"access_token": "XuGGwTfZ_XvapFtwsFO0-...",
"token_type": "bearer",
"expires_in": 86399
}
我的问题是,我应该在消费者应用中将此令牌存储在哪里? 在消费者网站上,我有一个类似的行为:
public ActionResult Login(LoginUserViewModel data)
{
var response = PostAsync<LoginUserResultViewModel>("http://webapi.com/token",
new StringContent("grant_type=password"+
"&username=" + data.Username +
"&password=" + data.Password,
Encoding.UTF8,
"application/x-www-form-urlencoded"));
HttpContext.Session[BLConstants._TOKEN_SESSION_NAME_] = response.Token;
FormsAuthentication.SetAuthCookie(data.Username, createPersistentCookie: true);
return View();
}
在消费者的另一个行动中,例如:HomeController-&gt; GetList,我需要该令牌发送到webapi才能获取列表,但我没有那个HttpContext.Session [Constants._TOKEN_SESSION_NAME_],它和& #39; s null。
我还有其他地方可以存储令牌吗?将此令牌存储到会话中是否安全?