Post

again, this isn't the whole story - there were practical benefits to it, and we didn't yet have the oauth story so it was harder to do the inverse but

In the early days the conceptual framework for AT was that the PDS was your user agent in the cloud. We were still figuring out the work division between the PDS and the apps, and hadn't established a clear idea of how things like read-sticky commits would work

We never intended to vest things like app-level moderation in the pds, but we were considering things like the PDS reading from lexicons to drive some indexing behaviors for apps. For very good reasons, we moved away from that

So anyway, one of those early ideas was that by proxying through the PDS we created similar benefits to having an extensible browser. Rerouting or blocking requests to alter application behaviors, things like that. The logic was to act as a political backpressure to the applications

Ultimately we decided that it was just better to invest in making applications easier to build and move between, and inverting the flow so that it goes to the app server instead of proxying through the PDS was one of those simplifications

some things you still get from the existing architecture are: some network metadata privacy (only PDS sees IP, services just see DID) works for service-to-service requests (via PDS) app servers don't need to implement session auth some apps work all front-end, no server

by session auth I mean cookies or something. if you make client app requests to an app server, the client app needs to be authenticated to app server "somehow" (up to you). the app server does OAuth to PDS for initial client authn, and later authz to PDS. but is all server-side

0 reposts7 likes

eg, if you logged in to tangled on your phone, you could do oauth to PDS, and then tangled server is authenticated to your PDS. but you still need to do session auth between phone and tangled server. "just secure cookie sessions" does it