Create NestJS libraries to interact with Ory API

This page summarizes the projects mentioned and recommended in the original post on dev.to

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • nestjs-ory-integration

    A suite of libraries to make NestJS and Ory fall in love

  • // from https://github.com/getlarge/nestjs-ory-integration/blob/main/packages/kratos-client-wrapper/src/lib/ory-authentication.guard.ts // ... export const OryAuthenticationGuard = ( options: Partial = defaultOptions ): Type => { @Injectable() class AuthenticationGuard implements CanActivate { readonly logger = new Logger(AuthenticationGuard.name); constructor(readonly oryService: OryFrontendService) {} async canActivate(context: ExecutionContext): Promise { const { cookieResolver, sessionTokenResolver, isValidSession, postValidationHook, } = { ...defaultOptions, ...options, }; try { const cookie = cookieResolver(context); const xSessionToken = sessionTokenResolver(context); const { data: session } = await this.oryService.toSession({ cookie, xSessionToken, }); if (!isValidSession(session)) { return false; } if (typeof postValidationHook === 'function') { await postValidationHook.bind(this)(context, session); } return true; } catch (error) { this.logger.error(error); return false; } } } return mixin(AuthenticationGuard); };

  • Ory Kratos

    Next-gen identity server replacing your Auth0, Okta, Firebase with hardened security and PassKeys, SMS, OIDC, Social Sign In, MFA, FIDO, TOTP and OTP, WebAuthn, passwordless and much more. Golang, headless, API-first. Available as a worry-free SaaS with the fairest pricing on the market! (by ory)

  • kratos-client-wrapper is a set of NestJS modules that wraps @ory/client and, more particularly, the Frontend and Identity APIs, which are part of Ory Kratos

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Nest

    A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript πŸš€

  • Ory offers excellent documentation but needs more support tools and in-depth examples of using its libraries in TypeScript and NestJS projects. I decided to contribute to it by creating a set of libraries to interact with APIs, which will (hopefully) make integration into your NestJS project easier. This post presents the ideal use case to divulge my routines for creating libraries in NestJS/Nx!

  • Ory Keto

    Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.

  • keto-client-wrapper is also a set of NestJS modules that wraps @ory/client's Permission and Relationship APIs, which are part of Ory Keto

  • relation-tuple-parser

  • keto-relations-parser is a node library that allows manipulating relations tuples using Ory Permission Language notation. This library is an improved version of this existing lib.

  • axios

    Promise based HTTP client for the browser and node.js

  • Now, let’s focus on the Ory API integration. Ory already provides an auto-generated client based on their Open API specifications, which uses axios under the hood to send HTTP requests. How can we make this an even better experience for NestJS users? I would say:

  • antlr4ts

    Optimized TypeScript target for ANTLR 4

  • Replace Antlr4 based parser with a simpler and more efficient Regex parser (it still needs to be tested in some edge cases)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How to Build an AI FAQ System with Strapi, LangChain & OpenAI

    7 projects | dev.to | 21 Apr 2024
  • Automating Data Collection with Apify: From Script to Deployment

    4 projects | dev.to | 17 Mar 2024
  • TypeORM - remove children with orphanedRowAction

    3 projects | dev.to | 6 Nov 2023
  • 10 Issues That Will Help You Grow as a top contributor in Opensource πŸ…πŸ…

    12 projects | dev.to | 16 Oct 2023
  • Hacktoberfest 2023 with Ghostfolio

    9 projects | dev.to | 26 Sep 2023