How Popular Is “Sign in with Apple”?
daringfireball.net
daringfireball.net
Testing on Android was next to impossible. To test I needed an Apple ID with 2FA. But SMS 2FA was not good enough, you need the hardware-based 2FA. To get that you need a recent macOS or iOS device. As an Android developer I have no reason to own either of those.
Eventually I just had a friend who owns an iPhone try my app a few times.
Besides that, the Apple interface guidelines are nearly impossible to follow on Android because Apple doesn't provide the logo or font assets you need to comply. There is no SDK whatsoever, just a spec.
Seems like a nice sign-in option for iPhone owners but it's a portability disaster.
This is how they keep people in. They have to close down their walls as tightly as possible, to force people in. And once you're in, they make it as hard as possible to leave.
I call old wives tales. I'm a close-to-20-years Apple user. The walled garden has never been a problem, more of a strength (integration, cohesion, etc).
Especially today where everything is a subscription, there has never been LESS of a walled garden in that regard. I can move anytime (and I do use also Windows and Linux) and I wont have any issue with OS X/iOS.
I just wont have my apps -- which has been the case for every OS ever.
My music is in Spotify and Apple Music, my video is Netflix and Amazon Prime and Apple+, my email is Gmail, my eBooks in Kindle for Mac and iOS, I talk with friends with Skype, Facetime, Messenger and Whatsup. Even my iCloud apps (Calendar, email, etc) are available from any browser.
Some "walled garden".
The reason I don't want to move from OS X/iOS is cohesion and usability. Despite BS like the 3+ years MBP keyboard fiasco or the not-really-useful BS touch strip, it's still the best HW/SW combo for my kind of computing (programming, lots of UNIXy stuff, lots of video and music as well).
Does Spotify somehow integrate with Apple Music and Netflix with Apple+? Because, if not, your counterargument is just "there's no walled garden because I'm outside it".
Spotify, Netflix, Google, Kindle, etc work on both platforms. Apple stuff doesn't. That's the definition of "walled garden", that you can't use Android and still use any Apple stuff.
No, my argument is "there's no walled garden because with subscriptions there are no walls to close you in".
Apple Music is a subscription, you move to Spotify or Pandora or Youtube Music or whatever and that's that. You don't have the loss of your music or whatever locking you down to either OSX/iOS or even Apple Music alone as the parent said. That would be an argument back when music was DRM files you have bought and which would have stopped working outside Apple's ecosystem.
Ditto of course for Netflix, Mail, etc.
The closest you can get to the "walled garden" is iBooks -- Kindle wont display books you've bought there. But you can trivially just use Kindle app on macOS/iOS and problem solved. Apple's not forcing you to use iBooks.
You just lose playlist and ratings
> you can trivially just use Kindle app on macOS/iOS
Except Apple cripples features of the Kindle app (you cannot buy books through the app because if you did, Apple would demand a 30% cut that represents all of the Amazon profits) that are not crippled in Apple's own offering.
I've never seen any Google app being a problem on iOS, much less garbage. It just doesn't have the native look due to Material theming.
edit: I should mention that while I don't like their walled gardens in general, I don't mind them for other people except iMessage. iMessage makes me fairly angry because they're using & dividing people's social connections for profit.
I think you should be pissed at bottom barrel Android manufacturers putting shitty messaging interfaces on Android phones more than Apple for having a good messaging system.
I'm still using SMS for most of my messaging, and I primarily blame Apple for that.
What your real complaint is that there isn’t an client for a nonApple operating system. It’s reasonable to not want to switch OSes, but there are many apps that are iOS exclusive, as there are many android exclusive apps, but I wouldn’t call them “walled gardens”.
Also, iMessage doesn’t make money. It an e2e encryption app with sms support. Because it’s provided by Apple, a company that famously makes money on hardware rather than services, there’s no incentive to mine your (and your connections’) data for profit, like say WhatsApp, or the others, so it is incorrect to claim they are “using & dividing people’s social connections for profit”. If anyone is dividing their connections based on iMessage, it’s your friends.
[0] https://www.cultofmac.com/314343/use-a-third-party-whatsapp-...
No whataboutism please.
Are you talking about the unwillingness of users to migrate their chats to WhatsApp, Facebook Messenger, etc? That’s not a walled garden - that’s the natural hesitance to leave any comfortable/familiar system that any social media / network effect site/app has. It’s more like a psychological moat. And even the app you want Apple users to migrate to has it.
Can you point me to a company that doesn't do this? I would think "but $hardware to use $network" is preferable to "use $network for free, but sell everything you put on the $network"
> I'm a close-to-20-years Apple user. The walled garden has never been a problem.
Obviously it's not a problem to people inside the garden, that's the whole point. It's meant to be a problem to people who are outside, to get them to come in.
As someone who has never had any Apple product, every time I come anywhere near anything by Apple, it's nothing but issues. As mentioned above, any time I'm linked an iTunes album page, I can't do shit with it. I'm not going to install iTunes just to listen and purchase the album. Is it cohesion to force me to download and install a program to purchase an album?
>My music is in Spotify and Apple Music, my video is Netflix and Amazon Prime and Apple+, my email is Gmail, my eBooks in Kindle for Mac and iOS, I talk with friends with Skype, Facetime, Messenger and Whatsup. Even my iCloud apps (Calendar, email, etc) are available from any browser.
How do you actually benefit from the 'cohesion' in this situation, more say than my KDE/android setup which provides fairly seamless integration between my phone and computer?
I’m not going to apologise for Apple, but I thought this sign in feature was iOS specific. They’re offering to proxy your email on their own account and buying an iPhone pays for that. It’s a privacy feature so that you can protect your personal email, it’s not federated auth.
A better example is that I think the Apple Music API is pretty robust now. That’s been some time in the making.
For all of IE's/Edge's faults (and there are tons), at least they offer public VM images.
What does that mean? If you want to test Safari you only need a Mac or an iPhone, which Google has plenty of since they make native software for those platforms. If they want to test Chrome on a Mac, they can also test stuff with Safari on that same Mac.
Considering that a) Stadia officially supports macOS and b) most Google engineers use Macs, I don't think that's really a valid argument here. They just want people to use Chrome, full stop.
Didn’t the Homebrew creator give some huge stat number for amt of Google employees who use Homebrew (so Mac) during the drama of him not being hired?
Stadia is still very early tech, it doesn't even support 90% of Android phones, let alone other devices and browsers. YTTV works on iOS, but yes the lack of Safari support is a bit shitty. Still, most of the limitation are technical, not forced.
It’s not oAuth or SSO.
This obviously didn't work out for it in the late 80's and 90's. But its fortunes changed by the mobile device era. One challenge of this model is that you have to maintain execution excellence in not one, but two separate areas. Both your hardware and design execution, as well as your software engineering, have to be industry leading. If either one falls short, it brings down the other.
NeXT on the other hand was always intended to run on diverse architectures, not sure on the timeline vs. Windows NT, which had the same model (with the HAL, multiple kernels etc.). It's pretty sad to see that go away, but it also makes total sense; modularity and USP-as-a-service doesn't pay off and doesn't make users (the mass of them) happy. Loosely coupled but highly cohesive systems work best, it's why classic Mac OS completely failed in at the end of its life, and why all the other projects at Apple were a dead end compared to the *nix projects (and of course buying NeXT). It's also why NT worked, and why at some levels Android fails miserably. (but Google notices and started to fix the cohesion issue at the OS level with Android One and their patching methods vs. complete monolithic OS upgrades which then needs vendors to back port)
> For the longest time you couldn't even preview songs on iTunes store without having iTunes.
I'm confused what the use case for this is?
> Want to watch their biggest WWDC live? Had to use Safari until last year.
Keynote streaming has had a long, weird history over the past decades. Even when Quicktime was dominant, they would only occasionally stream it live. My understanding over the past decade or so has been they've used "standards" to stream, but just the standards Safari had implemented. I just don't think they cared that much about getting it to any home users live.
It's just HLS, which Chrome didn't support
I get that we’ve got stuff like MPEG DASH and Web RTC now and so the use case for HLS is mostly fulfilled, but having a couple different options for streaming live video with low latency to massive audiences is nice and allows folks like me who have worked in this space to offer multiple options when designing a streaming systems.
So no, Chrome should really not support HLS nor should it support MPEG DASH: Safari should just support Media Source Extensions. Apple finally did support Media Source extensions at some points on desktop Safari, which makes some sense as they effectively lost the war for the browser on macOS: no one was going to go to the ludicrous cost to support HLS (which would require you storing not just extra copies of all of your assets but also storing many copies of your audio as I am pretty sure HLS doesn't support separated streams) for Safari users given the existence and already-dominance of Chrome.
(FWIW, the cost of the duplicate storage was such a "bottom line" reason for websites to not support HLS that Apple finally decided to break a bit and support the MPEG DASH fragment files in Safari 10. It still is an extra implementation burden to support this hard coded spec and hobbles the entire industry to "whatever capabilities are sort of supported by HLS" instead of "whatever can be imagined on top of Media Source Extensions", but it no longer isn't "a major cost of our business operations is going to more than double".)
But, they still have not implemented it on iOS, because there they have control over the browser (disallowing any alternative) and are also a force in the mobile market you can't ignore (which is why this should be illegal). This means that you are forced as a content provider to support HLS so you can target iOS users (and before Apple lost, macOS Sadari), and that's the only reason anyone cares at all about HLS. HLS offers absolutely no advantages to MPEG DASH to anyone but Apple, and so would be dead if it weren't for Apple's active resistance to Media Source Extensions.
Regarding HLS vs. the rest: HLS was developed around 2008 and published somewhere in 2009 IIRC, while MSE was at least 5 years later. At the same time; MSE has been supported since Safari 8 (macOS) Around 2015, according to WikiPedia, which is the same year FireFox gained support for it. Not sure about iOS.
Practically: Apple supports MSE and some DRM natively on the desktop just fine, and YouTube, Netflix etc. are using it at least since 2015 or thereabout. Also, most embedded video players in HTML5 just load a simple player framework that switches to the best available option. That might be MSE or HLS, but in the past it would also switch to Flash, RTSP and that windows media stuff.
Imagine if Google would just "forget" to keep supporting H.264 on YouTube and only served VP9 unsupported in Safari and iOS.
I want to buy an album by an obscure artist that decided to only put their songs on iTunes. There is literally no way for me to by said album without downloading and installing a giant program.
They've seen fixed their web store and also split iTunes into pieces, but that was an issue for many years.
> Keynote streaming has had a long, weird history over the past decades
Sure but I'm not talking about decades ago, but even 2 years ago. In 2017.
> I just don't think they cared that much about getting it to any home users live.
Right, that's my point, they don't care about anyone outside their ecosystem.
That has shifted slightly since as a services company you can now make money without selling devices, and as other standards have become available (HLS was an Apple-only thing in the past, the rest had to use either Adobe or MS streaming stuff, unless you were into QTSS from 1995).
While there are plenty of things to like and dislike about Apple and what it produces, in the end, they are not going to care about people that will neither deliver money nor increased brand status.
I'm sorry but outright making it hard for a non-significant subsection of people to buy music on your music store is just plain stupid. The only way to justify it is that losing such customers is worth it if it helps them keep their walled garden tight.
But sometimes, it also keeps iOS users out of stuff. For example, in Germany, Android has a market share of 70%. Hence, iMessage is useless here, because the majority can’t be reached. Thus, WhatsApp has the biggest market share for messaging services.
Now, it probably doesn’t matter for Apple, but it prevents the iMessage experience for most iPhone users in Germany, because it’s kinda useless here. I guess the same is true for most European countries.
Nonsense. On my Mac, I can export all my pictures from Photos as jpeg (or several other formats); contacts as .vcf; calendars as .ics; documents in several portable formats; my music is in iTunes as (unencumbered) mp3 or m4a, nicely organised by Artists and Albums; emails are in traditional .mbox files, unless I'm mistaken, but at any rate mailboxes can be exported; even Messages are available in some directory in the Library folder, though in an ugly XML-y format; etc.
I don't know how easy other OSes make it to "leave", but you can't really argue that Apple is trying to make it hard (except by making the garden more beautiful, safe, and well organised than the others).
1. Lack of multilingual spell checking (without having to manually switch languages). For non English natives this is a must since we write in at least 2 languages every day. There is an extension that tries to solve this but it is quite slow to the point that I've had to disable it.
2. It just feels slower than Chromium browsers and Safari, at least on macOS. In Windows it's blazing fast but I have a Ryzen 3700X there.
3. On my MBP I get random CPU spikes from time to time and I'm forced to close and reopen FF. I haven't seen this in my iMac or Windows machine. I've never experienced this with any other browser.
4. On Android FF seems to be a battery hog. I haven't done any serious measuring but since I switched to FF my battery has gone from 3-4 days between charges to 2-3 days.
Minor issues:
1. I think the UI is inferior to all other browsers
2. I've had sync issues. I try to login to a website and for some reason FF will not write the credentials unless I manually sync. This has happened in iOS and Android.
3. I've had several minor issues on iOS. For example yesterday there was a weird bug in Twitter with the keyboard suggestions. I know it uses WKWebView under the hood but Chrome for iOS does not have those issues.
4. For some reason Mozilla decided to remove an extension that I use very frequently called UI Stack.
It might be more "correct" in some ways, especially from a graphic design / typography standpoint, but it looks fuzzy when you put it next to ClearType on the same screen.
https://damieng.com/blog/2007/06/13/font-rendering-philosoph...
https://blog.codinghorror.com/whats-wrong-with-apples-font-r...
iTunes was multiplatform (Windows & OS X), if Apple wanted they could invest the resources to do so for Apple Music. Apparently it is not a priority tho
I guess this is the part I don't understand. How did you plan to test across platforms if you don't have an iOS device with which to test?
In this case, the author might be part of the Android team, instructed to make Sign in with Apple work on Android, and they may not even be in the same physical location as the iOS team.
Truth. And why cross platform tools like React and Flutter are just getting more popular.
I’m right in the middle of making that choice right now. But it’s definitely clear I can’t support true native apps.
Apple make it such a pain in the ass to get Apple IDs. For example, they block emails from small domains. So I can't use my company email address to get an apple ID.... and I found that out by googling cryptic error messages, they don't even tell you.
They don't want you to have multiple Apple IDs, so you need to store the credentials of your main Apple ID on your build server if you want to notarize apps (which is required for distribution). Also, the notarisation service doesn't support 2FA, so you need to get an app-specific-password that bypasses 2FA.
It's ridiculous. Their security system is so complex and full of holes...
https://support.apple.com/guide/apple-business-manager/what-...
https://support.apple.com/guide/apple-business-manager/creat...
Not the consumer Apple IDs. This lets you programically generate the Apple IDs (you can even set permissions on them).
Works great.
Not that they've made it straightforward to make it explicit who should use what, or anything, but they do have solutions for this. It also has other perks (like being able manage distribution of your app)
To be fair to anyone, the Developer Documentation does not talk one bit about this, at all, as a solution.
OT, but Apple is doing the right thing here: SMS is not a robust 2FA solution. A recent discussion: https://news.ycombinator.com/item?id=22016212
On the other hand, Google does even worse: sometimes it requires 2FA with SMS when I have specifically turned it off, knowing I'll be abroad without SMS connectivity. Still, Google doesn't give a shit on disabled settings and still demands 2FA auth on connects from previously unused addresses. The only reliable way to circumvent this is to use a VPN with a fixed address, so Google always thinks it's a 'same' location.
This is the EXACT issue we had when Apple Pay/Android Pay came out. The solution was for POS vendors to just implement both, always.
SO, that's the solution here.
This is FUD spread by Apple after poor uptake of Apple Pay. The reality is that many retail chains and restaurants either hadn't enabled the NFC chips in their payment terminals, or were using old terminals that didn't even have NFC functionality, and thus did not work with Apple Pay. Retailers that supported NFC payment prior to the launch of Apple Pay supported Apple Pay at launch.
Retailers are not about spending millions of dollars to upgrade working point-of-sale machines just to make Apple more money.
https://www.macrumors.com/2014/10/25/cvs-disabling-nfc-apple...
Perhaps they were lying, or mistaken.
But you were specifically calling out my claim of chain stores deliberately eschewing Apple Pay as FUD, which is weird, because they were quite open about it at the time. Walmart has kept up their QR-code-only approach, while the others gave up on CurrenC eventually.
The store chooses which credit cards to accept (at the birds-eye level, i.e., Amex, Discover, Mastercard, Visa), and the POS sends the transaction to the appropriate card processor based on the identifying digits in the card number (the first 4).
Apple Pay transactions are identified as Visa transactions, so Visa would handle the transaction...if the POS terminal is configured to accept NFC cards. Most older ones don't even have NFC functionality, and until 2 years ago even terminals with NFC functionality didn't have it enabled because they were shipped before NFC payments was a thing. Today, almost all POS terminals come with NFC payment built-in and enabled.
What's the deal with that? I've pretty much given up even trying to tap with my Amex because of how frequently it gives that message.
So basically it's like everything that Apple makes
Oh, and don't even consider emulators - the iOS device emulators are trash.
To be clear I did resolve this situation with the Apple ID by asking an iOS-focused teammate of mine to test the app for me, that's somewhat besides the point though.
I was trying to add a feature, Sign in with Apple, to my Android app. This is supposed to be possible. It turns out it is, but it was significantly harder than adding any other form of authentication to my app than I've ever tried.
If they want it to be developer friendly they could:
* Allow the creating of "testing" Apple IDs without the 2FA requirement
* Have docs that actually mention best practices on non-iOS platforms
* Maybe even provide a basic SDK
I wasn't calling Apple evil or saying I couldn't afford a Mac, I was just calling out a bad developer experience.Of course you do: Please implement this iOS application/feature in Android.
Not being able to run an application from Xcode onto an iOS device severely hampers your career. I have to deal with so many Android developers and their output I absolutely cannot afford the luxury to not run Android apps from Android Studio.
I don't think Sign In With Apple will be a huge hit on Android anyway. But perhaps you could share your code on Github for people that run into the same requirements?
Either you get a $75 iPhone SE or you have something for free with your MacBook. Anyone with a computer still wants to use a hardware Android device for any serious testing. And then there's the differences between all of the builds between the brands. I bet you want to test on a Xiaomi before you want to declare that push notifications work.
Yes, this is the expensive part. Obviously if you are developing for iOS or porting an iOS app then you need the hardware. But it seems like an unusually high barrier for implementing a "sign in with" button.
As soon as you're going to be involved in designing or building back-end API's and features that cross a lot of layers not being able to run applications from Xcode and Android Studio and understanding the other platform no matter if you're an iOS developer or Android developer limits your career.
I need at least to see what my Android developer did for me before I can accept his or her work. That's what happens when you go up the ladder. That's why I have the full toolchain on my computer and obviously bought an Android phone.
So it makes sense that for you, spending $0 to test on Android makes sense, but on the flip side, Apple has intentionally engineered their developer program to have a four figure entrance fee, and frankly most indie developers can't shell out potentially several thousand dollars on OSX/iOS devices and licenses just to do some testing, especially when as the developer above said, "they can ask a friend to test".
Sounds like these so-called “indie devs” who cannot afford to build for iOS devices should not tackle projects/clients that require building for iOS. Or, if a client is in the mix, bill the client a large enough fee to cover the cost of testing on real devices. That’s not a problem Apple is responsible for solving.
I would never rely on developing, testing, and releasing an Android app on a simulator alone. I don’t want to buy a bunch of Android devices. So I don’t take on work that is meant for Android, or I hire people who can properly test on devices. Pretty simple—and it’s both my choice and a matter of professional responsibility and accountability to ship work I can stand behind.
Apple isn’t going to change any time soon. I’m so tired of the disingenuous moaning from “indie devs” who want to take on projects for and make money from iOS, but can’t be bothered to get over their own personal anti-Apple feelings to buy a device.
The ecosystem of Apple devices are hardware and software. The simulators and build tools are never enough. You wouldn’t ship an app for Apple Watch without testing it on a watch, would you? Or would you ship it relying only on having one friend with an Apple Watch test it? Sounds lazy and unprofessional—and if an indie dev can’t do the job right, they shouldn’t take on the job.
That razor cuts both ways, and I'd point out that this situation is very similar to how OSX comes with Windows bootcamp, but a Windows 10 machine can't run OSX. If you run OSX, running Windows is something that you might just have to do. But if you're a Windows user, outside of walled garden development, there's not much point to OSX
While Android may make up the majority of devices worldwide, Apple devices are still very popular among wealthy clients (anyone living in the west would meet this criteria), which is ultimately the part of population business care about most.
Simply put, supporting Apple devices is very profitable. No company is going to leave money on the table due to niche ideological concerns.
https://www.statista.com/statistics/266572/market-share-held... https://gs.statcounter.com/os-market-share/mobile/united-sta...
That's nice if the only thing you do is selling eyeballs with adware. If you're actually looking to make money in sales you'd be a fool to not support iOS. I'd call it an obligation to your wallet.
My first MacBook (used for Xcode that is) costed 250 dollar coupled with a 200 dollar iPad 2 around 2013-2014. The iPad 2 was stolen and the MacBook 2008 kept working until around 2018 but was replaced in 2015.
But the grandparent simply needed to test a login feature that required iCloud. Any iPhone would do.
A new one, sure. You could buy a 2012 MBP on Craigslist for $200, and a refurbished iPhone 6 for $50 or less.
If you're going to be a mobile developer, supporting the android 80% is far cheaper and easier than supporting the iOS 20%. It then shouldn't be a surprise if the 80% get better support than the 20%.
Btw $200 is not throwaway money for everybody.
You don't, you can perfectly develop an android app without owning an iphone
BUT, if you're using features from another ecosystem, let's say something like an authentication system that has requirements, you have to fulfill those requirements, otherwise skip the feature.
Same goes if you want to support hardware-level U2F, you're gonna have to buy a key then.
I don't know how that's news for anyone, Apple has been doing this forever and they explicitly chase that goal as far as I know.
If you're saying "yeah, I want to support iOS/Sign in with Apple/AirDrop/Screenshare/Any other Apple feature" then you're entering the need of having more things to do with Apple. That's the cost of joining and leaving the ecosystem they created for themselves.
End users say, "I would like to be able to sign in with xxx." Developers say, "Your OS vendor doesn't want you to."
If I want to add "sign in with apple", I need to read some docs, then read a bunch of forum posts because the docs are incomplete, then go out and buy a used iphone somewhere, and you think that is completely normal??
I don't see any reason to defend that, it seems to be only in Apple's best interest, not mine.
Anyway, it's not $200 for a test phone, it's $200 just for a 2fa device. Meanwhile Yubikeys are $20 and have better battery life.
Personally not a fan of either, separate email/passwords everywhere is what I prefer. But I cant say I have come across a non-apple service/site that offered apple login.
I watched the keynote where they launched Sign in with Apple and was honestly surprised at how easy the implementation was. I thought it was a no-brainer to add it to my app. So, I follow their (severely lacking) docs and the keynote and get a solution working. Once the user logs in, their APIs hand you a token that you can then send to the server.
Then, I thought, how do I verify this token on the server? While they do have docs on it [1], they simply omitted it from the keynote to make their example "just work". I would be very surprised if everyone was verifying the token on their servers. Not doing so seems like a loophole for many apps.
[1] https://developer.apple.com/documentation/signinwithappleres...
Apple's public key can be found here.
However many developers can correctly follow the meager instructions to validate a token, the number who will properly implement a full auth system is even smaller...
Other than that, Apple also provides server-side verification for the validity of the token. Without that, the client could send a random string and the server wouldn't know the difference.
The first step (authenticating) returns a token with your app id, user email address, a unique user id, an expiration time 5m from issuance, and various other info.
Suppose the token is not verified. If the app only uses the email to identify a client, then a malicious/compromised user could pass your app a forged token to access another user's account.
If the app uses email and id, but not the other fields, then a replay attack is possible on a compromised user: the eavesdropper could simply send along an intercepted token to identify as the compromised user. If the timestamp is checked, this gets harder but is still doable.
The other benefit: once you have verified the token, you can also refresh it in the future (1/day max) to silently re-verify the user. If you instead "re-"verify by repeating the initial credential issuance process, the user will be prompted for 2FA verification.
I never take that option if there is anything else available. They don't need to see my signins on other sites, why should I just give it to them? For a few sites where it is utterly unavoidable I make one-off twitter accounts instead, because Twitter doesn't require your phone number to make an account and doesn't have a "only one account per person" policy I think.
1. It’s fast
2. It gives you a pseudonym
3. It doesn’t leak all your other social graph data
4. Doesn’t require a new password
The rest are:
1. Faster than creating an email, but will require redirects, and possibly logging into fb/google
2. May give you a pseudonym but often reveals your real name
3. Are used typically to build profiles of you and create stats on app popularity across demographics
4. Don’t require a new password.
I know they're very popular, but there's so much long-term unintended baggage with using these singe signon systems...even assuming Apple's doesn't have the nefarious parts most others have.
Over here, I just use Face ID and 1Password does the tedious filing-and-remembering part that computers are good at.
It's also easy in general to revoke permissions with these SSO providers rather than dealing with whatever the service's account cancellation protocol is.
And... 90% of the time, that's what I do, because I prefer to have separate logins for every site.
But sometimes, I just click the 'sign in with google' because it's a hell of a lot faster and easier.
It's a sign in to Apple, if not a sign in with Apple, and it's weird because what I'm trying to use is Google's Maps application without signing into anything. What is going on with all of this?
> not required if...Your app exclusively uses your company’s own account setup and sign-in systems.
So there’s no official guidance on the both/and case?
- If you only have social logins, you must implement apple sign in.
- If you only have your own login, you don't need to implement apple sign in.
- If you have both apple sign and your own login, you must implement apple sign in.
I would think that too, but the text is odd by saying "exclusively"
> Apps that exclusively use a third-party or social login service
> If you have both social logins and your own login, you must implement apple sign in.
which is my understanding as well! Would be nice if they explicitly handle this case as it's probably the majority.
EDIT: This is referring to email deliverability when attempting to contact private Apple relay addresses.
What is different in the privacy design of 'sign in with apple'?
> Sign in with Apple won’t track or profile you as you use your favorite apps and websites, and Apple retains only the information that’s needed to make sure you can sign in and manage your account.
https://developer.apple.com/documentation/signinwithapplejs/...
For someone who doesn't like a lot of what Apple does, this is a really nifty feature.
We just started integrating "Sign in with Apple" last week and are about to deploy it. Discovering the shielding of email addresses was a happy discovery, which I haven't seen before.
But maybe I'm naive, or biased because of my location and personal wants.
https://support.apple.com/en-us/HT210318
In essence, Apple generates a unique email address through their relay service that forwards to (and thus hides) your actual email address. It was widely considered a pretty major step in the right direction for user privacy.
At the very least, Apple knows which sites you're signing into, and has the unique e-mail addresses used at those sites, and has likely issued the authentication tokens for those sites. I'm not sure what's "utterly private" about this setup.
If you are developing an iOS or Mac app, sure, that's a meaningful data point and feature suggestion. It won't be equally important for everyone.
This is a big deal. If you're trying to sell an app instead of trying to sell ads, Apple users is your target market, even if your app is web, native Windows, or Android.
a) share my data with Apple (i.e. they get to know every time i sign in) and
b) makes me dependent on Apple (what happens to my account when i sell all my Apple devices?) ?
Some stats from my app where users have the option to either Sign in with Apple or use their phone number:
73% use Sign in with Apple and the rest using their phone number.
If it was a privacy issue, wouldn't people rather trust Apple than an indie developer?
They're only requiring this when there are other social login options available. It's not a bid to get access to your private information. It's designed to make it so you're not forced to share your information with Google/FB/Twitter. This existing is strictly better for users.
Some apps don't offer this as an option and force social login. Apple's new rules require Sign In With Apple any time a developer has implemented another social login. So, strictly speaking, this always guarantees more options for users. And Sign In With Apple doesn't leak any other information about you to the app developer. This is a win for privacy, even if it's not the best possible scenario. The world is not perfect. Measures to make it slightly less imperfect are how we walk the path to a better future.
Apple ID doesn't depend on having Apple devices, and you can associate it with arbitrary email addresses.
I suppose this is similar to any other “Sign in with” option, but it just seems more likely people will ditch Apple before they ditch gmail or Facebook, since they can keep those around pretty easily without using them or paying for them.
For Apple you need to pay money and actively use it to stay in the ecosystem.
It costs a lot to maintain yourself in the Apple ecosystem.
It seems like a great way for Apple to hoover up a heap information they probably don't need.
I also wonder how they are going to combat bounces and send back a usable error message. While they can perhaps do useful things with say a mailbox full bounce they are probably going to have to hide or at least obfuscate some other kinds of bounces.
This is not intended as a Platonic ideal of what authentication should be. Rather, it's intended as a better alternative to being forced to log in with Google/FB/Twitter, since those companies for sure aggregate and monetize your private information, whereas Apple probably does not.
Disclaimer: opinion/ venting my personal frustration ahead
Apple's implementation of the OAuth flow is incomplete (even compared to what their documentation says is possible) and buggy. We've found it very frustrating to work with. This may be one reason that widespread adoption of apple signin is taking a while.
Of course I expect the issues will be resolved with time
Sign in with your Apple account basically. It works nowhere near as well as on iOS or other Apple platforms, but I'm surprised they made it work.
Source: started integrating "Sign in with Apple" last week, I'm the developer and I'm using Ubuntu at work.
This way if they're breached, you don't care and they don't care, yet we can meet any compliance requirements the app/vendor has such as age checking, sanction list checking, anti-money laundering, counter terrorist financing etc.
We're eagerly looking for vendors interested in beta testing our service, as we have a working product (using OIDC, and/or we easily integrate with Wordpress) and are looking for the MVP/business model now.
Getting it integrated on a scale large enough to warrant regular people using it and having it in more than one app they use will be the biggest challenge you'll face. Focus as much percentage of your resources as possible there.
But what I wrestled with is the verification of the user on the server side after they've signed up (Apple suggests doing a daily verification of each user that uses Sign in with Apple) and also the annoyance of setting up trusted domains to be able to email your users.
Overall, it's great for users and for privacy but gosh it's a nightmare to setup for developers. Hopefully, Apple can somehow make it more seamless for developers in the future.
I'd rather they use oAuth than blunder their own implementation and risk a breach.
1. I don't need to remember a password to sign in
2. My real email is never shared with the service I'm signing up for
3. I had a new account in like 3 seconds without providing any personal information
If any Apple employees are reading this, you guys did a great job!
Unfortunately the downside of Social is that the SP can request additional information about you from the IdP. And when the IdP is a SP, ask for permissions to interact on the IdP's platform on your behalf. Sometimes these requests are transparent to the user, often the user does not understand what's being asked and permits requests for access.
Social Login also allows the IdP to track your interactions across sites, and enables the SP to uniquely identify you across their own properties. An SP can also do the later via Email Authentication.
Sign in with Apple prevents both IdP and SP tracking across properties. It also completely cuts out the IdP.
I think a lot of people are more privacy conscious today and/or have been burned by Social Sign-On. Sign in with Apple addresses those concerns and others that come with sharing your email address with an SP.
It is possibly an antitrust issue in an alternate universe in which our government still cares about antitrust issues, but since it's a net win for users, it might be a tough case to make.
No clue how popular it is but I quite like the idea.
That said, SSO logins are replacements for passwords, not usernames. You should always ask users for their email afterwards if you don't want to be bound to the service's whims who may decide to block you from their service or impose weird terms in the future, like how FB requires various forms of verification / interrogation to continue using their platform.
It is highly likely they know exactly who you are via the huge amount of metadata you and those around you leak. I would be impressed if your "opsec" was good enough to evade Facebook.
I wouldn't trust a closed-source solution to be the privacy-focused identity provider. And with "Apple Search Ads", Apple could also be considered as an advertising company.
I have actually started out to create a privacy-focused SSO solution named "Sign In with SimpleLogin" [1] before "Sign in with Apple" was announced. The solution is from the beginning meant to be open source and even self-hostable. It's superior than "Sign in with Apple" in several ways:
- The dev experiences is far better
- The random email part is customized
- Name, avatar could also be customized
If you visit the home page, you would notice that it's talking mainly about the email alias part as the SimpleLogin button is not implemented on popular websites yet, which hopefully will come soon.
That being said, there are valid use cases for tracking users across websites. I work for a nonprofit that does fundraising using every imaginable PaaS or SaaS platform as well as quite a few in-house developed tools. We offer an SSO experience across all of these various platforms and integration is a nightmare. OpenIDC, OAuth, SAML, ADFS, and lots of custom APIs.
It works for the most part everywhere except Safari where a few of our integrations just cannot and will not work due to their use of 3rd Party Cookies. Fortunately the way we've had to structure our solution, Sign in with Apple won't be much if any disruption to the status quo. It won't however help matters either.
Strong disagree.
It works for the most part everywhere except Safari where a few of our integrations just cannot and will not work due to their use of 3rd Party Cookies.
It sucks to have sunk so much time and effort into a solution only to have external factors render it unworkable, and I feel for you. But it is entirely possible to implement SSO across multiple domains without relying on 3rd party cookies. I know because we use Apereo CAS, which is one such solution at my company.
Yes it is, especially when you green field or have full control over the products. However there are times you do not have a lot of options when integrating with a vendor. Of course you can say "well choose another vendor" but that's not always up to you. Especially when you're dealing with legacy integrations.
Could you explain "valid use" more? I hope that you're not implying that we should allow all non-profits to track people across websites so they can do fundraising.
Our fundraisers and constituents as a whole have access to these tools to interact with us. Some of the products are self service, others require authorization. All of them are branded and the users consider that they're interacting with us and not the underlying product.
So we have a situation where we need to Authenticate a user and possibly authorize them to access tools with varying roles and degrees of access.
If a user needs access to Tool A but can't until they've completed training in the LMS, we have a situation where we need to identify and track a user across disparate platforms.
It's not unlike having a Microsoft Account shared across Azure, DevOps, Office 365, and TechNet. Or a single Google Account to access Drive, Developer APIs, and Gmail.
Normally they write a cookie the other domains can read.
Unfortunately, non-profits I've seen tend to be really bad at privacy because they need to a) keep things cheap and b) have a significant presence on advertisement platforms.
Some vendors use OpenIDC, others use SAML, others use OAuth, some even use WS-Trust, while quite a few use custom authentication based off something Google did in 2006. Many say they support OpenIDC, SAML, or OAuth when in reality they have something loosely resembling those protocols.
The landscape has changed a lot in the 15 years I've been mucking about in identity. Entire industries were born to deal with the fact that Google, Facebook, Microsoft, and Yahoo! couldn't keep their authentication APIs stable for more than 2 months at a time. 10 years ago you signed up with Gigya, JanRain or Ping so that you didn't need a team of developers to actively maintain your SSO integrations with 3rd parties.
I don't. They have their users best interests at heart and their solutions have always left the functionality we needed there but that still doesn't mean they haven't been a thorn in my side by evolving their platforms.
That seems like an abuse of monopoly power.
[0] https://bitbucket.org/openid/connect/src/default/How-Sign-in...
[1] https://appleid.apple.com/.well-known/openid-configuration
https://developer.okta.com/blog/2019/06/04/what-the-heck-is-...
Why does a standard matter for justifying mandatory inclusion of ... anything? Most of their mandates probably lack any kind of standardization.
Shameless plug, I work for Skyscanner and we've had it since iOS 13 launch.
https://web.archive.org/web/20121215193303/https://www.craig...
really John? you expected a confirmation email to arrive? also, Google and Facebook don't require a confirmation email either