Skip to content

Commit e4afe58

Browse files
authored
Merge pull request #5 from mlabs-haskell/connor/new-plugin-interface
Implementation of Plugin & Prover interfaces
2 parents a6c91b4 + fc05761 commit e4afe58

File tree

20 files changed

+724
-430
lines changed

20 files changed

+724
-430
lines changed

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,42 @@
11
# MinAuth
22
Rapid development of POC of MinAuth - MinAuth is a library and a set of tools for providing JWT-based authentication protocol that uses SnarkyJS zero-knowledge proofs as the basis of the authentication. It uses plugins to prove statements about external data such as on-chain data or 3rd-party data.
33

4+
45
### Current status
56

67
The current code implements minimal authentication flow that recreates the usual passport authentication, but using snarkyjs ZKPs.
8+
9+
10+
### Repository Structure
11+
12+
Currently the source code of the repository is structure like this:
13+
14+
```
15+
.
16+
├── headlessClient
17+
├── library
18+
│   ├── client
19+
│   ├── common
20+
│   ├── plugin
21+
│   ├── server
22+
│   └── tools
23+
├── plugins
24+
│   └── simplePreimage
25+
└── someServer
26+
```
27+
28+
- headlessClient
29+
30+
This contains a hypothetical headless client using the MinAuth-enriched `someServer`. The purpose is to allow for quick tests and prototyping of the rest of the repository.
31+
32+
- library
33+
34+
This directory contains the code of the core library. It is divided by modules usage site. So for example in `library/plugin` you'll find stuff to build your own MinAuth plugins.
35+
36+
- plugins
37+
38+
This directory contains the official MinAuth plugins.
39+
40+
- someServer
41+
42+
An example of how you would use MinAuth on your server.

flake.lock

Lines changed: 64 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
description = "MinAuth";
3+
4+
inputs = {
5+
flake-parts.url = "github:hercules-ci/flake-parts";
6+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
7+
};
8+
9+
outputs = inputs@{ flake-parts, ... }:
10+
flake-parts.lib.mkFlake { inherit inputs; } {
11+
imports = [
12+
];
13+
systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
14+
perSystem = { config, self', inputs', pkgs, system, ... }: {
15+
devShells.default = pkgs.mkShell {
16+
packages = with pkgs; [
17+
nodejs
18+
nodePackages.typescript
19+
nodePackages.typescript-language-server
20+
];
21+
};
22+
};
23+
flake = {
24+
};
25+
};
26+
}

0 commit comments

Comments
 (0)