{"id":20214260,"url":"https://github.com/masterminds/fortissimo-zetaauth","last_synced_at":"2026-07-17T22:37:28.919Z","repository":{"id":10804145,"uuid":"13076815","full_name":"Masterminds/Fortissimo-ZetaAuth","owner":"Masterminds","description":"Fortissimo integration with Zetacomponents authentication.","archived":false,"fork":false,"pushed_at":"2013-10-21T21:24:01.000Z","size":196,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-03T11:15:57.873Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Masterminds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-24T21:17:33.000Z","updated_at":"2013-10-21T21:24:02.000Z","dependencies_parsed_at":"2022-09-01T23:02:41.673Z","dependency_job_id":null,"html_url":"https://github.com/Masterminds/Fortissimo-ZetaAuth","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Masterminds/Fortissimo-ZetaAuth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Masterminds%2FFortissimo-ZetaAuth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Masterminds%2FFortissimo-ZetaAuth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Masterminds%2FFortissimo-ZetaAuth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Masterminds%2FFortissimo-ZetaAuth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Masterminds","download_url":"https://codeload.github.com/Masterminds/Fortissimo-ZetaAuth/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Masterminds%2FFortissimo-ZetaAuth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016926,"owners_count":26085908,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-14T06:14:55.436Z","updated_at":"2025-10-13T20:35:07.613Z","avatar_url":"https://github.com/Masterminds.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Fortissimo handlers for ZetaComponents Authentication\n\nThis provides Fortissimo commands to wrap the Authentication library\nfrom ZetaComponents.\n\nEXPERIMENTAL\n\nWhat you get right now:\n\n- session-based, htpasswd-backed authentication using ZetaComponents.\n\nWhat we'd like to do in the future:\n\n- Use the rest of the [Zeta Components Authentication library](https://github.com/zetacomponents/Authentication).\n\nPull requests welcome!\n\n(We're also looking for an official Fortissimo-Sentry project that\nincorporates [Catalyst Sentry](https://github.com/cartalyst/sentry).)\n\n\n## Usage\n\nUse composer, and add Masterminds/Fortissimo-ZetaAuth to your project.\n\n```json\n{\n    \"require\": {\n        \"masterminds/fortissimo\": \"2.*\",\n        \"masterminds/fortissimo-zetaauth\": \"dev-master\",\n    }\n}\n```\n\n### Create an Htpasswd file\n\nUse the Apache `htpasswd` program. It supports at least three hashing\nalgorithms: md5, crypt, and sha1. `-s` sets it to SHA1 (recommended).\n\n```sh\n$ htpasswd -s -c test.htpasswd myuser\n```\n\nThat creates a file for you called `test.htpassword`\n\n### Using the password inside of Fortissimo\n\nNow you can use ZetaAuth to get password-based authentication in your\napp:\n\n```php\n\u003c?php\n$registry-\u003egroup(\"auth\", \"Validate user credentials or session.\")\n    -\u003edoes(\"\\Fortissimo\\ZetaAuth\\HashSHA1\", \"ciphertext\")\n      -\u003eusing(\"cleartext\")-\u003efrom(\"post:password get:password\")\n    -\u003edoes('\\Fortissimo\\ZetaAuth\\CheckHtpasswd', 'user')\n      -\u003eusing(\"user\", \"\")-\u003efrom(\"post:user get:user\")\n      -\u003eusing(\"password\", \"\")-\u003efrom(\"cxt:ciphertext\")\n      -\u003eusing(\"htpasswd\", \"$basedir/test.htpasswd\")\n;\n\n$registry-\u003eroute(\"someRoute\")-\u003eusesGroup(\"auth\");\n\n?\u003e\n```\n\nTo use hashes other than SHA1, you will need to write your own Hash\ncommand for your desired algorithm. (Please fork this project and\ncontribute it back if it's generally useful!)\n\n\n\n## TODO\n\nThis is a *very* basic implementation. The main check command should be\nbroken out to allow different session ahndler and to support a chain of\nfilters. While none of this is hard, all of it is outside of my current\nneeds.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasterminds%2Ffortissimo-zetaauth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmasterminds%2Ffortissimo-zetaauth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasterminds%2Ffortissimo-zetaauth/lists"}