mirror of https://github.com/abpframework/abp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.6 KiB
50 lines
1.6 KiB
using System;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Identity;
|
|
using Volo.Abp.DependencyInjection;
|
|
using Volo.Abp.Users;
|
|
|
|
namespace Volo.Abp.Identity
|
|
{
|
|
public class IdentityUserRepositoryExternalUserLookupServiceProvider : IExternalUserLookupServiceProvider, ITransientDependency
|
|
{
|
|
private readonly IIdentityUserRepository _userRepository;
|
|
private readonly ILookupNormalizer _lookupNormalizer;
|
|
|
|
public IdentityUserRepositoryExternalUserLookupServiceProvider(
|
|
IIdentityUserRepository userRepository,
|
|
ILookupNormalizer lookupNormalizer)
|
|
{
|
|
_userRepository = userRepository;
|
|
_lookupNormalizer = lookupNormalizer;
|
|
}
|
|
|
|
public virtual async Task<IUserData> FindByIdAsync(
|
|
Guid id,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
return (
|
|
await _userRepository.FindAsync(
|
|
id,
|
|
includeDetails: false,
|
|
cancellationToken: cancellationToken
|
|
)
|
|
.ConfigureAwait(false))?.ToAbpUserData();
|
|
}
|
|
|
|
public virtual async Task<IUserData> FindByUserNameAsync(
|
|
string userName,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
return (
|
|
await _userRepository.FindByNormalizedUserNameAsync(
|
|
_lookupNormalizer.NormalizeName(userName),
|
|
includeDetails: false,
|
|
cancellationToken: cancellationToken
|
|
)
|
|
.ConfigureAwait(false))?.ToAbpUserData();
|
|
}
|
|
}
|
|
}
|