{"id":22511316,"url":"https://github.com/dictybase/modware-identity","last_synced_at":"2026-05-16T13:05:42.913Z","repository":{"id":32128553,"uuid":"126709759","full_name":"dictyBase/modware-identity","owner":"dictyBase","description":"dictyBase API server to manage authorization from third party providers.","archived":false,"fork":false,"pushed_at":"2023-01-21T17:02:04.000Z","size":221,"stargazers_count":0,"open_issues_count":14,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-07-22T15:48:45.278Z","etag":null,"topics":["golang","grpc"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dictyBase.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}},"created_at":"2018-03-25T15:09:26.000Z","updated_at":"2021-04-18T14:52:15.000Z","dependencies_parsed_at":"2023-02-12T11:30:35.919Z","dependency_job_id":null,"html_url":"https://github.com/dictyBase/modware-identity","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/dictyBase/modware-identity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dictyBase%2Fmodware-identity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dictyBase%2Fmodware-identity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dictyBase%2Fmodware-identity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dictyBase%2Fmodware-identity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dictyBase","download_url":"https://codeload.github.com/dictyBase/modware-identity/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dictyBase%2Fmodware-identity/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268162399,"owners_count":24205702,"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-08-01T02:00:08.611Z","response_time":67,"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":["golang","grpc"],"created_at":"2024-12-07T02:11:05.391Z","updated_at":"2026-05-16T13:05:42.873Z","avatar_url":"https://github.com/dictyBase.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# modware-identity\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n[![License](https://img.shields.io/badge/License-BSD%202--Clause-blue.svg)](LICENSE)  \n![Continuous integration](https://github.com/dictyBase/modware-identity/workflows/Continuous%20integration/badge.svg)\n[![codecov](https://codecov.io/gh/dictyBase/modware-identity/branch/develop/graph/badge.svg)](https://codecov.io/gh/dictyBase/modware-identity)\n[![Maintainability](https://api.codeclimate.com/v1/badges/21ed283a6186cfa3d003/maintainability)](https://codeclimate.com/github/dictyBase/modware-identity/maintainability)  \n![Last commit](https://badgen.net/github/last-commit/dictyBase/modware-identity/develop)   \n[![Funding](https://badgen.net/badge/Funding/Rex%20L%20Chisholm,dictyBase,DCR/yellow?list=|)](https://projectreporter.nih.gov/project_info_description.cfm?aid=10024726\u0026icde=0)\n\n[dictyBase](http://dictybase.org) **API** server to manage identity authorization\nfrom third party providers (ORCID, Google, LinkedIn). The API server supports both gRPC\nand HTTP/JSON protocol for data exchange.\n\n## API\n\n#### HTTP/JSON\n\nIt's [here](https://dictybase.github.io/dictybase-api), make sure you use the **identity** content from the dropdown on the top right.\n\n#### gRPC\n\nThe protocol buffer definitions and service apis are documented\n[here](https://github.com/dictyBase/dictybaseapis/tree/master/dictybase/identity).\n\n## Usage\n\n```\nNAME:\n   modware-identity - cli for modware-identity microservice\n\nUSAGE:\n   main [global options] command [command options] [arguments...]\n\nVERSION:\n   1.0.0\n\nCOMMANDS:\n     start-server          starts the modware-identity microservice with HTTP and grpc backends\n     start-identity-reply  start the reply messaging(nats) backend for identity microservice\n     create-identity       creates a new identity for an user\n     help, h               Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --log-format value  format of the logging out, either of json or text. (default: \"json\")\n   --log-level value   log level for the application (default: \"error\")\n   --help, -h          show help\n   --version, -v       print the version\n```\n\n## Subcommands\n\n```\nNAME:\n   main start-server - starts the modware-identity microservice with HTTP and grpc backends\n\nUSAGE:\n   main start-server [command options] [arguments...]\n\nOPTIONS:\n   --arangodb-pass value, --pass value    arangodb database password [$ARANGODB_PASS]\n   --arangodb-database value, --db value  arangodb database name [$ARANGODB_DATABASE]\n   --arangodb-user value, --user value    arangodb database user [$ARANGODB_USER]\n   --arangodb-host value, --host value    arangodb database host (default: \"arangodb\") [$ARANGODB_SERVICE_HOST]\n   --arangodb-port value                  arangodb database port (default: \"8529\") [$ARANGODB_SERVICE_PORT]\n   --identity-api-http-host value         public hostname serving the http api, by default the default port will be appended to http://localhost [$IDENTITY_API_HTTP_HOST]\n   --is-secure                            flag for secured or unsecured arangodb endpoint\n   --nats-host value                      nats messaging server host [$NATS_SERVICE_HOST]\n   --nats-port value                      nats messaging server port [$NATS_SERVICE_PORT]\n   --port value                           tcp port at which the server will be available (default: \"9560\")\n```\n\n```\nNAME:\n   main start-identity-reply - start the reply messaging(nats) backend for identity microservice\n\nUSAGE:\n   main start-identity-reply [command options] [arguments...]\n\nOPTIONS:\n   --identity-grpc-host value  grpc host address for identity service [$IDENTITY_API_SERVICE_HOST]\n   --identity-grpc-port value  grpc port for identity service [$IDENTITY_API_SERVICE_PORT]\n   --messaging-host value      host address for messaging server [$NATS_SERVICE_HOST]\n   --messaging-port value      port for messaging server [$NATS_SERVICE_PORT]\n```\n\n```\nNAME:\n   main create-identity - creates a new identity for an user\n\nUSAGE:\n   main create-identity [command options] [arguments...]\n\nOPTIONS:\n   --identity-grpc-host value  grpc host address for identity service [$IDENTITY_API_SERVICE_HOST]\n   --identity-grpc-port value  grpc port for identity service [$IDENTITY_API_SERVICE_PORT]\n   --user-grpc-host value      host address for user service [$USER_API_SERVICE_HOST]\n   --user-grpc-port value      port for user service [$USER_API_SERVICE_PORT]\n   --identifier value          Third party unique identifier\n   --provider value            Name of provider who provides the identifier\n   --email value               An user email(not the identity provider's email) that will be tied to the identifier\n```\n# Misc badges\n![Issues](https://badgen.net/github/issues/dictyBase/modware-identity)\n![Open Issues](https://badgen.net/github/open-issues/dictyBase/modware-identity)\n![Closed Issues](https://badgen.net/github/closed-issues/dictyBase/modware-identity)  \n![Total PRS](https://badgen.net/github/prs/dictyBase/modware-identity)\n![Open PRS](https://badgen.net/github/open-prs/dictyBase/modware-identity)\n![Closed PRS](https://badgen.net/github/closed-prs/dictyBase/modware-identity)\n![Merged PRS](https://badgen.net/github/merged-prs/dictyBase/modware-identity)  \n![Commits](https://badgen.net/github/commits/dictyBase/modware-identity/develop)\n![Branches](https://badgen.net/github/branches/dictyBase/modware-identity)\n![Tags](https://badgen.net/github/tags/dictyBase/modware-identity/?color=cyan)  \n![GitHub repo size](https://img.shields.io/github/repo-size/dictyBase/modware-identity?style=plastic)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/dictyBase/modware-identity?style=plastic)\n[![Lines of Code](https://badgen.net/codeclimate/loc/dictyBase/modware-identity)](https://codeclimate.com/github/dictyBase/modware-identity/code)  \n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.erichartline.net/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/13489381?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEric Hartline\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/dictyBase/modware-identity/issues?q=author%3Awildlifehexagon\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/dictyBase/modware-identity/commits?author=wildlifehexagon\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#content-wildlifehexagon\" title=\"Content\"\u003e🖋\u003c/a\u003e \u003ca href=\"https://github.com/dictyBase/modware-identity/commits?author=wildlifehexagon\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#maintenance-wildlifehexagon\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://cybersiddhu.github.com/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/48740?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSiddhartha Basu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/dictyBase/modware-identity/issues?q=author%3Acybersiddhu\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/dictyBase/modware-identity/commits?author=cybersiddhu\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#content-cybersiddhu\" title=\"Content\"\u003e🖋\u003c/a\u003e \u003ca href=\"https://github.com/dictyBase/modware-identity/commits?author=cybersiddhu\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#maintenance-cybersiddhu\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdictybase%2Fmodware-identity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdictybase%2Fmodware-identity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdictybase%2Fmodware-identity/lists"}