Is there a reason why all the services, that use the ActivityPub protocol don’t have a unified API?

None of the mastodon apps allow me to log in with a lemmy/kbin account.

Also none of the lemmy apps allow me to log in with a kbin account.

Even though kbin has both mastodon (microblogging) and lemmy (threads, communities) functionality.

Also, Pixelfed recently introduced “login with Mastodon”, but all it really does is just create a new user on it’s instance and copy over the mastodon followers and profile info.

Why can’t we just have one account to rule them all?

  • Crul@lemmy.world
    link
    fedilink
    arrow-up
    21
    ·
    edit-2
    1 year ago

    I’m not an expert, those who know more, please correct me.

    Regarding logging-in with one account into another instance, I think that’s not how it’s intended to work. But I’m oot sure I understand what you’re asking.

    Regarding the unified client API, 2 days ago Manton Reece (Creator of Micro.blog) wrote a response to Dave Winer’s open voicemail in where he says:

    There is a lot of work to do, even outside of ActivityPub. As Dave mentions, we also need a common posting API. The most popular Mastodon client apps do not support either ActivityPub or Micropub. But a lot of progress can be made focusing on interoperability for the server-to-server part of the API. That should be the top priority with Threads set to join the fediverse.

    • adonis@kbin.socialOP
      link
      fedilink
      arrow-up
      4
      arrow-down
      2
      ·
      edit-2
      1 year ago

      logging in with one account into another instance

      I’d imagine a OAuth/JWT-like workflow, where pixelfed.social can ask a kbin-API whether my user exists on kbin.social.

      If it does, I should be able to post images on the pixelfed app that show my username as @adonis.

      Edit: by @adonis, I mean adonis @ kbin.social

      • Crul@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        1 year ago

        If it does, I should be able to post images on the pixelfed app that show my username as @adonis.

        It cannot work as stated because there could be another @adonis accounts in other instances and the only way to prevent that would be to centralize all the signups which goes against the whole idea of decentralization. That’s why the user must be @adonis1@kbin.whatever as it is shown now.

        Regarding the OAuth/JWT, again… not an expert, but what I understand is that that kind of integration is much stronger than the current system. AFAIK, it could work as you say, but that would make things much more complex for the servers; you usually provide OAuth authentication for a few services, I don’t know how well that scales with … hundreds / thousands (?) of authentication provders. But, who knows, maybe in the future it’s implemented in one way or another.

        We should take into account that this technology is fairly new and people are still building on it.

        • adonis@kbin.socialOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Sorry but the autoformatting miscommunicated my statement… by @adonis I meant adonis @ kbin.social.

          And the domain is always part of the actual userhandle. Hence, there can only be one.

          Regarding OAuth/JWT, these aren’t new concepts. They’ve been around for while, if not decades.

      • cwagner@lemmy.cwagner.me
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        It’s not that easy. How does anyone else know this is you? So there needs to be signing and signatures attached to every post, that proof this is actually you. That adds a whole lot of complexity to activity pub. Because before, only kbin.social could post as you, but with your solution anyone can, and there needs to be a way to prove for every server, that they are allowed to do that.

        • adonis@kbin.socialOP
          link
          fedilink
          arrow-up
          1
          arrow-down
          3
          ·
          1 year ago

          Why would there need to be a signature to every post? According to your statement, any service that provides OAuth/JWT would be prone to this fatal flaw, wouldn’t it?

          • cerevant@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            1 year ago

            No, because the model for ActivityPub is very different than how OAuth is used for authentication. What you describe is like wanting to log in to hotmail using your gmail account, and being able to send and receive e-mail from your gmail address.

            It is a fundamental to ActivityPub that a user exists at a domain, and content coming from or going to that domain is sent from / to the relevant server at that domain.

            Federated login is a good idea, and it’s been done, both in closed and open forms. Combining federated login and federated ID over ActivityPub would fundamentally change ActivityPub.