title: Native iOS app with MSAL requires second login for webview to Sharepoint Online
body: <p>We have been able to successfully add the MSAL iOS Framework (0.4.2) to our app but are running into issues with the proper authorization being passed through to all web views in the app. Specifically, we are using the MSAL Framework as the initial login point for the app and then attempting to load other webpages that are tied to our Azure AD (Sharepoint, etc.). After the initial successful login using the framework, we are shown another login prompt on these webpages. This time the app knows that the user has logged into Azure AD on the device/app at some point and shows the account name for login, but requests the password again. Is there any reason why the MSAL Framework doesn't seem to be passing the Authorization piece to all of the app web views?</p>
  
  <p>We have configured the framework to use the <code>WKWebView</code> for local browsers instead of using a system browser. As well as tested using the default WKWebView from the framework and a Custom one from our app. We have also attempted to pass in custom Web Views that have a shared <code>WKProcessPool</code>.</p>
  
  <p>We have gotten this functionality working in a Java/Kotlin Android app as well as a Xamarin App for both Android and iOS.</p>
  
  <p>We have attempted to enable MSAL Logging but doing so causing the app to crash as it is closing the MSAL <code>WKWebView</code>.</p>
  
  <pre><code>open func initMSAL() throws {
  
      guard ClientID != nil , ClientID != "" else {
          NSLog("No ClientID Provided. Please Provide a ClientID")
          return
      }
  
      var msalauthority: MSALAuthority? = nil;
  
      let url:URL = URL(string: AUTHORITY)!
  
      msalauthority = try MSALAADAuthority(url: url)
      let msalConfiguration = MSALPublicClientApplicationConfig(clientId: ClientID!, redirectUri: REDIRECTURI, authority: msalauthority)
      self.applicationContext = try MSALPublicClientApplication(configuration: msalConfiguration)
      MSALGlobalConfig.defaultWebviewType = .wkWebView
  }
  
  
  open func acquireTokenInteractively() {
  
      guard let applicationContext = self.applicationContext else { return }
  
      guard self.Scopes.count &gt; 0 else {
          NSLog("No Scopes provided. Please provide Scopes.")
          return
      }
  
      let parameters = MSALInteractiveTokenParameters(scopes: self.Scopes)
      NSLog("WebView Value Type: %i", parameters.webviewType.rawValue );
      applicationContext.acquireToken(with: parameters) { (result, error) in
  
          if let error = error {
              NSLog("Could not acquire token: \(error)")
              self.delegate?.ProcessAuthResults(false, "Could not acquire token: \(error)")
              return
          }
  
          guard let result = result else {
  
              NSLog("Could not acquire token: No result returned")
              self.delegate?.ProcessAuthResults(false, "Could not acquire token: No result returned")
              return
          }
  
          self.AccessToken = result.accessToken
          NSLog("Access token is \(self.AccessToken)")
          self.delegate?.ProcessAuthResults(true, "Access Token received.")
      }
  }
  </code></pre>