     
     // MARK: - Private constants
     
-    private static let usernameKey = "username"
-    private static let passwordKey = "password"
     private static let logInViaSharedCredentialsKey = "MultiAuth.logInViaSharedCredentials"
     
     
     // MARK: - Private properties
     
     private let serverURLString: String
+    private let onePasswordExtension = OnePasswordExtension.sharedExtension()
     
     
     // MARK: - Initializer


import UIKit
import MobileCoreServices

public struct MultiAuthService {
    

    // MARK: - Public API
        
    public func retrieveCredentialsFromActivityViewController(urlString: String, fromViewController viewController: UIViewController, sender: AnyObject, storedHandler: (username: String?, password: String?, errorMessage: String?) -> ()) {
        let keychainActivity = KeychainActivity()
        keychainActivity.handler = storedHandler
        
        onePasswordExtension.findLoginForURLString(urlString, forViewController: viewController, sender: sender, applicationActivities: [keychainActivity]) { loginDictionary, error in
            if let loginDictionary = loginDictionary where error == nil {
                let username = loginDictionary[AppExtensionUsernameKey] as? String
                let password = loginDictionary[AppExtensionPasswordKey] as? String
                storedHandler(username: username, password: password, errorMessage: nil)
            } else {
                storedHandler(username: nil, password: nil, errorMessage: error?.localizedDescription)
            }
        }
    }
    
    public func saveSharedCredentials(username username: String, password: String) {
