在IAuthenticationTokenProvider的实现中,您是否应该在接收无效的RefreshToken时出错?

时间:2017-07-11 15:48:05

标签: c# oauth-2.0

我有一个IAuthenticationTokenProvider的实现,我在OAuth服务器中使用它来处理刷新令牌。在接收刷新令牌的方法中,我通过散列ID从我的商店中调用令牌。如果我在回忆中成功,那么我会在我的商店中设置来电者的上下文,但是如果我在回忆中失败,这表明它已经过期或者令牌已被删除而且我没有确定在这种情况下我应该做些什么。告诉来电者失败的原因是不好的形式?

public async Task ReceiveAsync(AuthenticationTokenReceiveContext context)
{
     ...
     var hashedTokenId = _hashingService.CreateHash(context.Token);
     var refreshToken = await workUnit.RefreshTokens.GetByIdAsync(hashedTokenId);

     if (refreshToken != null)
     {
         context.DeserializeTicket(refreshToken.ProtectedTicket);
         await workUnit.RefreshTokens.RemoveByIdAsync(hashedTokenId);
         await workUnit.SaveChangesAsync();
     }
     // else? what should I do here? nothing? OK 200 response?
}

0 个答案:

没有答案