Closed wezm closed 4 years ago
Great thank you! I took a brief look at this and I'll look more in detail later, but I had a question about authentication -- is there some way to set up a private RSS feed? While https://dev.gourami.social/ is public, https://gourami.social is not -- which means that, to my knowledge, while an authenticated user could access the feed from a web browser via an authenticated cookie, they couldn't with an RSS reader. Is there any way to set up authentication with an RSS reader somehow, maybe via oauth or something?
I'm considering making the neighborhood posts public by default and renaming them "public posts", and so every user would have public posts that are visible, for a number of reasons.
is there some way to set up a private RSS feed?
Support for authenticated feeds is quite mixed. They're difficult to support in multi-tenant RSS backends like Feedly and Feedbin since those typically work on a model of fetching a feed once for all subscribers.
I think the preferred solution these days is to generate a unique, hard to guess feed URL per person. For example I recently subscribed to the Dithering podcast (podcasts are built on RSS) and my RSS URL was https://rss.stratechery.com/cask/string-of-random-letters-here
It would be possible to do a similar thing for gouramai.
I think that the random URL wouldn't be palatable from a security perspective, so I think the best idea is to limit it to instances with the PUBLIC=1 flag on. I'll review this PR in more detail when I have a chance -- thanks again for your contribution.
I'm making some changes to how posts are filtered which will affect this PR -- I'm also making some posts public. I'll look into merging this when I get it set up
I made the neighborhood private again, which means that unfortunately there isn't anything public for RSS to work on. I am closing this for now, but I will keep it in mind if I do make certain posts public again. Thanks for your help and sorry I didn't end up using it -- I'm still working through a lot of design choices.
This PR implements an initial pass at RSS feeds for users. The feeds are located at
/user/<username>/feed.rss
. I haven't worked out how to add the<link rel="alternate"
tag to allow autodiscovery of the feed, as it requires adding content to the<head>
of the page. The generated RSS looks like this and passes the Feed Validator:It should be relatively straightforward for me to add the other feeds once you're happy with this one.
Relates to #5