oauth-2.0 – 覆盖AccessTokenExpireTimeSpan
发布时间:2020-12-15 23:51:49 所属栏目:asp.Net 来源:网络整理
导读:是否可以覆盖自定义OAuthAuthorizationServerProvider上特定票证的默认AccessTokenExpireTimeSpan?所有其他票证的默认到期时间为15分钟. public public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context){
是否可以覆盖自定义OAuthAuthorizationServerProvider上特定票证的默认AccessTokenExpireTimeSpan?所有其他票证的默认到期时间为15分钟.
public public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { ... var ticket = new AuthenticationTicket(identity,properties); if (condition) { ticket.Properties.IssuedUtc = DateTime.UtcNow; ticket.Properties.ExpiresUtc = DateTime.UtcNow.AddDays(14); } context.Validated(ticket); } 条件== true的生成令牌具有默认的到期时间(15分钟).我不想更改context.Options.AccessTokenExpireTimeSpan,因为它会影响所有令牌,这不是主意. 解决方法
您必须在TokenEndPoint方法中设置到期时间而不是GrantResourceOwnerCredentials方法:
public override Task TokenEndpoint(OAuthTokenEndpointContext context) { ... if (condition) { context.Properties.ExpiresUtc = DateTime.UtcNow.AddDays(14); } ... } 我希望它有所帮助. 编辑 正如Michael在其response中针对类似问题所指出的,如果每个client_id都有不同的AccessTokenExpireTimeSpan,则可以在验证客户端身份验证时使用客户端覆盖上下文选项中的默认配置的AccessTokenExpireTimeSpan: public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context) { ... context.Options.AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(client.AccessTokenExpireTime); ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 使用mvc 4 razor引擎显示3个文本框的一条错
- asp.net – HttpRuntime Cache和HttpContext Cache有什么区
- asp.net-mvc-3 – 专门针对Azure的代码?
- asp.net – Windows Azure缓存预览
- 如何追踪每一笔记录的来龙去脉:一个完整的Audit Logging解
- asp.net-mvc-3 – Hz.Raw()的Razor替代品
- .net – 尝试激活“MyDbContext”时无法解析“DatabaseConf
- asp.net-mvc – RedirectToAction不工作
- asp.net – aspnet_compiler找到错误版本的System.Web.WebP
- asp.net – Web表单(.aspx)命名约定
推荐文章
站长推荐
热点阅读