{"id":20037387,"url":"https://github.com/animo/paradym-example-user-authentication","last_synced_at":"2026-03-19T13:11:02.758Z","repository":{"id":216133010,"uuid":"740516402","full_name":"animo/paradym-example-user-authentication","owner":"animo","description":"This repository contains the code that shows how to implement credential based authentication using Paradym","archived":false,"fork":false,"pushed_at":"2024-02-26T15:58:19.000Z","size":1449,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-30T08:35:19.420Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vue","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/animo.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-08T14:01:44.000Z","updated_at":"2024-04-29T07:51:02.000Z","dependencies_parsed_at":"2024-02-01T11:43:24.641Z","dependency_job_id":"33d53baa-a11b-49a7-ab2d-ef4c3e338e73","html_url":"https://github.com/animo/paradym-example-user-authentication","commit_stats":null,"previous_names":["animo/paradym-example-user-authentication"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/animo/paradym-example-user-authentication","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fparadym-example-user-authentication","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fparadym-example-user-authentication/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fparadym-example-user-authentication/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fparadym-example-user-authentication/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/animo","download_url":"https://codeload.github.com/animo/paradym-example-user-authentication/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animo%2Fparadym-example-user-authentication/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28875446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T09:47:23.353Z","status":"ssl_error","status_checked_at":"2026-01-29T09:47:19.357Z","response_time":59,"last_error":"SSL_read: 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":[],"created_at":"2024-11-13T10:19:17.940Z","updated_at":"2026-01-29T10:03:19.210Z","avatar_url":"https://github.com/animo.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# User authentication using credentials with Paradym\n\n\u003cp align=\"center\"\u003e\n  \u003cbr /\u003e\n\u003cimg src=\"/assets/app-screenshot.png\" alt=\" Demo of the application that shows a QR code to login using a credential.\" width=\"960\" /\u003e\n\u003c/p\u003e\n\n\u003e Check out the [YouTube video](https://www.youtube.com/watch?v=Hk7uXjI5yLg) for a complete walkthrough of the demo application and its workflows.\n\nThis demo uses [Paradym](https://paradym.id), a workflow builder for developers that provides the infrastructure you need to use verifiable credentials in your solution. If you don't have an account yet, you can start with our [quick start guide](https://docs.paradym.id/).\n\nThis demo also uses the [Paradym Wallet](https://docs.paradym.id/integrating-with-a-holder-wallet/paradym-wallet), an open-source companion app to the Paradym platform available on the [Apple App Store](https://apps.apple.com/nl/app/paradym-wallet/id6449846111?l=en) and [Google Play Store](https://play.google.com/store/apps/details?id=id.paradym.wallet).\n\n## Prerequisites\n\n### Setup your workflows\n\n**Register the credential**\n\nFirst, we need to register the credential template. In this template, we define the properties of the credential we want to issue in our application.\n\n- Create a new workflow in Paradym and navigate to the Templates tab.\n- Look for the 'Register Credential Template' workflow, and click on 'use template'.\n- Publish and run the workflow with the following attributes:\n  - Name: `Bank account credential`\n  - Version: `1.0`\n  - Attributes: (**Make sure to capitalize the first character!**)\n    - `Name`\n    - `Email`\n- Open the result of the `createCredentialDefinition` action and copy the `credentialDefinitionId`. Save the value for later.\n\n**User sign-up workflow**\n\nNow that we have the required credential definition Id, we can set up the sign-up workflow.\n\n- Start on the Paradym dashboard and create a new workflow.\n- Copy the contents from the `sign-up-user.yaml` file from the [Paradym directory](/paradym).\n- Replace the `\u003cYOUR_CREDENTIAL_DEFINITION_ID\u003e` value with the `credentialDefinitionId` value from the first workflow.\n- Publish the workflow.\n\n**User login workflow**\n\nGreat, we now have a way to sign up new users. The last workflow will handle the login requests for existing users.\n\n- Start on the Paradym dashboard and create a new workflow.\n- Copy the contents from the `login-user.yaml` file from the [Paradym directory](/paradym).\n- Replace the `\u003cYOUR_CREDENTIAL_DEFINITION_ID\u003e` value with the `credentialDefinitionId` value from the first workflow.\n- Publish the workflow.\n\n#### Step 3: Set your Paradym Project ID\n\nYou can find your Paradym Project ID in the settings tab on the Paradym dashboard as described [here](https://docs.paradym.id/executing-a-workflow/api-execution#project-id).\n\n#### Step 4: Create your Paradym API Key\n\nYou can generate your API key in the settings tab on the Paradym dashboard as described [here](https://docs.paradym.id/executing-a-workflow/api-execution#api-key).\n\n#### Step 5: Set the environment variables\n\nThe environment variables consist of your Paradym API Key, Paradym project ID, and the ID's of the workflows just created. Once you have created the workflows in the Paradym dashboard, you can copy the workflow ID's from Paradym and set them as environment variables.\n\n```bash\ncp .env.example .env\n```\n\n| Variable              | Description                                                                                                                                                                                                                   |\n| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `PARADYM_API_KEY`     | This is the API key used to send request to Paradym. You can generate your API key in the settings tab on the Paradym dashboard as described in [here](https://docs.paradym.id/executing-a-workflow/api-execution#api-key).   |\n| `PARADYM_PROJECT_ID`  | This is your Paradym project identifier. It can be located in the settings tab on the Paradym dashboard as described [here](https://docs.paradym.id/executing-a-workflow/api-execution#project-id).                           |\n| `SIGN_UP_WORKFLOW_ID` | This is the ID of the issue course credential workflow. Once you have created the workflow in Paradym you can copy the ID from the [executions tab](https://docs.paradym.id/executing-a-workflow/api-execution#workflow-id).  |\n| `LOGIN_WORKFLOW_ID`   | This is the ID of the verify course credential workflow. Once you have created the workflow in Paradym you can copy the ID from the [executions tab](https://docs.paradym.id/executing-a-workflow/api-execution#workflow-id). |\n\n## Running the demo\n\nMake sure to install the dependencies:\n\n```bash\n# bun\nbun install\n```\n\nInitiate the data storage\n\n```bash\nnpm exec drizzle-kit push:sqlite\n```\n\nYou can then run the development server:\n\n```bash\n# bun\nbun run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000/sign-up) with your browser to see the result.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimo%2Fparadym-example-user-authentication","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanimo%2Fparadym-example-user-authentication","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimo%2Fparadym-example-user-authentication/lists"}