{"id":20215600,"url":"https://github.com/casdoor/casdoor-nodejs-angular-example","last_synced_at":"2026-02-16T16:37:32.290Z","repository":{"id":184661673,"uuid":"669991327","full_name":"casdoor/casdoor-nodejs-angular-example","owner":"casdoor","description":"Node.js Express + Angular example app for Casdoor based on casdoor-nodejs-sdk and casdoor-js-sdk","archived":false,"fork":false,"pushed_at":"2023-08-08T05:47:39.000Z","size":650,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-22T01:36:06.368Z","etag":null,"topics":["angular","casdoor","example","express","iam","javascript","js","node","nodejs","oauth","oidc","sso"],"latest_commit_sha":null,"homepage":"https://github.com/casdoor/casdoor-angular-sdk","language":"TypeScript","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/casdoor.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}},"created_at":"2023-07-24T03:54:33.000Z","updated_at":"2025-08-29T19:15:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"9fedfef7-643c-4666-ab90-ed3fae01e9b4","html_url":"https://github.com/casdoor/casdoor-nodejs-angular-example","commit_stats":null,"previous_names":["casdoor/casdoor-nodejs-angular-example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/casdoor/casdoor-nodejs-angular-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor-nodejs-angular-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor-nodejs-angular-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor-nodejs-angular-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor-nodejs-angular-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/casdoor","download_url":"https://codeload.github.com/casdoor/casdoor-nodejs-angular-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor-nodejs-angular-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29513276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"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":["angular","casdoor","example","express","iam","javascript","js","node","nodejs","oauth","oidc","sso"],"created_at":"2024-11-14T06:23:30.970Z","updated_at":"2026-02-16T16:37:32.262Z","avatar_url":"https://github.com/casdoor.png","language":"TypeScript","readme":"\u003ch1 align=\"center\" style=\"border-bottom: none;\"\u003eCasdoor nodejs-angular Example\u003c/h1\u003e\r\n\r\n## Demo\r\n\r\n![angular-illustration.gif](demo.gif)\r\n\r\n## Architecture\r\n\r\nThe example includes two parts:\r\n\r\n| Name     | SDK                 | Framework  | Source code                                                       |\r\n|----------|---------------------|------------|-------------------------------------------------------------------|\r\n| Frontend | casdoor-angular-sdk | Angular    | https://github.com/casdoor/casdoor-nodejs-angular-example/tree/master/web     |\r\n| Backend  | casdoor-nodejs-sdk  | Express.js | https://github.com/casdoor/casdoor-nodejs-angular-example/tree/master/backend |\r\n\r\n## Installation\r\n\r\nExample uses Casdoor to manage members. So you need to create an organization and an application for the example in a Casdoor instance.\r\n\r\n### Necessary Configurations\r\n\r\n#### Get the Code\r\n\r\n```shell\r\ngit clone https://github.com/casdoor/casdoor\r\ngit clone https://github.com/casdoor/casdoor-nodejs-angular-example\r\n```\r\n\r\n#### Run Example\r\n\r\n1. Run Casdoor\r\n2. Configure\r\n  - Backend\r\n  - Frontend\r\n\r\n#### Backend Config\r\n\r\nInitialization requires 6 (or 5) parameters, which are all string type. Please refer to the official doc on [backend sdk configuration](https://casdoor.org/docs/how-to-connect/sdk#1-backend-sdk-configuration) for the latest change.\r\n\r\n| Parameter        | Must | Description                                                                    |\r\n|------------------|------|--------------------------------------------------------------------------------|\r\n| endpoint         | Yes  | Casdoor Server URL, like `https://door.casdoor.com` or `http://localhost:8000` |\r\n| clientId         | Yes  | Client ID for the Casdoor application                                          |\r\n| clientSecret     | Yes  | Client secret for the Casdoor application                                      |\r\n| jwtPublicKey     | Yes  | The public key for the Casdoor application's cert                              |\r\n| organizationName | Yes  | The name for the Casdoor organization                                          |\r\n| applicationName  | No   | The name for the Casdoor application                                           |\r\n\r\n```js\r\n// in ./backend/server.js\r\nconst authCfg = {\r\n  endpoint: 'https://door.casdoor.com',\r\n  clientId: '014ae4bd048734ca2dea',\r\n  clientSecret: 'f26a4115725867b7bb7b668c81e1f8f7fae1544d',\r\n  certificate: cert,\r\n  orgName: 'casbin',\r\n  appName: 'app-casnode',\r\n}\r\n```\r\n\r\n#### Frontend\r\n\r\nThe first 4 parameters should use the same value as the Casdoor backend SDK. The last parameter redirectPath is relative path for the redirected URL, returned from Casdoor's login page. Please refer to the official doc on [frontend sdk configuration](https://casdoor.org/docs/how-to-connect/sdk#2-frontend-configuration) for the latest change.\r\n\r\n```js\r\n// in ./src/Setting.js\r\nconst config = {\r\n  serverUrl: \"https://door.casdoor.com\",\r\n  clientId: \"014ae4bd048734ca2dea\",\r\n  organizationName: \"casbin\",\r\n  appName: \"app-casnode\",\r\n  redirectPath: \"/callback\",\r\n};\r\n```\r\n\r\nFetch dependencies:\r\n\r\n```shell\r\ncd web\r\nnpm install\r\n```\r\n\r\nRun frontend at: http://localhost:9000\r\n\r\n```shell\r\nng serve --port 9000\r\n```\r\n\r\n### Backend\r\n\r\nFetch dependencies:\r\n\r\n```shell\r\nyarn install\r\n```\r\n\r\nRun backend at: http://localhost:8080\r\n\r\n```shell\r\nnode server.js\r\n```\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasdoor%2Fcasdoor-nodejs-angular-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasdoor%2Fcasdoor-nodejs-angular-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasdoor%2Fcasdoor-nodejs-angular-example/lists"}