{"id":22452239,"url":"https://github.com/bjoernalbers/gollum-auth","last_synced_at":"2025-08-02T00:32:52.261Z","repository":{"id":56874799,"uuid":"88038294","full_name":"bjoernalbers/gollum-auth","owner":"bjoernalbers","description":"Authentication Middleware for Gollum Wiki","archived":false,"fork":false,"pushed_at":"2022-07-23T19:33:21.000Z","size":55,"stargazers_count":7,"open_issues_count":3,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-25T20:04:14.475Z","etag":null,"topics":["auth","authentication","authorization","gollum","middleware","rack","rack-middleware","ruby","ruby-gem","rubygem","web","wiki"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bjoernalbers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-12T10:10:38.000Z","updated_at":"2022-05-05T16:29:14.000Z","dependencies_parsed_at":"2022-08-20T10:11:05.775Z","dependency_job_id":null,"html_url":"https://github.com/bjoernalbers/gollum-auth","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjoernalbers%2Fgollum-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjoernalbers%2Fgollum-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjoernalbers%2Fgollum-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjoernalbers%2Fgollum-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjoernalbers","download_url":"https://codeload.github.com/bjoernalbers/gollum-auth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228419565,"owners_count":17916772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auth","authentication","authorization","gollum","middleware","rack","rack-middleware","ruby","ruby-gem","rubygem","web","wiki"],"created_at":"2024-12-06T06:10:23.996Z","updated_at":"2024-12-06T06:10:24.552Z","avatar_url":"https://github.com/bjoernalbers.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# Gollum::Auth - Authentication Middleware for Gollum Wiki\n\n[![Gem Version](https://badge.fury.io/rb/gollum-auth.svg)](https://badge.fury.io/rb/gollum-auth)\n[![Build Status](https://travis-ci.org/bjoernalbers/gollum-auth.svg?branch=master)](https://travis-ci.org/bjoernalbers/gollum-auth)\n\n[gollum](https://github.com/gollum/gollum)\nis an excellent Wiki-software.\nBut it does not include user authentication (on purpose).\n\n[gollum-auth](https://github.com/bjoernalbers/gollum-auth) adds\n[HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication)\nto gollum so that only authenticated users have access to your wiki.\nOptionally you can allow readonly-access for unauthenticated guests.\nAlso the current user's name and e-mail are passed to gollum (via session key\n`gollum.author`) to see who changed what.\nIt works with Gollum 4 and Gollum 5.\n\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'gollum-auth'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install gollum-auth\n\n\n## Usage\n\nYou have to run\n[Gollum via Rack](https://github.com/gollum/gollum/wiki/Gollum-via-Rack)\nand use this middleware *before* gollum.\nHere is a sample `config.ru`:\n\n```ruby\n#!/usr/bin/env ruby\nrequire 'rubygems'\nrequire 'gollum/auth' # Don't forget to load the gem!\nrequire 'gollum/app'\n\n# Define list of authorized users.\n# Each user must have a username, password, name and email.\n#\n# Instead of a password you can also define a password_digest, which is the\n# SHA-256 hash of a password.\n#\n# Example:\nusers = YAML.load %q{\n---\n- username: rick\n  password: asdf754\u00261129-@lUZw\n  name: Rick Sanchez\n  email: rick@example.com\n- username: morty\n  password_digest: 5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5\n  name: Morty Smith\n  email: morty@example.com\n}\n\n# Allow unauthenticated users to read the wiki (disabled by default).\noptions = { allow_unauthenticated_readonly: true }\n\n# Allow only authenticated users to change the wiki.\n# (NOTE: This must be loaded *before* Precious::App!)\nuse Gollum::Auth, users, options\n\n# That's it. The rest is for gollum only.\ngollum_path = File.expand_path(File.dirname(__FILE__)) # CHANGE THIS TO POINT TO YOUR OWN WIKI REPO\nwiki_options = {:universal_toc =\u003e false}\nPrecious::App.set(:gollum_path, gollum_path)\nPrecious::App.set(:wiki_options, wiki_options)\nrun Precious::App\n```\n\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies.\nThen, run `rake spec` to run the tests. You can also run `bin/console` for an\ninteractive prompt that will allow you to experiment.\n\n\n## Contributing\n\nBug reports and pull requests are welcome on the official\n[GitHub Repository](https://github.com/bjoernalbers/gollum-auth).\nThis project is intended to be a safe, welcoming space for collaboration, and\ncontributors are expected to adhere to the\n[Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n\n## License\n\nThe gem is available as open source under the terms of the\n[MIT License](LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjoernalbers%2Fgollum-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbjoernalbers%2Fgollum-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjoernalbers%2Fgollum-auth/lists"}