【发布时间】:2015-12-03 13:33:50
【问题描述】:
我们使用 ASP.NET WebAPI 2 开发了一个 REST API,并使用 ASP.NET Identity 对其进行保护。客户要求将他们的令牌设置为较长的过期时间,因为他们将访问令牌存储在他们的数据库中。
在测试期间,他们要求我们减少令牌的长度,因为他们的数据库最多只能处理 250 个字符的字符串。我们的实现非常“香草”。以下是我们当前为不记名令牌设置的选项:
OAuthOptions = new OAuthAuthorizationServerOptions {
TokenEndpointPath = new PathString("/oauth/2/token"),
Provider = new ApplicationOAuth2Provider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1000000),
AllowInsecureHttp = true
};
我们将如何将令牌缩短到 250 个字符的限制?我注意到一些与设置自定义访问令牌格式化程序等相关的属性,但不确定如何实现这些以及限制和/或陷阱是什么。
任何帮助将不胜感激。
【问题讨论】:
-
答案应该是否定的。我们有安全标准,我们不能让这些标准处于危险之中......
标签: c# asp.net-web-api2 asp.net-identity owin