public IMaybe <Jwt.BearerToken> MaybeCreateBearerToken(Jwt.RefreshToken refreshToken) { if (refreshToken.HasExpired) { return(None <Jwt.BearerToken> .Exists); } var maybeSession = _sessionRepository.MaybeGetOne(refreshToken.Id); return(maybeSession.Case( some: session => Some <Jwt.BearerToken> .Exists(new Jwt.BearerToken( username: session.User.Username, role: session.User.Role )), none: () => None <Jwt.BearerToken> .Exists )); }
public ActionResult Logout(Jwt.RefreshToken refreshToken) { return(_sessionCommand.Execute(new SessionCommand.Delete( id: refreshToken.Id ))); }