示例#1
0
 public static async Task <IList <UserLoginInfo> > xGetLoginsAsync <TContext, TUser, TKey, TUserLogin>(this IIdentityUserLoginStoreWithContext <TContext, TUser, TKey, TUserLogin> store, TUser user, CancellationToken cancellationToken = default)
     where TContext : class, IIdentityContext//, IIdentityContext_WithUserLogins<TKey>
     where TKey : IEquatable <TKey>
     where TUserLogin : class, IIdentityUserLogin <TKey>
     where TUser : class, IIdentityUserWithLogins <TKey>
 {
     store.ThrowIfCancelledRequestOrDisposedOrUserNull(user, cancellationToken);
     return(await(from l in store.Context.DbGetQueryable <TUserLogin>() where l.UserId.Equals(user.Id) select new UserLoginInfo(l.LoginProvider, l.ProviderKey, l.ProviderDisplayName)).xToListAsync(cancellationToken));
 }
示例#2
0
        public static async Task xRemoveLoginAsync <TContext, TUser, TKey, TUserLogin>(this IIdentityUserLoginStoreWithContext <TContext, TUser, TKey, TUserLogin> store, TUser user, string loginProvider, string providerKey, CancellationToken cancellationToken = default)
            where TContext : class, IIdentityContext//, IIdentityContext_WithUserLogins<TKey>
            where TKey : IEquatable <TKey>
            where TUserLogin : class, IIdentityUserLogin <TKey>
            where TUser : class, IIdentityUserWithLogins <TKey>
        {
            store.ThrowIfCancelledRequestOrDisposedOrUserNull(user, cancellationToken);
            var entry = await store.xFindUserLoginAsync(user.Id, loginProvider, providerKey, cancellationToken);

            if (entry != null)
            {
                await store.Context.DbDeleteAsync(entry);
            }
        }
示例#3
0
        public static async Task xAddLoginAsync <TContext, TUser, TKey, TUserLogin>(this IIdentityUserLoginStoreWithContext <TContext, TUser, TKey, TUserLogin> store, TUser user, UserLoginInfo login, CancellationToken cancellationToken = default)
            where TContext : class, IIdentityContext//, IIdentityContext_WithUserLogins<TKey>
            where TKey : IEquatable <TKey>
            where TUserLogin : class, IIdentityUserLogin <TKey>, new()
            where TUser : class, IIdentityUserWithLogins <TKey>
        {
            store.ThrowIfCancelledRequestOrDisposedOrUserNull(user, cancellationToken);
            if (login == null)
            {
                throw new ArgumentNullException(nameof(login));
            }
            await store.Context.DbInsertAsync(user.xCreateUserLogin <TKey, TUserLogin>(login));

            await Task.FromResult(false);
        }