所以我一直在這個工作了很長一段時間,似乎無法找到一個有用的答案。我正在創建一個包含刷新標記字符串的cookie。添加後,我可以在我的Request.Cookies中看到它被添加,但它並未顯示在開發者控制檯中,我的程序似乎無法找到它。我添加一個cookie,我看到它添加,然後它不再有那
這裏是我的創作和添加是,當他們成功驗證RAN:
Response.Cookies.Remove("RefreshToken");
FormsAuthenticationTicket tick = new FormsAuthenticationTicket(1,
response.AppUser.Username,
DateTime.Now,
DateTime.Now.AddSeconds(response.AppUser.ExpiresIn),
true,
response.AppUser.AccessToken);
string encrypt = FormsAuthentication.Encrypt(tick);
HttpCookie cookie = new HttpCookie("RefreshToken", encrypt);
cookie.Value = response.AppUser.RefreshToken;
cookie["RemembeMe"] = rememberMe.ToString();
cookie.Secure = true;
cookie.Name = "RefreshToken";
cookie.Path = Request.ApplicationPath;
cookie.Expires = DateTime.Now.AddMinutes(15);
Response.Cookies.Add(cookie);
下面是我檢索它在Global.asax時,我的身份驗證令牌在請求開始時屆滿:
if (HttpContext.Current.Request.Cookies["RefreshToken"] != null)
{
var z = HttpContext.Current.Request.Cookies["RefreshToken"].Value;
Resources.ReauthorizeUser rau = new Resources.ReauthorizeUser();
}
下面是一些我的web.config中:
<sessionState cookieless="false" regenerateExpiredSessionId="false"/>
<customErrors mode="Off"/>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="5" protection="All" cookieless="UseCookies" slidingExpiration="false"/>
</authentication>
設我知道如果我錯過了任何重要的代碼。任何幫助都會令人驚歎,這一直在推動着我的堅強。
在請求管道中的哪個點執行添加cookie的代碼?有沒有其他代碼可以設置該cookie或覆蓋它?您在瀏覽器的開發控制檯中看到了哪些cookie?請求管道中的哪一點是您檢索cookie? – Igor
啊,我知道我會忽略一些重要的信息。好問題,我會在上面更新。哦,我沒有回答有關開發控制檯,它從來沒有出現在那裏。 – Darkwingduck
看起來像是將cookie值設置爲字符串encrypt(在HttpCookie構造函數中),但是將值覆蓋爲response.AppUser.RefreshToken。 –