{"id":19505288,"url":"https://github.com/mirekys/user_shib","last_synced_at":"2026-05-07T16:38:49.843Z","repository":{"id":169348168,"uuid":"51138611","full_name":"mirekys/user_shib","owner":"mirekys","description":"Shibboleth user and group backend app for ownCloud","archived":false,"fork":false,"pushed_at":"2018-01-22T16:16:15.000Z","size":92,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T22:14:13.752Z","etag":null,"topics":["authentication","external-identities","owncloud","shibboleth","users"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mirekys.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-05T09:52:05.000Z","updated_at":"2019-01-19T08:10:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"fdf9bbac-28ac-4080-aed1-e6b074747fd6","html_url":"https://github.com/mirekys/user_shib","commit_stats":null,"previous_names":["mirekys/user_shib"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mirekys/user_shib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirekys%2Fuser_shib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirekys%2Fuser_shib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirekys%2Fuser_shib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirekys%2Fuser_shib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mirekys","download_url":"https://codeload.github.com/mirekys/user_shib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mirekys%2Fuser_shib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32746220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["authentication","external-identities","owncloud","shibboleth","users"],"created_at":"2024-11-10T22:29:30.480Z","updated_at":"2026-05-07T16:38:49.810Z","avatar_url":"https://github.com/mirekys.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# User Shib\n\nThis application enables federated Shibboleth\nauthentication and automatic user and group provisioning\nbased on Shibboleth attributes. It requires\na configured and running Shibboleth SP.\n\n# Shibboleth configuration\n\nYou can configure a Shibboleth SP by following this official [guide](https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPGettingStarted).\n\n# Apache configuration\n\nIn order to get the authentication backend working you\nmust enforce Shibboleth session at least on the following Location:\n\n```\n\u003cLocation /owncloud/index.php/apps/user_shib/login\u003e\n\tAuthType shibboleth\n\tShibRequireSession On\n\tShibUseHeaders Off\n\tShibExportAssertion On\n\tShibRequestSetting requireSession 1\n\u003c/Location\u003e\n```\n\nSince we establish a proper ownCloud authenticated session on the login URL above,\nthe rest of the ownCloud could be covered by a Shibboleth [lazy session](https://aai-demo.switch.ch/lazy/),\nWe rely on the ownCloud here to determine, if it needs authentication or not.\n\n```\n\u003cLocation /owncloud\u003e\n\t...\n\tAuthType shibboleth\n\tRequire shibboleth\n\tShibUseHeaders Off\n\tShibExportAssertion On\n\u003c/Location\u003e\n```\n\n# App configuration\n\nAs of now, you can install the app by just putting it inside your _apps/_ directory\nand enabling it, like you would with any other app.\n\n## Admin configuration\n\nOn the _Admin_ page, you can configure mapping of Shibboleth attributes\nto ownCloud and some backend options. The meaning of each option is following:\n\n### Mapping configuration\n\n* **Attribute prefix** - prefix for all attributes provided by Shibboleth (aka _attributePrefix_ Shibboleth setting).\n* **Shibboleth Session ID** - attribute that contains a shibboleth session ID of a user.\n* **Unique persistent ID** - attribute that persistently and uniquely identifies a user amongst all others.\n* **Username** - attribute to be used for ownCloud user name.\n* **Full Name** - attribute to be used for display name.\n* **First Name** - alternative attribute to be used for display name.\n* **Surname** - alternative attribute to be used for display name.\n* **Email** - attribute to be used as contact e-mail address.\n* **Groups** - attribute to be used for group assignment.\n* **External identities** - known external identities of the user (e.g. Google, FB, github) [_not implemented yet_].\n* **Required (checkbox)** - when checked, users must provide this attribute in order to be logged in\n\n### Backend configuration\n\n* **Backend Activated** - Disabling it disables authentication using this user backend, but keeps everything else in place.\n* **Autocreate accounts** - Create new account on user's first login.\n* **Update user info on login** - Updates user's mail, display name, last seen, groups and other metadata on each login.\n* **Update group membership on login** - Whether or not to update user's group membership based on the _Groups_ attribute.\n\t* **Autocreate groups** - Create new ownCloud groups based on user's _Groups_ attribute (except for _Protected Groups_).\n\t* **Autoremove groups** - Remove user from groups that are not listed in user's _Groups_ attribute (except for _Protected Groups_).\n\t* **Protected Groups** - Do not override this OC groups membership by Shibboleth attribute _Groups_.\n\t* **Group filter** - Only _Groups_ matching this regex will be recognized by ownCloud.\n* **Update identity mappings on login** - Updates mapping of user's external identities to an ownCloud account on each login (_requires External identities field_).\n* **Expiration period** - Require users to log in using Shibboleth periodically, otherwise the user account expires and becomes disabled. Leave empty to disable expiration.\n* **Expiration warning** - How many days in advance should users be warned about an expiration. Leave empty to disable warnings.\n\n\n## Personal configuration\n\nUsers are required to set a special password for the synchronization clients on their _Personal_ page\nunder _Client login credentials_ section.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirekys%2Fuser_shib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmirekys%2Fuser_shib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmirekys%2Fuser_shib/lists"}