All Projects → UniAuth → uniauth-backend

UniAuth / uniauth-backend

Licence: MIT license
backend service to power uniAuth

Programming Languages

typescript
32286 projects
Handlebars
879 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to uniauth-backend

Nest User Auth
A starter build for a back end which implements managing users with MongoDB, Mongoose, NestJS, Passport-JWT, and GraphQL.
Stars: ✭ 145 (+806.25%)
Mutual labels:  backend, nestjs
nestjs-config
NestJS Module for Nonfig services. Nonfig combines Configurations and Features. So you change features, and release swiftly, and measure to digital impact.
Stars: ✭ 40 (+150%)
Mutual labels:  backend, nestjs
nest-auth-example
Nest.js authentication with Passport. Realworld example
Stars: ✭ 186 (+1062.5%)
Mutual labels:  backend, nestjs
bad-cards-game
Bad Cards Game
Stars: ✭ 23 (+43.75%)
Mutual labels:  backend, nestjs
Ultimate Backend
Multi tenant SaaS starter kit with cqrs graphql microservice architecture, apollo federation, event source and authentication
Stars: ✭ 978 (+6012.5%)
Mutual labels:  backend, nestjs
Nestjs-Typeorm-Auth
NestJS + Typeorm codebase containing a full authentification system with roles, sessions and email verification.
Stars: ✭ 37 (+131.25%)
Mutual labels:  backend, nestjs
next-api-decorators
Collection of decorators to create typed Next.js API routes, with easy request validation and transformation.
Stars: ✭ 187 (+1068.75%)
Mutual labels:  backend, nestjs
Bank
🏦 Full Stack Web Application similar to financial software that is used in banking institutions | React.js and Node.js
Stars: ✭ 1,158 (+7137.5%)
Mutual labels:  backend, nestjs
nestjs-zero-to-hero
Coding through the course: NestJS Zero to Hero - Modern TypeScript Backend Development
Stars: ✭ 23 (+43.75%)
Mutual labels:  backend, nestjs
Nine-chat-frontend
采用socketio打造的多人实时通讯多房间在线音乐聊天室
Stars: ✭ 54 (+237.5%)
Mutual labels:  nestjs
nestjs-rest-sample
NestJS RESTful APIs Sample
Stars: ✭ 204 (+1175%)
Mutual labels:  nestjs
nestjs-pg-notify
NestJS custom transport strategy for PostgreSQL Pub/Sub.
Stars: ✭ 53 (+231.25%)
Mutual labels:  nestjs
pocket-cms
☁️ A pocket sized CMS written for nodejs
Stars: ✭ 13 (-18.75%)
Mutual labels:  backend
nest-keycloak-connect
keycloak-nodejs-connect module for Nest
Stars: ✭ 174 (+987.5%)
Mutual labels:  nestjs
larasar
Laravel + Quasar Framework
Stars: ✭ 77 (+381.25%)
Mutual labels:  backend
500-interview-question-for-programmers
个人的学习工作总结,可作为你的面试指南(目前涵盖八股,非八股,算法,系统设计)。
Stars: ✭ 38 (+137.5%)
Mutual labels:  backend
nest-rabbit-tasks
nest-rabbit-worker is a TaskQueue based upon RabbitMQ for NestJS
Stars: ✭ 29 (+81.25%)
Mutual labels:  nestjs
nestjs-mercurius
NestJs module to use Mercurius as GraphQL server
Stars: ✭ 38 (+137.5%)
Mutual labels:  nestjs
creatly-backend
🚀 Creatly backend app
Stars: ✭ 71 (+343.75%)
Mutual labels:  backend
nest-puppeteer
Puppeteer (Headless Chrome) provider for Nest.js
Stars: ✭ 68 (+325%)
Mutual labels:  nestjs

UniAuth Backend

GitHub issues GitHub pull requests GitHub last commit Gitlab code coverage GitHub top language Docker Automated build CodeFactor Ensure Build

Deploy

Objective

The detailed objective is available on the /UniAuth repository.


Docs

Running on Local System

Running the project on local system is strongly recommended, even if you are not working on the backend. This is becuase to test the middlewars, client applications, or any other component, an instance of UniAuth OAuth server is required. Make sure that you have a mongodb instance running. This step might be different depending on your installation type. If you do not have mongodb database installed, refer this link

  • Clone the repository to your system using git clone https://github.com/UniAuth/uniauth-backend
  • Now open the cloned repository using cd uniauth-backend
  • The project depends on numerous npm packages. Install them using yarn install or npm install
  • Run yarn start:dev or npm run start:dev to launch a development server.
  • Open localhost:5000 and ensure that the server is running.

Seems a long process? We have an open issue to create a docker image to make this short. Help us out by sending a pr.

Creating an Application

Once you have a server running(use the above steps if not), now you'll need to create a user account and application credentials just like any other user would. The steps are:

  • Open localhost:5000/account/register and fill in your details. Enter any random 9 digit word for registration number. This is added to demonstrate that custom fields can be added during registration itself.
    There are some validations in the system , so kindly follow the following format :
    Format for registration number : [2 digit year][3 character code][4 digit number]
    Example: 19BCE2669, 19MIT0001, 20BTC0010 etc.

Registration page

  • The page will ask you to please check your email for verification link. The email part is not integrated yet. So nothing to be done here. Head towards login and use the email and password you used to register right now.

  • Once logged in, you will see your dashboard. Please note that these are placeholder images only.

  • Head towards "Dev Arena" and click on "New Application"

  • Enter the details of the application and click on "Create Application". Ideally the page must refresh itself, if it doesn't, then manually refresh it. (create issue for this please). Application Details

  • Here you can see the details of the newly created application.

    Application Details

  • Now you can use the application details in middlewares and clients.

UniAuth Flow

OAuth Flow

Consent Screen

The user sees the following screen when during login Simple Consent Screen for event

Technologies Used

  • Backend

  • Frontend

  • Database

    Generating An Api Key From SendGrid

    • SignUp on (https://sendgrid.com/)
    • LogIn to your account and create a sender identity by following the onscreen instructions.
    • Verify the identity by clicking on the email sent to the email address that you used to create the sender identity.
    • Once the sender identity is verified Click on "Send Your First Email"
    • Choose "SMTP Relay" option.
    • Create an API key by entering a text in the input field
    • Once the API is generated you will be able to see the username and the passkey. The passkey is the API that you generated.
    • Copy paste the username and passkey in "user" and "pass" fields under "auth" property of "nodemailer_config" in the "default.yml" file inside the "Config" folder which is in the root directory.
    • Save the changes.
    • Link to the tutorial : (https://www.youtube.com/watch?v=wViybWxSAAQ&ab_channel=NickBisignano) - Follow ony till the api key is generated.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].