-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RSS feeds for private blogs #9001
Comments
If you're happy to have the
then I'm sure I could achieve this. |
@jomahoney Thanks for your interest. There are many ways to generate an unguessable string. I think if private blogging is enabled, the requirements for the string are:
We have a utility which generates a random string (in See also http://password-checker.online-domain-tools.com/. If you have any questions, let us know. Don't hesitate to ask :) |
Ah cool - sounds even more achievable then. I was just lifting the above from something else I wrote. Happy to take this on then. |
I just noticed something on Bitbucket and thought I'd mention the concept here. What about having. /rss?token=$randomstring The idea being that the token is generated per user so that a user's token can be invalidated and as a result not have access to the feed anymore. |
@nuclearpengy We don't have a concept of users for the content part of the site - so there cannot be a user-specific token at this time. @jomahoney let us know if there are any problems getting this implemented 😊 |
@jomahoney Hey. Do you have any update? The Ghost team would like to take this feature over if it's not finished till next Monday. Just wanted to let you know 🙃 |
@kirrg001 No update unfortunately. Got crazy busy with work so haven't had the time. Could certainly spend time at the weekend implementing but feel free to take over |
no issue - preparation for TryGhost#9001 - no need to require the settings API, we can simply fetch the data from the settings cache - the settings API uses the settings cache anyway
no issue - preparation for #9001 - no need to require the settings API, we can simply fetch the data from the settings cache - the settings API uses the settings cache anyway
refs TryGhost/Ghost#9001 - show private feed url if private blogging is enabled
refs TryGhost/Ghost#9001 - show private feed url if private blogging is enabled - added a `.avoid-break-out` CSS utility class to prevent layout issues caused by non-breaking text such as long links
refs #9001 When a blog is in private mode there is now an unguessable URL that allows access to the RSS feed for internal use, commenting systems, etc. - add public hash for private blogging - auto generate on bootstrap if missing - global hash, we can re-use in the future - update private blogging middleware to detect the private RSS URL and rewrite it so that the normal rss route/code is used for display - if a normal `/rss/` route is accessed with a private session return a 404
@ErisDS Do you want me to raise an issue for
|
I have this on a separate todo as part of a general revisit of sitemaps, so will add it to that issue when I raise it. |
At the moment, private blogs serve an RSS feed at /rss/. This only works if you already logged in
such that your browser provides a cookie, and is basically useless for anything RSS might be used for 😁 .
Meanwhile, we've seen a few times that even though a site is private, the RSS feed would still be useful to have in some capacity. People with access to the site may wish to subscribe, and the feed is useful for setting up email news letters using things like MailChimp's RSS-to-email feature.
Problem: we want to provide an RSS feed, but keep it private. That means that we can't include the passphrase in the url, or use HTTP basic auth, etc.
Solution: to work around this, we will instead expose the RSS feed on a private, unguessable URL e.g.
blogdomain.com/<unguessable string>/rss/
.Some requirements:
blogdomain.com/rss/
URL should cease to exist on private blogs (e.g. require auth and THEN 404).Some small things to think about:
blogdomain.com/tag/tag-name/<unguessable string>/rss/
orblogdomain.com/<unguessable string>/tag/tag-name/rss/
.Extra background info
Previously, when you enabled private blogging, the sitemap & rss feed were set to 404. We recently realised this can expose some information about your blog (because themes can pull data into the 404 template) and changed it so that these redirect to the passphrase screen, as every other part of the site does (Raised in #8990, fixed in #8999).
The original intention of the private blogging feature was that RSS and sitemaps should be fully disabled for private blogs, as they create unnecessary overhead. Sitemaps in particular, never need to be generated, as the site is not going to be indexed.
The text was updated successfully, but these errors were encountered: