{"id":19197541,"url":"https://github.com/rikulo/security","last_synced_at":"2025-05-09T00:42:54.654Z","repository":{"id":8173158,"uuid":"9596283","full_name":"rikulo/security","owner":"rikulo","description":"A lightweight and highly customizable authentication and access-control framework for Rikulo Stream.","archived":false,"fork":false,"pushed_at":"2023-11-17T10:10:56.000Z","size":105,"stargazers_count":11,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-09T00:42:46.523Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rikulo.org","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rikulo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-04-22T10:16:47.000Z","updated_at":"2025-04-03T14:49:06.000Z","dependencies_parsed_at":"2025-04-20T10:52:08.880Z","dependency_job_id":null,"html_url":"https://github.com/rikulo/security","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fsecurity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fsecurity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fsecurity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fsecurity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rikulo","download_url":"https://codeload.github.com/rikulo/security/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253171210,"owners_count":21865280,"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":[],"created_at":"2024-11-09T12:17:14.000Z","updated_at":"2025-05-09T00:42:54.637Z","avatar_url":"https://github.com/rikulo.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rikulo Security\n\nRikulo Security is a lightweight and highly customizable authentication and access-control framework for [Rikulo Stream](https://github.com/rikulo//stream).\n\n* [Home](https://github.com/rikulo/security)\n* [API Reference](https://pub.dev/documentation/rikulo_security/latest/)\n* [Discussion](http://stackoverflow.com/questions/tagged/rikulo)\n* [Source Code Repos](https://github.com/rikulo/security)\n* [Issues](https://github.com/rikulo/security/issues)\n\nStream is distributed under an Apache 2.0 License.\n\n[![Build Status](https://drone.io/github.com/rikulo/security/status.png)](https://drone.io/github.com/rikulo/security/latest)\n\n## Installation\n\nAdd this to your `pubspec.yaml` (or create it):\n\n    dependencies:\n      rikulo_security:\n\nThen run the [Pub Package Manager](https://pub.dartlang.org/doc) (comes with the Dart SDK):\n\n    pub install\n\n## Usage\n\n First, you have to implement `Authenticator`. For sake of description, we use a dummy implementation here called `DummyAuthenticator`:\n\n     final authenticator = new DummyAuthenticator()\n       ..addUser(\"john\", \"123\", [\"user\"])\n       ..addUser(\"peter\", \"123\", [\"user\", \"admin\"]);\n\n Second, you can use `SimpleAccessControl` or implement your own access control\n (`AccessControl`):\n\n     final accessControl = new SimpleAccessControl({\n       \"/admin/.*\": [\"admin\"],\n       \"/member/.*\": [\"user\", \"admin\"]\n     });\n\n Finally, instantiate `Security` with the authenticator and access control you want:\n\n     final security = new Security(authenticator, accessControl);\n     new StreamServer(uriMapping: {\n       \"/s_login\": security.login,\n       \"/s_logout\": security.logout\n     }, filterMapping: {\n       \"/.*\": security.filter\n     }).start();\n\nPlease refer to [this sample application](https://github.com/rikulo/security/tree/master/example/hello) for more information.\n\n## Notes to Contributors\n\n### Fork Rikulo Security\n\nIf you'd like to contribute back to the core, you can [fork this repository](https://help.github.com/articles/fork-a-repo) and send us a pull request, when it is ready.\n\nPlease be aware that one of Rikulo Security's design goals is to keep the sphere of API as neat and consistency as possible. Strong enhancement always demands greater consensus.\n\nIf you are new to Git or GitHub, please read [this guide](https://help.github.com/) first.\n\n## Who Uses\n\n* [Quire](https://quire.io) - a simple, collaborative, multi-level task management tool.\n* [Keikai](https://keikai.io) - a sophisticated spreadsheet for big data\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikulo%2Fsecurity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frikulo%2Fsecurity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikulo%2Fsecurity/lists"}