Beispiel #1
0
        /// <inheritdoc/>
        protected override async Task <TUserLogin> FindUserLoginAsync(TKey userId, string loginProvider, string providerKey, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            ThrowIfDisposed();
            var userLogin = await UserLoginsTable.FindUserLoginAsync(userId, loginProvider, providerKey);

            return(userLogin);
        }
Beispiel #2
0
 public override async Task AddLoginAsync(ApplicationUser <TKey> user, UserLoginInfo login, CancellationToken cancellationToken)
 {
     cancellationToken.ThrowIfCancellationRequested();
     ThrowIfDisposed();
     user.ThrowIfNull(nameof(user));
     login.ThrowIfNull(nameof(login));
     UserLogins ??= (await UserLoginsTable.GetLoginsAsync(user.Id)).ToList();
     UserLogins.Add(CreateUserLogin(user, login));
 }
Beispiel #3
0
        public override async Task <IList <UserLoginInfo> > GetLoginsAsync(ApplicationUser <TKey> user, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            ThrowIfDisposed();
            user.ThrowIfNull(nameof(user));
            var userLogins = await UserLoginsTable.GetLoginsAsync(user.Id);

            return(userLogins.Select(x => new UserLoginInfo(x.LoginProvider, x.LoginProvider, x.ProviderDisplayName)).ToList());
        }
Beispiel #4
0
 public UserStore(IUsersContext context)
 {
     _usersTable       = new UsersTable(context);
     _usersRolesTable  = new UserRolesTable(context);
     _rolesTable       = new RolesTable(context);
     _usersClaimsTable = new UserClaimsTable(context);
     _usersLoginsTable = new UserLoginsTable(context);
     _userTokensTable  = new UserTokensTable(context);
 }
 public UserStore(IDbConnectionFactory dbConnectionFactory)
 {
     DbConnectionFactory = dbConnectionFactory;
     UserTable           = new UserTable <TUser>(dbConnectionFactory);
     RoleTable           = new RoleTable(dbConnectionFactory);
     UserRolesTable      = new UserRolesTable(dbConnectionFactory);
     UserClaimsTable     = new UserClaimsTable(dbConnectionFactory);
     UserLoginsTable     = new UserLoginsTable(dbConnectionFactory);
 }
Beispiel #6
0
 public UserStore(IDatabaseConnectionFactory databaseConnectionFactory)
 {
     _usersTable       = new UsersTable(databaseConnectionFactory);
     _usersRolesTable  = new UserRolesTable(databaseConnectionFactory);
     _rolesTable       = new RolesTable(databaseConnectionFactory);
     _usersClaimsTable = new UserClaimsTable(databaseConnectionFactory);
     _usersLoginsTable = new UserLoginsTable(databaseConnectionFactory);
     _userTokensTable  = new UserTokensTable(databaseConnectionFactory);
 }
        public UserStore(SqlServerDatabase database)
        {
            Database = database;

            _userTable       = new UserTable <T>(database);
            _userLoginsTable = new UserLoginsTable <T>(database);
            _roleTable       = new RoleTable <ApplicationRole>(database);
            _userRolesTable  = new UserRolesTable <T>(database);
            _userClaimsTable = new UserClaimsTable(database);
        }
Beispiel #8
0
        public override async Task RemoveLoginAsync(ApplicationUser <TKey> user, string loginProvider, string providerKey, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            ThrowIfDisposed();
            user.ThrowIfNull(nameof(user));
            UserLogins ??= (await UserLoginsTable.GetLoginsAsync(user.Id)).ToList();
            var userLogin = await FindUserLoginAsync(user.Id, loginProvider, providerKey, cancellationToken);

            if (userLogin != null)
            {
                UserLogins.Remove(userLogin);
            }
        }
        /// <summary>
        /// Deletes a login from UserLoginsTable for a given TUser
        /// </summary>
        /// <param name="user">User to have login removed</param>
        /// <param name="login">Login to be removed</param>
        /// <returns></returns>
        public Task RemoveLoginAsync(TUser user, UserLoginInfo login)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            if (login == null)
            {
                throw new ArgumentNullException("login");
            }

            UserLoginsTable.Delete(user, login);

            return(Task.FromResult <Object>(null));
        }
Beispiel #10
0
 public UserStore(
     UsersTable <TKey> usersTable,
     UserClaimsTable <TKey> userClaimsTable,
     UserRolesTable <TKey> userRolesTable,
     UserLoginsTable <TKey> userLoginsTable,
     UserTokensTable <TKey> userTokensTable,
     RolesTable <TKey> rolesTable,
     IdentityErrorDescriber describer
     ) : base(describer)
 {
     UsersTable      = usersTable ?? throw new ArgumentException(nameof(usersTable));
     UserClaimsTable = userClaimsTable ?? throw new ArgumentException(nameof(userClaimsTable));
     UserRolesTable  = userRolesTable ?? throw new ArgumentException(nameof(userRolesTable));
     UserLoginsTable = userLoginsTable ?? throw new ArgumentException(nameof(userLoginsTable));
     UserTokensTable = userTokensTable ?? throw new ArgumentException(nameof(userTokensTable));
     RolesTable      = rolesTable ?? throw new ArgumentException(nameof(rolesTable));
 }
        /// <summary>
        /// Returns list of UserLoginInfo for a given TUser
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public Task <IList <UserLoginInfo> > GetLoginsAsync(TUser user)
        {
            List <UserLoginInfo> userLogins = new List <UserLoginInfo>();

            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            List <UserLoginInfo> logins = UserLoginsTable.FindByUserId(user.Id);

            if (logins != null)
            {
                return(Task.FromResult <IList <UserLoginInfo> >(logins));
            }

            return(Task.FromResult <IList <UserLoginInfo> >(null));
        }
        /// <summary>
        /// Returns an TUser based on the Login info
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>
        public Task <TUser> FindAsync(UserLoginInfo login)
        {
            if (login == null)
            {
                throw new ArgumentNullException("login");
            }

            var userId = UserLoginsTable.FindUserIdByLogin(login);

            if (userId > 0)
            {
                TUser user = UserTable.GetUserById(userId) as TUser;
                if (user != null)
                {
                    return(Task.FromResult <TUser>(user));
                }
            }

            return(Task.FromResult <TUser>(null));
        }
Beispiel #13
0
 protected override async Task <IdentityUserLogin <TKey> > FindUserLoginAsync(string loginProvider, string providerKey, CancellationToken cancellationToken)
 {
     cancellationToken.ThrowIfCancellationRequested();
     ThrowIfDisposed();
     return(await UserLoginsTable.FindAsync(loginProvider, providerKey));
 }