Ejemplo n.º 1
0
        public async Task <bool> Logout()
        {
            var userId = GetMyUserId();

            // The Jwt implementation does not support "revoke OAuth token" (logout) by design.
            // Delete the user's tokens from the database (revoke its bearer token)
            await _tokenStoreService.InvalidateUserTokensAsync(userId).ConfigureAwait(false);

            await _tokenStoreService.DeleteExpiredTokensAsync().ConfigureAwait(false);

            await _uow.SaveChangesAsync().ConfigureAwait(false);

            return(true);
        }
Ejemplo n.º 2
0
        public async Task <bool> Logout()
        {
            var claimsIdentity = this.User.Identity as ClaimsIdentity;
            var userIdValue    = claimsIdentity.FindFirst(ClaimTypes.UserData)?.Value;

            // The Jwt implementation does not support "revoke OAuth token" (logout) by design.
            // Delete the user's tokens from the database (revoke its bearer token)
            if (!string.IsNullOrWhiteSpace(userIdValue) && int.TryParse(userIdValue, out int userId))
            {
                await _tokenStoreService.InvalidateUserTokensAsync(userId).ConfigureAwait(false);
            }
            await _tokenStoreService.DeleteExpiredTokensAsync().ConfigureAwait(false);

            await _uow.SaveChangesAsync().ConfigureAwait(false);

            return(true);
        }