<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>aswebauthenticationsession on Madison&#39;s Blog</title>
    <link>https://solarana.dev/tags/aswebauthenticationsession/</link>
    <description>Recent content in aswebauthenticationsession on Madison&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 29 Feb 2024 09:40:00 -0500</lastBuildDate><atom:link href="https://solarana.dev/tags/aswebauthenticationsession/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>New ASWebAuthenticationSession Features</title>
      <link>https://solarana.dev/2024/02/29/new-aswebauthenticationsession-features/</link>
      <pubDate>Thu, 29 Feb 2024 09:40:00 -0500</pubDate>
      
      <guid>https://solarana.dev/2024/02/29/new-aswebauthenticationsession-features/</guid>
      <description>New in iOS 17.4 is the ability to set headers on an instance of ASWebAuthenticationSession.
Like NSURLSession, simply add to the new additionalHeaderFields property.
However, this is not the only change. There is now a new initializer, initWithURL:callback:completionHandler:, which leverages the new ASWebAuthenticationSessionCallback class. This allows developers to more strictly control callback behavior by differentiating custom schemes and HTTP URL schemes.</description>
    </item>
    
    <item>
      <title>Fixing ASWebAuthenticationSession Presentation</title>
      <link>https://solarana.dev/2021/01/06/fixing-aswebauthenticationsession-presentation/</link>
      <pubDate>Wed, 06 Jan 2021 07:00:00 -0600</pubDate>
      
      <guid>https://solarana.dev/2021/01/06/fixing-aswebauthenticationsession-presentation/</guid>
      <description>ASWebAuthenticationSession uses a technology limited for Apple use called remote view controllers:
&amp;lt;SFAuthenticationViewController 0x7f9d21082200&amp;gt;, state: appeared, view: &amp;lt;SFSafariView 0x7f9d21a04da0&amp;gt;, presented with: &amp;lt;_UIFullscreenPresentationController 0x7f9d21a04b10&amp;gt; | &amp;lt;SFBrowserRemoteViewController 0x7f9d21075c00&amp;gt;, state: appeared, view: &amp;lt;_UISizeTrackingView 0x7f9d1f5658e0&amp;gt; Additionally, you do not get access to the view controller created when you start an authentication session, rather, you only get the opaque session object to retain until authentication is complete. This leads to an interesting problem where the controller is being managed exclusively by Apple and it attempts to adapt its presentation to the application&amp;rsquo;s content and it chooses something that does not fit your needs.</description>
    </item>
    
    <item>
      <title>UI Testing ASWebAuthenticationSession</title>
      <link>https://solarana.dev/2019/12/07/ui-testing-aswebauthenticationsession/</link>
      <pubDate>Sat, 07 Dec 2019 07:00:00 -0600</pubDate>
      
      <guid>https://solarana.dev/2019/12/07/ui-testing-aswebauthenticationsession/</guid>
      <description>UI testing provides additional opportunities to validate the correctness of your application. One challenge though is that sometimes, certain workflows interrupt the test execution, for example, requesting camera permission. To solve this, Apple provides the interruption handling API. However, there is a small problem when ASWebAuthenticationSession is in play.
For some reason, when the ASWebAuthenticationSession prompt occurs, the interruption handler needs some help realizing that the prompt is blocking the application.</description>
    </item>
    
    <item>
      <title>Designing a Better ASWebAuthenticationSession</title>
      <link>https://solarana.dev/2018/12/01/designing-a-better-aswebauthenticationsession/</link>
      <pubDate>Sat, 01 Dec 2018 10:00:00 -0600</pubDate>
      
      <guid>https://solarana.dev/2018/12/01/designing-a-better-aswebauthenticationsession/</guid>
      <description>As I have written before, the API provided by Apple to implement SSO via Safari leaves a lot to be desired. One of the main concerns is that starting a session automatically prompts for permission and if the user cancels, it can leave the user in a weird state. On top of that, the permission allowance is not remembered, so alert fatigue becomes real. Therefore, I decided to look at other Apple APIs to see how permission onboarding occurs to find better implementations.</description>
    </item>
    
    <item>
      <title>Disappearing SFAuthenticationSession</title>
      <link>https://solarana.dev/2018/08/23/disappearing-sfauthenticationsession/</link>
      <pubDate>Thu, 23 Aug 2018 18:00:00 -0500</pubDate>
      
      <guid>https://solarana.dev/2018/08/23/disappearing-sfauthenticationsession/</guid>
      <description>If you have an iOS application that contains sensitive information, you should be obscuring it somehow when the user leaves the application so that the system does not save a screenshot of the content and so that it is not viewable in the app switcher. Typically, you would do this by replacing the view hierarchy of the application&amp;rsquo;s window with a view controller with some static content and then restore it when the user returns.</description>
    </item>
    
  </channel>
</rss>
