diff --git a/src/iOS.Core/Services/KeyChainStorageService.cs b/src/iOS.Core/Services/KeyChainStorageService.cs index 4ccfe35d4..2b430606d 100644 --- a/src/iOS.Core/Services/KeyChainStorageService.cs +++ b/src/iOS.Core/Services/KeyChainStorageService.cs @@ -66,9 +66,9 @@ namespace Bit.iOS.Core.Services { var record = new SecRecord(SecKind.GenericPassword) { - Service = NSBundle.MainBundle.BundleIdentifier, + Service = "com.8bit.bitwarden", Account = key, - AccessGroup = "TEAMID.bitwarden" + AccessGroup = "TEAMID.com.8bit.bitwarden" }; if(data != null) diff --git a/src/iOS.Extension/ActionViewController.cs b/src/iOS.Extension/ActionViewController.cs index f3bacaa49..74c29bea4 100644 --- a/src/iOS.Extension/ActionViewController.cs +++ b/src/iOS.Extension/ActionViewController.cs @@ -9,7 +9,6 @@ using Foundation; using MobileCoreServices; using Newtonsoft.Json; using UIKit; -using Microsoft.Practices.Unity; using XLabs.Ioc; namespace Bit.iOS.Extension @@ -33,15 +32,10 @@ namespace Bit.iOS.Extension { base.ViewDidLoad(); - Debug.WriteLine("BW LOG, Container"); var siteService = Resolver.Resolve(); - Debug.WriteLine("BW LOG, siteService: " + siteService); var sites = await siteService.GetAllAsync(); - Debug.WriteLine("BW LOG, sites: " + sites.Count()); var siteModels = sites.Select(s => new SiteViewModel(s)); - Debug.WriteLine("BW LOG, siteModels: " + siteModels.Count()); var filteredSiteModels = siteModels.Where(s => s.HostName == Context.Url?.Host); - Debug.WriteLine("BW LOG, filteredSiteModels: " + filteredSiteModels.Count()); tableView.Source = new TableSource(filteredSiteModels, this); AutomaticallyAdjustsScrollViewInsets = false; } @@ -98,10 +92,16 @@ namespace Bit.iOS.Extension public override void RowSelected(UITableView tableView, NSIndexPath indexPath) { + var item = _tableItems.ElementAt(indexPath.Row); + if(item == null) + { + _controller.CompleteRequest(null); + } + NSDictionary itemData = null; if(_context.ProviderType == UTType.PropertyList) { - var fillScript = new FillScript(_context.Details); + var fillScript = new FillScript(_context.Details, item.Username, item.Password); var scriptJson = JsonConvert.SerializeObject(fillScript, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var scriptDict = new NSDictionary(Constants.AppExtensionWebViewPageFillScript, scriptJson); itemData = new NSDictionary(NSJavaScriptExtension.FinalizeArgumentKey, scriptDict); @@ -109,21 +109,21 @@ namespace Bit.iOS.Extension else if(_context.ProviderType == Constants.UTTypeAppExtensionFindLoginAction) { itemData = new NSDictionary( - Constants.AppExtensionUsernameKey, "me@example.com", - Constants.AppExtensionPasswordKey, "mypassword"); + Constants.AppExtensionUsernameKey, item.Username, + Constants.AppExtensionPasswordKey, item.Password); } else if(_context.ProviderType == Constants.UTTypeAppExtensionFillBrowserAction || _context.ProviderType == Constants.UTTypeAppExtensionFillWebViewAction) { - var fillScript = new FillScript(_context.Details); + var fillScript = new FillScript(_context.Details, item.Username, item.Password); var scriptJson = JsonConvert.SerializeObject(fillScript, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); itemData = new NSDictionary(Constants.AppExtensionWebViewPageFillScript, scriptJson); } else if(_context.ProviderType == Constants.UTTypeAppExtensionSaveLoginAction) { itemData = new NSDictionary( - Constants.AppExtensionUsernameKey, "me@example.com", - Constants.AppExtensionPasswordKey, "mypassword"); + Constants.AppExtensionUsernameKey, item.Username, + Constants.AppExtensionPasswordKey, item.Password); } else if(_context.ProviderType == Constants.UTTypeAppExtensionChangePasswordAction) { diff --git a/src/iOS.Extension/Entitlements.plist b/src/iOS.Extension/Entitlements.plist index 78cc93a17..b20900dcc 100644 --- a/src/iOS.Extension/Entitlements.plist +++ b/src/iOS.Extension/Entitlements.plist @@ -8,7 +8,7 @@ keychain-access-groups - TEAMID.bitwarden + $(AppIdentifierPrefix)com.8bit.bitwarden diff --git a/src/iOS.Extension/Models/FillScript.cs b/src/iOS.Extension/Models/FillScript.cs index 32d02faab..568107585 100644 --- a/src/iOS.Extension/Models/FillScript.cs +++ b/src/iOS.Extension/Models/FillScript.cs @@ -7,7 +7,7 @@ namespace Bit.iOS.Extension.Models { public class FillScript { - public FillScript(PageDetails pageDetails) + public FillScript(PageDetails pageDetails, string fillUsername, string fillPassword) { if(pageDetails == null) { @@ -36,11 +36,11 @@ namespace Bit.iOS.Extension.Models if(username != null) { Script.Add(new List { "click_on_opid", username.OpId }); - Script.Add(new List { "fill_by_opid", username.OpId, "me@example.com" }); + Script.Add(new List { "fill_by_opid", username.OpId, fillUsername }); } Script.Add(new List { "click_on_opid", password.OpId }); - Script.Add(new List { "fill_by_opid", password.OpId, "mypassword" }); + Script.Add(new List { "fill_by_opid", password.OpId, fillPassword }); if(loginForm.HtmlAction != null) { diff --git a/src/iOS/Entitlements.plist b/src/iOS/Entitlements.plist index 78cc93a17..b20900dcc 100644 --- a/src/iOS/Entitlements.plist +++ b/src/iOS/Entitlements.plist @@ -8,7 +8,7 @@ keychain-access-groups - TEAMID.bitwarden + $(AppIdentifierPrefix)com.8bit.bitwarden