{"id":18878567,"url":"https://github.com/verida/data-connector-server","last_synced_at":"2025-07-21T07:03:57.488Z","repository":{"id":103369353,"uuid":"481797274","full_name":"verida/data-connector-server","owner":"verida","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-10T03:00:22.000Z","size":1699,"stargazers_count":1,"open_issues_count":57,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-10T04:18:21.519Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/verida.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/Contributing.md","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}},"created_at":"2022-04-15T01:16:28.000Z","updated_at":"2025-06-10T03:00:19.000Z","dependencies_parsed_at":"2023-12-01T02:33:23.021Z","dependency_job_id":"52f2d314-ff97-42d4-878b-6b35e6afb476","html_url":"https://github.com/verida/data-connector-server","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/verida/data-connector-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verida%2Fdata-connector-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verida%2Fdata-connector-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verida%2Fdata-connector-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verida%2Fdata-connector-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/verida","download_url":"https://codeload.github.com/verida/data-connector-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verida%2Fdata-connector-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266255244,"owners_count":23900098,"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-08T06:28:07.811Z","updated_at":"2025-07-21T07:03:57.471Z","avatar_url":"https://github.com/verida.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Verida Data Connector Server\n\n## Overview\n\nThis server enables a user to authenticate with third party services to take ownership of their personal data stored with the third party.\n\nThe `Verida Vault` utilizes this server, redirecting a user to connect to an API. Once connected, the `Verida Vault` makes regular `sync` requests to the API in order to keep up-to-date with the user's latest data in that third party service.\n\n## Running the Server\n\n### Configuration\n\nCreate a local configuration file:\n\n```\ncp src/serverconfig.example.json src/serverconfig.local.json\n```\n\n Update `src/serverconfig.local.json` to:\n\n1. Specify the details of each provider you want to run. You will need to obtain the necessary API keys for each provider.\n2. Specify the correct `serverUrl` and `assetsUrl` that point to the correct address of your server. Don't use `localhost` as it breaks sessions, use `127.0.0.1` instead (*).\n3. `testVeridaKey`: A Verida private key (or seedphrase) that controls a DID. This is used by the command line when connecting a provider, and also used by the unit tests to load providers and save test data.\n4. Update any connection credentials\n\n_(*) Sessions are used to track `redirect` URLs in the connection request. Sessions **do not** work locally if you specify `localhost` for the hostname. Use an IP address instead._\n\n### Starting the server\n\nOnce off initialization:\n\n```\nnpm use\nyarn\n```\n\nStart the server:\n\n```\nyarn run dev\n```\n\n## Tests\n\nBefore running tests, ensure `src/serverconfig.json` has a Verida identity private key set in `testVeridaKey`. The tests use this identity to store test data. Use a new identity as the tests will delete any existing data and potentially add junk data. See steps below on how to create a new test Verida identity.\n\n```\nyarn run core-cli \n```\n\nRun all tests:\n\n```\nyarn run tests\n```\n\nRun a specficic test:\n\n```\nyarn run test tests/providers/facebook.test.ts\n```\n\n## Create a Test Verida Identity\n\nCreate a new Verida identity:\n\n```\nyarn run core-cli CreateAccount -n banksia -s\n```\n\nYou also need to create the `Verida: Vault` context for the account that will become the container for all the databases storing your personal data. This can be achieved by creating a basic profile:\n\n```\nyarn run core-cli SetProfile -k \u003cprivateKey\u003e --network banksia -n \"John\" -c \"Australia\"\n```\n\nReplace `\u003cprivateKey\u003e` with the key output from the `CreateAccount` command above.\n\nBy default, this will select three storage nodes on the Verida network to store and replicate your encrypted data. Alternatively, it is possible to run a local instance of the Verida Storage Node server and use it to store your data.\n\nYou can link your local storage node to your Verida identity by running this command instead:\n\n```\nyarn run core-cli SetProfile -k \u003cprivateKey\u003e --network banksia --storageNodes \"http://localhost:5000/\" -n \"John\" -c \"Australia\"\n```\n\n_Note: `storageNodes` are only linked the first time the profile is set, so it's important to specify your local storage node the first time you run `SetProfile`_\n\nYou can learn how to use all the core Verida command line tools with:\n\n```\nyarn run core-cli --help\nyarn run core-cli CreateAccount --help\n```\n\n## Learn more\n\n- [How to contribute](./docs/Contributing.md)\n- [API Endpoints](./docs/Endpoints.md) to establish connections, sync data and get provider metadata\n- [Command Line Tools](./docs/CLI.md) to help establish provider connections, manually sync data and view data\n- [Implementation notes](./docs/Implementation.md) that explain the inner workings and design details","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fverida%2Fdata-connector-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fverida%2Fdata-connector-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fverida%2Fdata-connector-server/lists"}