public async Task AddLoginAsync(T user, UserLoginInfo loginInfo) { if (user == null) { throw new ArgumentNullException("user"); } if (loginInfo == null) { throw new ArgumentNullException("loginInfo"); } var userLogin = new UserLoginEntity(user.Id, loginInfo.LoginProvider, loginInfo.ProviderKey); await _userLoginTable.ExecuteAsync(TableOperation.Insert(userLogin)); var userLoginProviderKeyIndex = new UserLoginProviderKeyIndexEntity(user.Id, userLogin.ProviderKey, userLogin.LoginProvider); await _userLoginProviderKeyIndexTable.ExecuteAsync(TableOperation.InsertOrReplace(userLoginProviderKeyIndex)); }
public async Task RemoveLoginAsync(T user, UserLoginInfo loginInfo) { if (user == null) { throw new ArgumentNullException("user"); } if (loginInfo == null) { throw new ArgumentNullException("loginInfo"); } var userLogin = new UserLoginEntity(user.Id, loginInfo.LoginProvider, loginInfo.ProviderKey) { ETag = "*" }; await _userLoginTable.ExecuteAsync(TableOperation.Delete(userLogin)); var userLoginProviderKeyIndex = new UserLoginProviderKeyIndexEntity(user.Id, userLogin.ProviderKey, userLogin.LoginProvider) { ETag = "*" }; await _userLoginProviderKeyIndexTable.ExecuteAsync(TableOperation.Delete(userLoginProviderKeyIndex)); }