asp.net – 承载令牌在重新部署后变为无效
发布时间:2020-12-16 06:39:20 所属栏目:asp.Net 来源:网络整理
导读:我们将ASP.NET MVC 5.x WebAPI 2.x Web应用程序作为Azure云服务运行,并使用令牌授权对我们的服务进行REST API调用. 问题是:每次我们重新部署我们的应用程序时 – 所有当前令牌都变为无效(服务器返回任何请求的“未授权”响应). 问题是:为什么会发生以及如
我们将ASP.NET MVC 5.x WebAPI 2.x Web应用程序作为Azure云服务运行,并使用令牌授权对我们的服务进行REST API调用.
问题是:每次我们重新部署我们的应用程序时 – 所有当前令牌都变为无效(服务器返回任何请求的“未授权”响应). 问题是:为什么会发生以及如何防止这种行为? UPD: public string GetOAuthToken(IUser user) { if (user != null) { var identity = new ClaimsIdentity(Startup.OAuthOptions.AuthenticationType); identity.AddClaim(new Claim(ClaimTypes.Name,user.UserName)); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier,user.Id)); AuthenticationTicket ticket = new AuthenticationTicket(identity,new AuthenticationProperties()); var currentUtc = DateTime.UtcNow; ticket.Properties.IssuedUtc = currentUtc; ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromDays(36600)); //About 100 years string AccessToken = Startup.OAuthOptions.AccessTokenFormat.Protect(ticket); return AccessToken; } return ""; } UPD2: 解决方法
问题解决了.
看来默认创建的AccessTokenFormat使用machineKey来生成令牌.显然,这些密钥对于生产和暂存VM来说是不同的. 解决方案相当容易.您需要生成自己的机器密钥并将其添加到项目的Web.Config文件中: <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" relaxedUrlToFileSystemMapping="true" /> <machineKey validationKey="YOUR VALIDATION KEY GOES HERE" decryptionKey="YOUR DECRYPTION KEY GOES HERE" validation="SHA1" decryption="AES" /> 有关此方法的详细信息,请阅读本文的“步骤5 …”部分: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何指定相对于站点根目录的路径?
- asp.net – 表单验证忽略默认文档
- asp.net – 在转发器中只选择一个radiobutton
- asp.net-mvc-3 – 可以在ASP.NET MVC 3上安装ASP.NET MVC 4
- asp.net-web-api – 如何在Web Api调用期间获取用户上下文?
- asp.net-mvc-3 – StructureMap初学者|物业注入
- asp.net – 我怎么知道我的应用程序中是否需要“WCF HTTP激
- 如何为新项目决定WebForms vs ASP.NET MVC 3?
- asp.net – 如何使用Docx dll生成word文档时在标题中添加图
- asp.net – 使用字符串列表绑定GridView
推荐文章
站长推荐
- asp.net-mvc – 如何在asp mvc中阻止访问Interne
- asp.net – 在PreRender上添加控件页面
- asp.net – 无法获得typeahead.js基本示例
- 如何以编程方式找到一个ASP.NET App_Data文件夹路
- asp.net-mvc – 将WebAPI添加到现有的aspnetcore
- ASP.NET选项卡控件
- 发布一个性能测试工具的破解补丁
- asp.net-mvc-3 – OutputCache属性和jQuery Ajax
- asp.net-mvc-3 – 我怎么能用CheckBoxFor使用int
- asp.net – 在Response.End之前使用Response.Flu
热点阅读