And idea that never worked but was fun while it lasted

Overview

THIS IDEA WAS FUN BUT IS DEAD NOW AND SHOULD NOT BE TRUSTED FOR ANYTHING!!!

Logo!

Authsio

Core

Core authsio web application for identity & access management


Project Plan

An open source identity & access management solution that will serve as a multi tenant drop in access management solution. There are many other access management tools on the market but nothing that is multi tenant by design and can be self hosted. Today with privacy and security concerns of your users in mind you need an IAM that separates your concerns. With that in mind, our current project plan is to get a MVP out the door in the next couple months.

For more information about this project click here link


Deployment (WIP)

We are using Turborepo to compile and build our application.


Developer Setup (WIP)

Notes

  • As this project is currently not feature stable, no postgres tables are currently made when running the backend application
  • Each section of the application has its own package.json and tsconfig.json

Backend

  • This project is using node 16
  • You must be inside the backend folder to work on the backend code from the cli (ie: node & npm commands)
  • We recommend using vscode and install the Remote - Containers Plugin
  • Doing this will allow vscode to use the .devcontainer setting up your developer workspace
  • Port 5432, and 4000 will be exposed to your local machine
  • 5432: Has a docker container with Postgres running
  • 4000: Will have the node app, after starting it with npm run start:dev using default settings

New Backend Project

Using the bootstrap mutation you can setup a brand new workspace for you and your project's users.

IFrame

Planning in process


Companies Using Software List

None yet, check back soon.


Contributing

Planning in process


License

GNU Affero General Public License v3.0

Frontend

Planning in process

Comments
  • documentation - Project readme.md

    documentation - Project readme.md

    Lets get the base readme in the top level of the project figured out...

    • Backend Details
    • iframe Details
    • Frontend Details
    • Project Plan
    • Contributors List
    • Companies Using Software List

    THIS IS LOW PRIORITY BUT WILL BE A NICE TO HAVE, IF YOUR INTERESTED LET'S CHAT

    documentation enhancement good first issue 
    opened by hkd987 8
  • Connect front-end to the back-end

    Connect front-end to the back-end

    Work in progress. You can see a demo of the user registration. @hkd987 Seems like we can register multiple times with the same email address. Am I missing something?

    opened by cedpoilly 7
  • The Best Frontend Framework For Authsio Discussion

    The Best Frontend Framework For Authsio Discussion

    As a project we want to choose the best frontend frame work that will not only support long term success but also attract the right mix of developers and contributions. Currently we have a few contenders and want to get open feedback from the community as to what they feel will work for us.

    • Vue 3
    • React
    • Svelte
    • Preact

    Taking the above options give us some pros and cons of each framework and what you would choose if you were starting a new project today.

    help wanted question 
    opened by hkd987 7
  • frontend - Design & Build Static Frontend

    frontend - Design & Build Static Frontend

    The frontend is how most of our users will interact with the application some of the key requirements are as follows.

    This depends on at the least #2 being done. so to allow the Login & Registration pages to be completed.

    • Login & Registration page uses the iframe design, if iframe changes are needed to support use cases lets talk
    • Dashboard that shows current projects
    • Clicking on projects will show users in that project
    • Allow exporting of projects users
    • Should allow creation of new projects
    • Dashboard should have a settings option
    • Settings should allow payment (if env is set)
    • Settings should allow account deletion and clearing of all users

    I think this is a solid starting point to get started on design,

    In my mind this is very basic left menu and main screen

    The left menu has Projects, and Settings

    IF YOU PLAN TO CONTRIBUTE OR WORK ON THIS ISSUE, LETS CHAT FIRST TO SYNC UP.

    https://app.bountysource.com/issues/104978541-frontend-design-build-static-frontend

    enhancement good first issue 
    opened by hkd987 5
  • Tables are not being created

    Tables are not being created

    While setting up the backend component on my machine, I noticed that sql tables are not being created on my postgresql database, I have confirmed that my database credentials are correct.

    I have DATABASE_FORCE_SYNC=yes enabled. Am I missing something?

    opened by davemagro 1
  • Backend - Finish DB Design, Resolvers, and JWT Security

    Backend - Finish DB Design, Resolvers, and JWT Security

    Currently there are a couple holes in the backend DB design, the goal of this issue will be to finish the backend DB design.

    Currently we have...

    • Users who have a login, these are users for our application or the base application
    • Users who have many projects

    Project is a reference table to the Postgres schema where the Users -> Users will live, They will use the same Users and Login table that already exists meaning that we will be dog fooding our own application.

    What we need to figure out still is as follows.

    • Secure access by JWT or API key to the correct table, this could mean a few things, one could be that a JWT includes a projectId reference, this could mean that we also need an API key table that relates to a project where a project could have many keys, and keys could be public or private keys. where a private key allows full access on the project and a public key only allows login and registration on that project.
    • We need to figure out a way to boot strap the init project where an open source user will be able to call a query that starts the first project
    • When this first project is made we want to ensure that the init project feature is then no longer working, this could be a resolver
    • We need to write resolvers for each model with auth logic that allow the app to be secure
    • Each project needs its own JWT signing key that will be stored in the DB, this will not be shared with anyone but will be used by the API to verify tokens. By giving each project its own key we allow ourselves to ensure that the JWT are unique for each project
    • Any other issues that come out of this.
    • Track if a user account is a paid account using stripe integration
    • Stripe checkout pages will be used, will need db models around this, Payment table that belongs to a user a user will haveOne payment
    • Payment feature will be enabled by a ENV setting, and

    Im not sure at this point if we can break this work down further or if its ready to go as is....This is a pretty high level overview and could need more discussion.

    IF YOU PLAN TO CONTRIBUTE OR WORK ON THIS ISSUE, LETS CHAT FIRST TO SYNC UP.

    enhancement 
    opened by hkd987 1
  • Tailwind CSS setup (+ small Svelte demo)

    Tailwind CSS setup (+ small Svelte demo)

    Tailwind CSS is set up in this PR. A good place to start defining the front-end's structure.

    There is a mini Svelte demo set up in there. Let me have your thoughts. :v:

    opened by cedpoilly 0
  • Barebones SvelteKit project

    Barebones SvelteKit project

    We can build on that for the front-end.

    It is built on Vitejs, so we can get support from the dev team & the community.

    We can easily set up Tailwind CSS with the official guide for SvelteKit.

    opened by cedpoilly 0
  • New Svelte Project For Frontend

    New Svelte Project For Frontend

    Using the command npx degit [sveltejs/template](https://github.com/sveltejs/template) my-svelte-project to replace the frontend folder and spin up a new svelte project in the mono repo

    The main difference between this and what @evanyang1 put up is that this use the frontend folder structure already in place.

    opened by hkd987 0
  • iframe - Connect to backend api and implement business logic

    iframe - Connect to backend api and implement business logic

    After completion of #1 & #2 we should be ready to wire up the business logic for our iframe.

    This issue if not already completed by #2 could also include putting a publishing and design system in place but might not. This ticket should allow the iframe to load quickly and will need the following logic

    • Login users, users
    • Register users, users
    • Display "Powered By Authsio" link for unpaid accounts
    • Remove "Powered By Authsio" for paid accounts
    • Should read the users public api key for this information
    • Should handle basic email validation rules, maybe HTML5 email validation is enough
    • Should handle basic password validation rules, maybe HTML5 password validation is enough
    • Should score over 90% on lighthouse across the board. We do not want to slow down users websites

    IF YOU PLAN TO CONTRIBUTE OR WORK ON THIS ISSUE, LETS CHAT FIRST TO SYNC UP.

    enhancement good first issue 
    opened by hkd987 0
  • iframe - Design & Build static user login iframe

    iframe - Design & Build static user login iframe

    A large part of IAM will involve this iframe that users will drop into their website, it should look amazing and allow users to add basic styles to match their website, The goal of this issue, will be to build out and design the basic iframe so that in a follow up ticket we can wire it up using the customers API key to the backend resolvers.

    • The iframe should include a email, and password input boxes,
    • The iframe should allow registration and login designs,
    • The buttons on each should say, Login vs Register.
    • The iframe should included a powered by authsio link at the bottom (link will be removed for a small fee but when self hosting will allow this link to be removed or customized). This is not a concern for the static coded design but more a note.
    • This ticket might also included choosing a build and design pattern around the iframe, for the right contributor but this can be discussed in the comments.

    This should be a working static design and will just be missing the calls to the backend resolvers.

    https://app.bountysource.com/issues/104978539-iframe-design-build-static-user-login-iframe

    IF YOU PLAN TO CONTRIBUTE OR WORK ON THIS ISSUE, LETS CHAT FIRST TO SYNC UP.

    enhancement good first issue 
    opened by hkd987 0
  • documentation - Document backend Usage

    documentation - Document backend Usage

    This depends on #1, and being done but this documentation will need to live in its own docs folder in the top level of the project along with all other docs

    TODO: spin up framework for documentation

    IF YOU PLAN TO CONTRIBUTE OR WORK ON THIS ISSUE, LETS CHAT FIRST TO SYNC UP.

    documentation good first issue 
    opened by hkd987 0
  • documentation - Document Iframe Usage

    documentation - Document Iframe Usage

    This depends on #1, and #3 being done but this documentation will need to live in its own docs folder in the top level of the project.

    TODO: spin up framework for documentation

    IF YOU PLAN TO CONTRIBUTE OR WORK ON THIS ISSUE, LETS CHAT FIRST TO SYNC UP.

    documentation good first issue 
    opened by hkd987 0
  • Deployment Pipelines

    Deployment Pipelines

    Need multiple deployment codes but to start we will focus on a couple and it might be broken down by project.

    Backend

    • Lets focus on a backend using docker on cloud run, with a CI/CD pipeline

    Frontend & Iframe

    • Vercel or Netlify might be good options and simple to set up here

    Self hosted

    • Standalone docker image for self deployment.

    This issue will need some more refinement when it comes time to work.

    IF YOU PLAN TO CONTRIBUTE OR WORK ON THIS ISSUE, LETS CHAT FIRST TO SYNC UP.

    enhancement good first issue 
    opened by hkd987 4
Owner
authsio
Open source identity access management for your project
authsio
this is advanced ticket system bot, worked in discord guilds🎫.

?? Ticker Boy Source (advanced ticket system ?? ) Hi there???? this source bot writes with love and much works ❤️‍?? with inviting "Ticker Boy" you ca

Sobhan.SRZA 19 Jan 7, 2023
Moject is a IoC container and an app factory built around the modules idea of Angular and NestJs.

Moject Moject is an IoC container and an app factory package built around the modules idea of Angular and NestJs. Usage npm install moject Use @Mo

Alexander 4 Dec 4, 2022
GitHub and Markdown-Based CMS for Blogs. EXPERIMENTAL and in the "Idea" stage. I have no clue if this is feasible.

Turborepo starter This is an official pnpm starter turborepo. What's inside? This turborepo uses pnpm as a package manager. It includes the following

David Taing 2 Oct 13, 2022
It's a repository to studies. Its idea is to learn about Nx and its plugins.

StudyingNx This project was generated using Nx. ?? Smart, Fast and Extensible Build System Adding capabilities to your workspace Nx supports many plug

Open-ish 4 May 13, 2022
Open-source project inspired by the idea of "Long Distance Lamp"

Project inspired by the idea of Long Distance Lamp (e.g. Friendship Lamps) for people with no soldering skills.

Davide Gabrielli 3 Mar 19, 2022
The idea is build an app that make me consult uber ride prices through my mi band or a smart watch.

CanIGetHome? - Get uber prices The main idea is the possibility to me to get the estimate uber rides prices through my mi band 6. Get my current local

Emerson 174 Nov 23, 2022
Please do not use this tracker to scam anyone! This is free and will be forever free. This tracking will never ask for seed phrases nor private keys. Keep safe!

CryptoBlades Tracker Related modules express - web application framework for node pug - template engine stylus - pre-processor CSS mongoose - nodejs o

null 355 Oct 13, 2022
Move all the disks from the left hand post to the right hand post, only moving the disks one at a time and a bigger disk can never be placed on a smaller disk.

Hanoi Tower Description The Tower of Hanoi was a famous problem posed by a mathematician in 1883, The "puzzle" is to move all the disks from the left

Dustin J Sellers 1 Feb 5, 2022
Timers for Lost Ark bosses, islands, events, wandering merchants and more! Never miss an event again.

Timers for Lost Ark bosses, islands, events, wandering merchants and more! Never miss an event again. LostArkTimer.app Website Website Features Event

Joshua Kuan 28 Oct 17, 2022
A community-centric site like you've never seen before.

Kleptonix A community-centric site like you've never seen before. Overview This section will be updated when basic posting and account creation functi

Luis Bauza 1 Apr 19, 2022
Read without losing the plot. Well Read helps you organize your notes about books you're reading, so you're never lost when starting a new volume.

Well Read Well Read is a website for tracking your reading of long book series. I made this to track how many pages I read in a session and to better

null 3 Dec 15, 2022
A web app which help you to save you a list of your favorite books, they will be saved on your local storage to never loose them even if you close the page. Built wiht JavaScript

Awesome Books In this project I build a page to save a list of your favorites books, you can add new books, delete it and they will be saved in the lo

Williams Colmenares 9 Dec 17, 2022
⛑️ JSON serialization should never fail

⛑️ JSON serialization should never fail. Features Prevent JSON.serialize() from: Throwing Changing types Filtering or transforming values unexpectedly

ehmicky 191 Dec 15, 2022
🔐 A Privacy-first Diff tool for everyone. ✅ Your data never hits our servers.

Features ?? Privacy-first developer tool. ?? Run on your Web Browser, Your data is sent nowhere. ?? Find a Difference between two text input for Side

Proxyman 41 Dec 5, 2022
Make the content slide prettily across the screen with variable sizes of scrolling items, in any of four directions, pausing while the mouse is over the marquee, and all with vanilla JavaScript.

TEG Marquee Make the content slide prettily across the screen with variable sizes of scrolling items, in any of four directions, pausing while the mou

Paul B. Joiner 0 Dec 30, 2021
A simple leaderboard project made while a student in Microverse using API to get scores for a game, JavaScript, HTML and basic CSS

A simple leaderboard project made while a student in Microverse using API to get scores for a game, JavaScript, HTML and basic CSS

Thiago Ponce 6 Nov 28, 2022
A simple to-do list created while a student in Microverse using JavaScript to add and delete selected tasks.

To-Do List This is a simple To-Do list page I made following the requirements from Microverse. You can check it out here: https://thi-ponce.github.io/

Thiago Ponce 7 Nov 28, 2022