{"id":26339650,"url":"https://github.com/kmaida/messageboard","last_synced_at":"2026-02-15T05:31:46.735Z","repository":{"id":38816982,"uuid":"108163942","full_name":"kmaida/messageboard","owner":"kmaida","description":"A MEAN stack message board (forum) application with Auth0 centralized login and passwordless","archived":false,"fork":false,"pushed_at":"2025-10-08T10:32:14.000Z","size":2828,"stargazers_count":1,"open_issues_count":42,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-08T12:26:19.916Z","etag":null,"topics":["angular","auth0","authentication","mean-stack","nodejs","passwordless"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/kmaida.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":"2017-10-24T17:57:22.000Z","updated_at":"2023-02-10T10:40:03.000Z","dependencies_parsed_at":"2023-02-08T17:45:39.861Z","dependency_job_id":"3ce83c2d-7241-4bce-a344-ee02b32e77c6","html_url":"https://github.com/kmaida/messageboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kmaida/messageboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmaida%2Fmessageboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmaida%2Fmessageboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmaida%2Fmessageboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmaida%2Fmessageboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kmaida","download_url":"https://codeload.github.com/kmaida/messageboard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmaida%2Fmessageboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29470607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T05:26:30.465Z","status":"ssl_error","status_checked_at":"2026-02-15T05:26:21.858Z","response_time":118,"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","auth0","authentication","mean-stack","nodejs","passwordless"],"created_at":"2025-03-16T03:18:43.698Z","updated_at":"2026-02-15T05:31:46.720Z","avatar_url":"https://github.com/kmaida.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Message Board\n\nMEAN stack message board (forum) application with Auth0 authentication and passwordless login.\n\n## Dependencies\n\n* [node.js](https://nodejs.org) with npm\n* [Angular CLI](https://github.com/angular/angular-cli)\n* [A free mLab account](https://mlab.com/)\n* [A free Auth0 account](https://auth0.com/signup)\n\n## Create an mLab Mongo Database\n\nOnce you have created a [free mLab account](https://mlab.com/signup), create a new database with mLab.\n\n1. Log into [mLab](https://mlab.com). In **MongoDB Deployments**, click the \"Create new\" button.\n2. Select your desired Cloud Provider and Region.\n3. Change the Plan to **Single-node** and select the free \"Sandbox\" option.\n4. Scroll down and give your database a name, like `mean`.\n5. Click the \"Create new MongoDB deployment\" button.\n\n![mLab new MongoDB deployment](https://cdn.auth0.com/blog/mean-series/mLab-new-deployment.png)\n\nThe new database can now be selected from our deployments. It should look something like this:\n\n![mLab MongoDB database](https://cdn.auth0.com/blog/mean-series/mLab-db.png)\n\nWe now need to add a user in order to connect to our database. Click on the database to edit it.\n\n1. Select the **Users** tab and click the \"Add database user\" button.\n2. Enter a database username and password in the modal. These credentials will be needed to read and write to the database with Node.\n3. Make a note of the database's MongoDB URI. This should be in the format: `mongodb://\u003cdbuser\u003e:\u003cdbpassword\u003e@\u003cds111111\u003e.mlab.com:\u003cport\u003e/\u003cdbname\u003e`.\n\n![mLab MongoDB URI](https://cdn.auth0.com/blog/mean-series/mLab-uri.png)\n\nNow we're ready to use our MongoDB database.\n\n\u003e **Note:** If you prefer, you can host MongoDB locally. [Follow these instructions](https://docs.mongodb.com/manual/installation/) to install MongoDB on your operating system.\n\n## Auth0 Centralized Login with Passwordless\n\nOnce you've signed up for a free Auth0 account, you can implement Auth0 authentication with centralized login and passwordless.\n\n![Auth0 centralized login with email passwordless](https://cdn.auth0.com/blog/centralized-login/auth0_login_passwordless-email.jpg)\n\n### Set Up an Auth0 Client App\n\n1. Go to your [**Auth0 Dashboard**](https://manage.auth0.com/#/) and click the \"[Create a New Client](https://manage.auth0.com/#/clients/create)\" button.\n2. Give your new app a **name**, select **Single Page Web Applications**, then click the \"Create\" button.\n3. In the **Settings** for your new Auth0 Client app, add `http://localhost:4200/callback, http://localhost:8085/callback` to the **Allowed Callback URLs**.\n4. Add `http://localhost:4200, http://localhost:8085` to the **Allowed Web Origins**.\n5. Add `http://localhost:4200, http://localhost:8085` to the **Allowed Origins (CORS)**.\n6. Make sure that **Use Auth0 instead of the IdP to do Single Sign On** is enabled.\n7. At the bottom of the **Settings** section, click the \"Show Advanced Settings\" link. Choose the **OAuth** tab and verify that the **JsonWebToken Signature Algorithm** is set to `RS256`.\n8. Click the \"Save Changes\" button.\n\n### Set Up Auth0 Passwordless Login\n\n1. Go to **Connections** -\u003e [**Passwordless**](https://manage.auth0.com/#/connections/passwordless) and toggle on **Email**.\n2. In the Email passwordless settings screen, add `{ \"scope\": \"openid profile\" }` to **Authentication Parameters**.\n3. Click the \"Save\" button.\n4. Click the **Apps** tab at the top of the window and find your newly-created Client. Toggle the switch **on**.\n5. Click the \"Save\" button.\n6. Go to [**Hosted Pages**](https://manage.auth0.com/#/login_page). Toggle on the **Customize Login Page** option. This will enable you to modify the provided template.\n7. Using the **Default Templates** dropdown, switch to **Lock (Passwordless)**.\n8. Click the \"Save\" button.\n\n### Set Up an API in Auth0\n\nGo to [**APIs**](https://manage.auth0.com/#/apis) in your Auth0 Dashboard and click on the \"Create API\" button. Enter a name for the API. Set the **Identifier** to `http://localhost:8085/api/`. The **Signing Algorithm** should be `RS256`.\n\n## Installation\n\nClone this project and from the root, run the following command to install dependencies for the server and client-side:\n\n```\n$ npm install\n```\n\n1. Open the `server/config.js.sample` file. Replace `[AUTH0_DOMAIN]` with your Auth0 domain and replace `[MONGODB_URI]` with your mLab MongoDB URI. Then remove `.sample` from the file name.\n2. Open the `src/app/auth/auth0-variables.ts.sample` file. Replace `[AUTH0_CLIENT]` and `[AUTH0_DOMAIN]` with your Auth0 Client ID and domain. Then remove `.sample` from the file name.\n\n## Serving the project\n\n### Development\n\n* Start Node API server: `NODE_ENV=dev node server` from the root folder.\n* Start Angular server: `ng serve` from the root folder.\n\nThe API will run on `localhost:8085` and the app will run on `localhost:4200`.\n\n### Staging / Production\n\n* Run `ng build` to compile the Angular project from the root folder.\n* Start Node API and app server: `node server` from the root folder.\n\nThe app and API will both run on `localhost:8085`.\n\n## License\n\nThis project is licensed under the MIT license. See the [LICENSE](LICENSE) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkmaida%2Fmessageboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkmaida%2Fmessageboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkmaida%2Fmessageboard/lists"}