{"id":32254916,"url":"https://github.com/brainlife/auth","last_synced_at":"2026-03-13T14:32:32.793Z","repository":{"id":34546781,"uuid":"38491376","full_name":"brainlife/auth","owner":"brainlife","description":"Simple, generic authentication service API and UI that issues JWT token","archived":false,"fork":false,"pushed_at":"2025-09-18T15:48:37.000Z","size":3804,"stargazers_count":1,"open_issues_count":17,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-23T12:19:10.699Z","etag":null,"topics":["authentication","jwt"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/brainlife.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-07-03T12:20:16.000Z","updated_at":"2025-09-18T15:48:41.000Z","dependencies_parsed_at":"2024-05-01T05:21:59.252Z","dependency_job_id":"d5eb3b03-4bb3-48f5-b02a-6a8fa94643c6","html_url":"https://github.com/brainlife/auth","commit_stats":null,"previous_names":["soichih/sca-auth"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brainlife/auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainlife%2Fauth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainlife%2Fauth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainlife%2Fauth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainlife%2Fauth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brainlife","download_url":"https://codeload.github.com/brainlife/auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainlife%2Fauth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30468307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T11:00:43.441Z","status":"ssl_error","status_checked_at":"2026-03-13T11:00:23.173Z","response_time":60,"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","jwt"],"created_at":"2025-10-22T18:41:37.736Z","updated_at":"2026-03-13T14:32:32.785Z","avatar_url":"https://github.com/brainlife.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/soichih/sca-auth.svg?branch=master)](https://travis-ci.org/soichih/sca-auth)\n[![Coverage Status](https://coveralls.io/repos/github/soichih/sca-auth/badge.svg?branch=master)](https://coveralls.io/github/soichih/sca-auth?branch=master)\n\nGeneric authentication service that allows user to authenticate against variety of identity providers and issue JWT token. This service also provides role administration that can be used for authorization and group administrations.\n\nAny services that then use authentication service's public key to validate the JWT token and do stateless authentication (and basic authorization through roles / groups)\n\nFor DB backend, it can use PostgreSQL, MySQL, MariaDB, or SQLite.\n\n## Installation (pm2)\n\n```\ngit clone git@github.com:brainlife/auth.git auth\ncd auth \u0026\u0026 npm install\ncd ui \u0026\u0026 npm install\n```\n\nYou will need to create your configuration by copying `./api/config/index.js.sample` to `./api/config/index.js` (and edit the content)\n\nYou also need to create your public and private keys.\n\n```\nopenssl genrsa -out auth.key 2048\nchmod 600 auth.key\nopenssl rsa -in auth.key -pubout \u003e auth.pub\n```\n\n## Installation (docker)\n\nCreate configuration file first\n\n```\nmkdir /etc/auth\ncd /etc/auth\nwget https://raw.githubusercontent.com/brainlife/auth/master/api/config/index.js.sample\ncp index.js.sample index.js\n```\nAnd edit index.js. You need to point various paths to the right place. Just contact me if you aren't sure.\n\nYou also need to create public / prviate keys (see above for `openssl genrsa`)\n\nThen, create auth container..\n\n```\ndocker run \\\n    --restart=always \\\n    --name auth \\\n    -v /etc/auth:/app/api/config \\\n    -v /usr/local/data/auth:/db \\\n    -d soichih/auth\n```\n\nYou need to expose your container's port 80 (for UI) and 8080 (for API) directly, or via web proxy like nginx. Please feel free to contact me if you aren't sure how to do that.\n\n# APIDOC\n\nOnce you have your UI up, you can view the API doc at `/apidoc` sub directory. Or you can see our hosted version at `https://sca.iu.edu/auth/apidoc/`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainlife%2Fauth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrainlife%2Fauth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainlife%2Fauth/lists"}