Okta's NextJS-0auth troubles

(joshua.hu)

267 points | by ramimac 3 days ago ago

98 comments

  • cedws 3 days ago ago

    That’s funny. I spotted a similar issue in their Go SDK[1] a few years back. I was pretty appalled to see such a basic mistake from a security company, but then again it is Okta. [1]: https://github.com/okta/okta-sdk-golang/issues/306

    • cookiengineer 9 hours ago ago

      Kind of funny that stalebots are the new "won't fix" methodology to ignore security issues with plausible deniability.

      • c-hendricks 8 hours ago ago

        Yeah I got a kick out of that. "We might have fixed your issue, if we didn't, open a new one because we took so long acknowledging this one".

        • OptionOfT 4 hours ago ago

          Or 3 years later: can you verify this is still needed.

          Why on earth did I spend time in creating a reproducible example?

    • jonathaneunice 13 hours ago ago

      > I was pretty appalled to see such a basic mistake from a security company, but then again it is Okta.

      Oh. Em. Gee.

      Is this a common take on Okta? The article and comments suggest...maybe? That is frightening considering how many customers depend on Okta and Auth0.

      • parliament32 13 hours ago ago

        We evaluated them a while ago but concluded it was amateur-hour all the way down. They seem to be one of those classic tech companies where 90% of resources go to sales/marketing, and engineering remains "minimum viable" hoping they get an exit before anyone notices.

        • kenhwang 12 hours ago ago

          I'm convinced Okta's entire business model is undercutting everyone with a worse product with worse engineering that checks more boxes on the feature page, knowing IT procurement people aren't technical and think more checkboxes means it's better.

          • ecshafer 4 hours ago ago

            "Enterprise Software" is what Tobi Lutke called that in a keynote once. A focus on hitting as many feature checkboxes as possible at the cost of quality.

      • lq9AJ8yrfs 9 hours ago ago

        Among the reasons to leave my last job was a CISO and his minion who insisted spending $50k+ on Okta for their b2b customer and employee authentication was a bulletproof move.

        When I brought it up, they said they didn't have anyone smart enough to host an identity solution.

        They didn't have anyone smart enough to use Okta either. I had caught multiple dealbreakers-for-me such dubious / conflicting config settings resulting in exposures, actual outages caused by forced upgrades, not to mention their lackluster responses to bona fide incidents over the years.

        I use Authentik for SSO in my homelab, fwiw.

        • ecshafer 4 hours ago ago

          Keycloak is a great authentication suite, not that hard to configure and rock solid.

          Ill never understand this thinking.

          • mmsc 3 hours ago ago

            Keycloak has various vulnerabilities they haven't even responded to after a month of reporting them.

            • nh2 2 hours ago ago

              Disclose publicly then, if you haven't already?

              Definitely makes things safer than users not knowing about them.

      • Y_Y 11 hours ago ago

        Okta sucks balls. That's from my perspective as a poor sod who's responsible for some sliver of security at this S&P listed megacorp that makes its purchasing decisions based on golf partners.

      • swiftcoder 10 hours ago ago

        Yeah, I have the misfortune of inheriting a SaaS that built on auth0, and the whole stack is rather clownish. But they tick all the regulatory boxes, so we're probably stuck with them (until they suffer a newsworthy breach, at any rate...)

        • inkyoto 4 hours ago ago

          Okta and auth0 are, fundamentally, two distinct products – conceived, designed, and engineered by entirely separate entities.

          auth0, as a product, distinguished itself with a modern, streamlined architecture and a commendable focus on developer experience. As an organisation, auth0 further cemented its reputation through the publication of a consistently high-calibre technical blog. Its content goes deeply into advanced subjects such as fine-grained API access control via OIDC scopes, RBAC, ABAC and LBAC models – a level of discourse rare amongst vendors in this space.

          It was, therefore, something of a jolt – though in retrospect, not entirely unexpected – when Okta acquired auth0 in 2021. Whether this move was intended to subsume a superior product under the mediocrity of its own offering or to force a consolidation of the two remains speculative. As for the fate of the auth0 product itself, I must admit I am not in possession of definitive information – though history offers little comfort when innovation is placed under the heel of corporate, IPO driven strategy.

          • hexbin010 34 minutes ago ago

            Auth0 spent more time documenting and blogging about standards than documenting their own software. It was a bit bizarre. Their documentation was absent and or terrible IIRC

      • SAI_Peregrinus 12 hours ago ago

        Yep. They're an Enterprise™ company. That means they prioritize features purchasing departments want, not functionality.

      • hi_hi 10 hours ago ago

        We've recently moved to Auth0. I'm no security expert. Whats the recommended alternative that provides the same features and price, but without the risks suggested here?

        • mooreds 8 hours ago ago

          Heya, I work for FusionAuth. We have a comparable product for many use cases.

          Happy to chat (email in profile), or you can visit our comparison page[0] or detailed technical migration guide[1].

          0: https://fusionauth.io/compare/fusionauth-vs-auth0

          1: https://fusionauth.io/docs/lifecycle/migrate-users/provider-...

        • grinich 8 hours ago ago

          If you’re looking for b2b identity, I’m the founder of WorkOS and we power this for a bunch of apps. Feel free to email me, mg@workos.com

          • catlifeonmars 6 hours ago ago

            We use WorkOS to support some of our offerings but not for our own corporate identity/authentication. I’m not close to the project so I don’t have experience using WorkOS but definitely curious about replacing Okta.

        • Exoristos 10 hours ago ago

          It's not difficult to implement OAuth2. There are good libraries, and even the spec is not complicated. Or use AWS Cognito.

          • inkyoto 3 hours ago ago

            Constructing a new OAuth2/OIDC Identity Provider from the ground up is an undertaking fraught with complexity – and not of the elegant variety. The reasons are numerous, entrenched, and maddeningly persistent.

            1. OAuth2 and OIDC are inherently intricate and alarmingly brittle – the specifications, whilst theoretically robust, leave sufficient ambiguity to spawn implementation chaos.

            2. The proliferation of standards results in the absence of any true standard – token formats and claim structures vary so wildly that the notion of consistency becomes a farce – a case study in design by committee with no enforcement mechanism.

            3. ID tokens and claims lack uniformity across providers – interoperability, far from being an achievable objective, has become an exercise in futility. Every integration must contend with the peculiarities – or outright misbehaviours – of each vendor’s interpretation of the protocol. What ought to be a cohesive interface degenerates into a swamp of bespoke accommodations.

            4. There is no consensus on data placement – some providers, either out of ignorance or expedience, attempt to embed excessive user and group metadata within query string parameters – a mechanism limited to roughly 2k characters. The technically rational alternative – the UserInfo endpoint – is inconsistently implemented or left out entirely, rendering the most obvious solution functionally unreliable.

            Each of these deficiencies necessitates a separate layer of abstraction – a bespoke «adapter» for every Identity Provider, capable of interpreting token formats, claim nomenclature, pagination models, directory synchronisation behaviour, and the inevitable, undocumented bugs. Such adapters must then be ceaselessly maintained, as vendors alter behaviour, break compatibility, or introduce yet another poorly thought-out feature under the guise of progress.

            All of this – the mess, the madness, and the maintenance burden – is exhaustively documented[0]. A resource, I might add, that reads less like a standard and more like a survival manual.

            [0] https://www.pomerium.com/blog/5-lessons-learned-connecting-e...

      • pm90 9 hours ago ago

        okta is the worst. Their support is the worst (we always got someone overseas who only seemed to understand anything, probably they were trained on some corpus) and would take forever to loop in anyone that could actually help.

      • rozap 2 hours ago ago

        Yea auth0 is an absolute clown show.

  • Yasuraka 13 hours ago ago

    Okta is, if you may excuse my French, straight garbage.

    • altairprime 12 hours ago ago

      And too bad for everyone who was using their former competitor Auth0.

      • torton 4 hours ago ago

        I had a fairly fun time using Auth0 a few years back. The ability to run arbitrary code hooks at various points allowed us to do pretty interesting stuff in a managed way without resorting to writing or self-hosting something that was entirely flexible.

    • sbmthakur 12 hours ago ago

      Why if I may ask?

      • Yasuraka an hour ago ago

        Security and safety is all over their marketing but I have yet to hear anything about them that doesn't indicate either bumbling incompetence or gross negligence.

      • Hnrobert42 6 hours ago ago

        It's a fair question. I found them way better to implement SSO in my small startup than OneLogin.

        Using Auth0 in apps, I find their documentation bafflingly difficult to read. It's not like being thrown in the deep end unexpected to swim. It's like being injected at the bottom of the deep end.God help the poor non-native English speakers on my team who have to slog through it.

  • hypeatei 13 hours ago ago

    I think GitHub should allow disabling PRs. I don't believe most big corporations are interested in dealing with fly-by contributions because it might make them look bad or be riddled with quality issues.

    Also some projects like the Linux kernel are just mirrors and would be better off with that functionality disabled.

    • jchw 13 hours ago ago

      While that is true, I feel like it is irrelevant here since it seems like Okta definitely wants (and perhaps needs) the fixes. God only knows why GitHub still forces it on though. Early on it might've been some mechanism to encourage people to accept contributions to push the social coding aspect, but at this point I have no idea who this benefits, it mostly confuses people when a project doesn't accept PRs.

      • hypeatei 12 hours ago ago

        > Okta definitely wants (and perhaps needs) the fixes

        They definitely don't want them if their process requires signed commits and their solution is 1) open another PR with the authors info then sign it for them, and 2) add AI into the mix because git is too hard I guess?

        No matter how you slice it, it doesn't seem like there are Okta employees who want to be taking changes from third parties.

        • jchw 7 hours ago ago

          I think that they absolutely still want the free labor. All of those signals just suggest that they're not willing to reciprocate any effort that you put in when you contribute.

      • petre 12 hours ago ago

        Social on today's Internet = bots and occasionally trolls

    • mananaysiempre 12 hours ago ago

      GitHub actually can natively mark a repo as a mirror (or could? I can’t find an example now, but they have always been rare). The book-with-bookmark icon before “user / repo” in the page header is replaced by a mirror-and-reflection-ish–looking thing, and the badge after it changes from “Public” to “Public mirror”. Unfortunately, forcing you into “social coding” (wait, is that no longer on the homepage?) takes priority, so that mark can only be given out by GitHub staff through manual intervention, and it doesn’t often happen.

    • terminalbraid 10 hours ago ago

      Maybe the community should use less of github if github doesn't provide features the community finds useful.

  • theoldgreybeard 12 hours ago ago

    You couldn't pay me a billion dollars to use Okta.

    • pphysch 12 hours ago ago

      Sadly many people will spend a million dollars to use Okta for their 10,000 logins/day (read: <1 tps) instead of running their own Keycloak or Authentik or whatever.

      OIDC is not scary, and advanced central authorization features (beyond group memberships) are a big ole YAGNI / complexity trap.

      • p_ing 11 hours ago ago

        Running your own local AuthN/AuthZ is more than just 'install it on a box in the closet'. I don't blame anyone for letting one of the giants do this on their behalf -- they have the expertise, though I agree I wouldn't touch Okta.

        • kondro 6 hours ago ago

          Running your own AuthN/AuthZ with an off-the-shelf OSS is very straight-forward (as a SaaS product at least) and isn't any more burdensome from a security perspective than what you're already doing for your core service.

          This isn't email.

          • p_ing 6 hours ago ago

            Running Active Directory is as easy as it gets. Protecting the Golden Ticket is not.

        • pphysch 11 hours ago ago

          For your average enterprise it really is that simple. Register some IDPs. Connect a backend. Add some clients over time.

          Yes, you need someone to wear the IAM admin hat. But once you get it configured and running it requires 0.1 FTE or less (likely identical to whatever your Okta admin would be). Not worth 6+ figures a year and exposure to Okta breach risk.

          • p_ing 8 hours ago ago

            No, it isn't "simple". Protecting your IdP is critical and not easy.

            Yes, creating a SAML integration is easy, but that's only one piece of the puzzle.

            • pphysch 7 hours ago ago

              Paying Azure a little bit to run an AD instance for you, IF you need to run your own IDP (a big if), is not a bad play and does not prevent you from saving lots of money by not using a dubious product like Okta.

      • trollbridge 12 hours ago ago

        The workload to run Authentik locally is about identical to the workload to set up and configure Okta. (Or you could just fine someone who will host Authentik for you, if deploying a container is too hard for you.)

    • mrcwinn 12 hours ago ago

      You just literally saved me one billion dollars. The offer was incoming!

  • deepsun 8 hours ago ago

    Okta requiring to create a video for a pretty obvious vulnerability shows that Okta does not take security seriously, contrary to what they say at their earnings calls. Sounds like deceiving their investors.

  • DrammBA 10 hours ago ago

    I find it funny that this seemingly fictitious person Simen A. W. Olsen my@simen.io will forever be engraved as a co-author of a one-line change in the nextjs-auth0 repo.

    • letmetweakit 10 hours ago ago

      https://who.is/whois/simen.io

      He's not fictitious I think.

      • syncsynchalt 6 hours ago ago

        Simen Olsen is not fictitious, but the "my@" email/username seems to be. Zero hits on DDG, and only this article comes up in Google Search.

        • verdverm an hour ago ago

          Search has become so bad that zero hits is not the indicator it used to be, even DDG is struggling now.

          It's really evident in situations like this where you are looking for something specific. Seems like they all pushed too hard on the AI and the results are for averaged search queries. Using quotes and -term have become less helpful

          Conspiratorially, I wonder if this is intentional to drive more traffic to ai. I find myself using Google Deep Search more, which is honestly a better UX if it would stop writing damn reports and just give me a brief with links. Alas it ignores any instructions to change it's output format

  • filearts 12 hours ago ago

    I think it is distasteful and disrespectful to call out an employee by name in this way, regardless of the merit of the rest of the OP's post.

    • iloveplants 11 hours ago ago

      well, it was distasteful of to them to close op's pr and apply the same patch with improper attribution, and then use ai to respond when they were asked about it

      • atonse 11 hours ago ago

        I agree with the parent post that it's distasteful.

        There's no value in naming the employee. Whatever that employee did, if the company needed to figure out who it was, they can from the commit hashes, etc. But there's no value in the public knowing the employee's name.

        Remember that if someone Googles this person for a newer job, it might show up. This is the sort of stuff that can disproportionately harm that person's ability to get a job in the future, even if they made a small mistake (they even apologized for it and was open about what caused it).

        So no, it's completely unnecessary and irrelevant to the post.

        • Freak_NL 10 hours ago ago

          > Remember that if someone Googles this person for a newer job, it might show up.

          Not to sound too harsh, but this is a person who rudely let AI perform a task badly which should have been handled by just… merging/rebasing the PR after confirming it does what it should do, then couldn't be bothered to reply and instead let the robot handle it, and then refused to fix the mess they made (making the apology void).

          That's three strikes.

          • abraae 10 hours ago ago

            What if it's some junior given a job beyond their abilities, and struggling manfully using whatever tools they have to hand. Is it worth publicly trashing their name? What does their name really add to this article?

            • jabwd 5 hours ago ago

              A good lesson. If you as an employer look at this history, and handle it in the interview appropriately (what did you learn / do better now for example) you can figure out if they did.

              I'm sure lots won't, but if that is you as an employer you're worth nothing.

          • technion 10 hours ago ago

            I agree what occurred is quite egregious. But "use ai to talk to customers" and "play games with signed commits" sound much more like corporate policy than one employees mistake.

        • mmsc 5 hours ago ago

          Why would the company need to figure it out from commit hashes? It's all public, in public GitHub repositories, with the person's personal GitHub account: https://github.com/auth0/nextjs-auth0/pull/2381

        • Exoristos 10 hours ago ago

          > This is the sort of stuff that can disproportionately harm that person's ability to get a job in the future.

          Isn't that beneficial in this case?

        • parliament32 10 hours ago ago

          > Remember that if someone Googles this person for a newer job, it might show up.

          That's the whole point; I sincerely hope it does. Why would anyone want to hire someone that delegates their core job to a slop generator?

    • mmsc 5 hours ago ago

      (op here)

      On the one hand, you're right, it is distasteful, I completely agree. On the other hand, GitHub and Google and the public domain internet isn't everybody's CV that they can pick and choose which of their actions are publicised, tailored towards only their successes.

    • abigail95 3 hours ago ago

      How can it ever be disrespectful to publish truthful information about someone.

      What does respect mean and how was it violated by this post?

      I think you are far outside the mainstream of journalism norms and ethics and as such should bear the burden of explaining yourself further.

      I think you're the one being disrespectful.

    • DrammBA 10 hours ago ago

      I don't think it is distasteful or disrespectful, he's just explaining what happened and why, and he's obviously unhappy with the whole ordeal.

    • merrvk 9 hours ago ago

      They maintain a public repo.

      • nstart 6 hours ago ago

        Yea. I can see what the parent is getting at. However the linked PR's contain the employee name. Their username is the same name mentioned in the article. So it would have been the same even if the author had just mentioned the username instead (which would be completely acceptable in all cases). I think junior employee or not, it's clear that they have the autonomy to check a PR for errors and fix it. So it's very much on them.

  • rcleveng 12 hours ago ago

    Honestly when I saw Okta in the headline, I had assumed the article was going to say they were breached again.

    This one is amusing, and as another comment mentioned below, large companies are awful at accepting patches on github. Most use one-way sync tools to push from their internal repositories to github.

  • RagnarD 12 hours ago ago

    I've been quite happy with FusionAuth so far. Free to run on your own server, easy to understand and set up, easy to program against, reliable.

    • wingmanjd 11 hours ago ago

      We're another happy FusionAuth customer. We started with self-hosted but just moved to their hosted option this year.

  • fudged71 9 hours ago ago

    I'm currently building on the Auth0 SaaStarter because it seemed to be the only option in the market for something with all the core features enterprises are looking for. Is there an alternative that doesn't require building from scratch?

  • jchw 13 hours ago ago

    IANAL but unfortunately, I think the fix itself shown here might be too simple to actually clear the bar for copyright eligibility. (And in fairness to copyright law, it is basically the only sane way to fix this.) That means that there's probably not much you can really do, but I will say this looks fucking pathetic, Okta.

    • rikafurude21 12 hours ago ago

      I'm more confused by the fact that the OP freely submits a PR into an open source repo but then wants to use "copyright" because the code he submitted ended up being used under the wrong name, which was then corrected.

      • jchw 7 hours ago ago

        Licensing your code under open source licenses does not nullify your rights under copyright law, and the license in this case does not waive any rights to attribution.

        It would indeed be copyright violation to improperly attribute code changes. In this case I would absolutely say a force push is warranted, especially since most projects are leaning (potentially improperly) on Git metadata in order to fulfill legal obligations. (This project is MIT-licensed, but this is particularly true of Apache-licensed projects, which have some obligations that are surprising to people today.) A force push is not the end of the world. You can still generally disallow it, but an egregious copyright mistake in recent history is a pretty good justification. That or, literally, revert and re-add the commit with correct attribution. If you really feel this is asking too much, can you please explain why you think it's such a big problem? If it's such a pain, a good rule of thumb would be to not fuck this up regularly enough that it is a major concern when you have to break the glass.

      • detaro 12 hours ago ago

        Why is it confusing to you to expect attribution?

        • rikafurude21 12 hours ago ago

          thats not the confusing part, its rather confusing to threaten to sue for copyright because of mistaken attirbution

          • abigail95 3 hours ago ago

            Mistaken attribution, or taking something that doesn't belong to you and saying it belongs to someone else is a core function of copyright law and should not be confusing to anyone who has dealt with it before.

            What is your understanding of what license and rights the author was providing them - understanding this I can figure out where you are confused.

          • bananadonkey 2 hours ago ago

            I didn't see any threat to sue. What's your source?

          • cyberpunk 10 hours ago ago

            He even asked them to force-push a new history because they got the name wrong!

            Mistakes happen, I guess this hurts his 'commits in a public repo' cv score.

  • burnt-resistor 5 hours ago ago

    Don't outsource SSO to any IdMaaS. It's too critical. And especially not to Okta.

  • dovys 3 days ago ago

    You're either free OSS that gets flooded with AI slop PRs to overwhelm maintainers or you're a corporate OSS that uses AI slop to frustrate contributors. Are there any positive stories I've not seen?

  • avree 11 hours ago ago

    FWIW, the employee reply (who the author is putting on blast) seems like it was written by a human, not an AI.

    "You're absolutely right!" is the Claude cliche (not a ChatGPT one) - "You are absolutely correct." is not that.

    • DrammBA 10 hours ago ago

      Directly from the employee (tusharpandey13) in the github PR:

      > Yeah, i had to manually stop it and delete the ai-generated comment.

  • merrvk 9 hours ago ago

    That maintainer seems clueless

  • twodave 12 hours ago ago

    I LOVE LLMs as a learning tool. I HATE LLMs as a communication tool. I know, there are people with serious handicaps who benefit from LLMs in this area. If only I could talk to those people and not wade through all this other garbage.

    Especially when the AI is being represented as a person, this to me is dishonest. Not to mention annoying, almost more-so than the number of different apps that think they are important enough to send me push notifications to fill out a survey (don’t even get me started).

    • whichquestion 12 hours ago ago

      LLMs have definitely helped me reduce my social anxiety when writing, especially in a technical work setting. I don’t use it like the respondent in the article though, I would feel really embarassed to not edit an llm’s output to be in my own voice. But I feel it helps provide me with some structure in whatever I’m trying to write when I don’t have the mental energy or wherewithal to provide it myself.

  • Traubenfuchs 12 hours ago ago

    Is there any non shite managed oAuth solution with a free tier available?

    Auth0 really is super easy and comfortable to integrate and I don‘t want to run my own keycloak or whatever.

  • DetroitThrow 13 hours ago ago

    Security companies that prioritize bugs being sold rather than be reported will eventually blow up. Good luck Okta shareholders.

  • Aldipower 12 hours ago ago

    WTF is Okta?

    • mrweasel 11 hours ago ago

      Basically an enterprise single sign on solution. We use it to allow staff to sign into pretty much any external service using Gsuite credentials.

    • mananaysiempre 12 hours ago ago

      An auth integrator, a pretty notable one, mostly (originally?) OAuth I think. Multiple people calling it a trash fire here came as a surprise to me, but I defer to their experience.

      • trollbridge 12 hours ago ago

        Okta was state of the art a decade ago.