// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Security.Claims;
using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Identity
{
///
/// Provides an abstraction for a factory to create a from a user.
///
/// The type encapsulating a user.
public interface IUserClaimsPrincipalFactory
where TUser : class
{
///
/// Creates a from an user asynchronously.
///
/// The user to create a from.
/// The that represents the asynchronous creation operation, containing the created .
Task CreateAsync(TUser user);
}
}