public async Task <UserDefinition> FindByLoginAsync(string loginProvider, string providerKey, CancellationToken cancellationToken) { using (UserLoginInfoDataProvider logInfoDP = new DataProvider.UserLoginInfoDataProvider(CurrentSiteIdentity)) { UserDefinition user = await logInfoDP.GetItemAsync(loginProvider, providerKey); return(user); } }
// IUserLoginStore // IUserLoginStore // IUserLoginStore public async Task AddLoginAsync(UserDefinition user, UserLoginInfo login, CancellationToken cancellationToken) { using (UserLoginInfoDataProvider logInfoDP = new DataProvider.UserLoginInfoDataProvider(CurrentSiteIdentity)) { await logInfoDP.AddItemAsync(user.UserId, login.LoginProvider, login.ProviderKey); } using (UserDefinitionDataProvider dataProvider = new UserDefinitionDataProvider(this.CurrentSiteIdentity)) { UpdateStatusEnum status = await dataProvider.UpdateItemAsync(user); switch (status) { case UpdateStatusEnum.RecordDeleted: throw new Error(this.__ResStr("delUser", "Can't update user {0}, because the user has been deleted.", user.UserName)); default: case UpdateStatusEnum.NewKeyExists: throw new InternalError("Unexpected update status"); case UpdateStatusEnum.OK: break; } } }
public async Task RemoveLoginAsync(UserDefinition user, string loginProvider, string providerKey, CancellationToken cancellationToken) { using (UserLoginInfoDataProvider logInfoDP = new DataProvider.UserLoginInfoDataProvider(CurrentSiteIdentity)) { await logInfoDP.RemoveItemAsync(loginProvider, providerKey); } }