Hi folks,
I’m seeing there are multiple services which externalise the task of “identity provider” (e.g. login with Facebook, google or what not).
In my case, I am curious about Tailscale, a VPN service which allows one to chose an identity provider/SSO between Google, Microsoft, Github, Apple and OIDC.
How can I find out what data is actually communicates to the identity provider? Their task should simply be to decide whether I am who I claim to be, nothing more. But I’m guessing there may be some subtleties.
In the case of Tailscale, would the identity provider know where I’m trying to connect? Or more?
Answers and insights much appreciated! The topic does not seem to have much information online.
You can self host your identity provider and use OIDC to connect Tailscale. I myself use Authentik, a more established alternative in enterprise is Keycloak
Do you use Authentik specifically with Tailscale? That’s interesting, indeed I would definitely want that. I was under the impression that it required something like headscale but it seems not to be the case. Thanks!
Edit: minor edit.
I use Headscale, but I think I read somewhere that Tailscale allows custom OIDC providers now.
Can I ask how you set authentik up for tailscale? I tried that but got stuck with the webfinger step. I can’t wrap my head around that.
In terms of privacy, you are giving your identity provider insight to each of the third party services that you use. It may seem that there isn’t too much of a difference between using Google’s SSO vs using your Gmail address to register your third party account. However, one big distinction is that Google would be able to see often and when you use each of your third party services.
Also, it may be impossible to restrict the sharing of certain information from your identity provider with the third party service. For example, maybe you don’t want to share a picture of yourself with a service, but that service uses user profile pictures or avatars. That service may ask (and require) that you give it access to your Google account’s profile picture in order to authenticate using Google’s SSO. You may be able to overwrite that picture, but you also may not be able to revoke the service’s ability to retrieve it. If you used a “regular” local account, that Google profile picture would never be shared with the third party service if you did not upload it directly. The same is true for other information like email, first/last/full name, birthday, etc.
There are other security and operational concerns with using SSO options. With the variety of password managers available, introduction of passkeys, and increased adoption of multi-factor authentication, many of the security benefits associated with SSO aren’t as prevalent as they were 10 years ago. The biggest benefit is likely the convenience that SSO still brings compared to other authentication methods.
Ultimately it’s up to you to determine if these concerns are worth the benefits of using SSO (or the third party service provider at all if they require SSO). I have a feeling the common advise will be to avoid SSO unless its an identity provider that you trust (or even better - one that you host yourself) - especially if you’re using unique emails/usernames along with strong and unique passwords with multi-factor authentication and/or passkeys.