Before SFSafariView, the only way to securely do OAuth was to launch the native Safari browser. This meant you'd get bounced out of the app, which a lot of developers didn't want to do to their users. I don't disagree that this was a bad experience, and plenty of people feel the same.
What ended up happening is people instead started embedding the WebView into their apps, in order to avoid having their users bounce out of the app and come back. The compromise in this case is that people would have to type their password to log in, because the embedded WebView doesn't share cookies with the system browser.
It took Apple a long time to roll out SFSafariView, so there are just a lot of apps out there that still have the embedded WebView.
Advantages of WebView: • Does not make the user leave the app to complete the OAuth flow
Problems with WebView: • User has no way to verify they are on the real website, so phishing attacks are undetectable • Does not share system cookies, so users have to type their password every time
Advantages of SFSafariView: • Does not make the user leave the app to complete the OAuth flow • The user can see the address bar so can verify they're on the correct website • Shares system cookies, so the user won't have to type their password if they've already signed in using the native Safari app
I should probably turn this into a proper blog post.
I am on the fence about whether to count today's sprint towards this goal. I started this morning by diving into catching up on accounting in my 3 Quickbooks files, which is something I've been trying to get better about doing regularly since I finally filed my taxes on time for the first time in 6 years. I spent a little over 2.5 hours on the accounting, and managed to get all caught up. (Of course I didn't screenshot that for obvious reasons.) So on that front, it was a successful morning. However, it was also over 80 degrees today which is way hotter than my comfort level and we don't have A/C in the apartment. This led to a relatively unproductive afternoon, and I never got enough energy up to do anything more creative. So on that front, I didn't make progress on my more interesting projects today. Overall, at least I have another data point to reaffirm that I am definitely more productive in the mornings!