microfed 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUTHENTICATION.md +16 -0
- package/DESIGN.md +10 -0
- package/README.md +6 -0
- package/UTILS.md +20 -0
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 🛡️ Authentication Module
|
|
2
|
+
|
|
3
|
+
The Authentication Module is designed to offer a flexible and extensible authentication system for the ActivityPub-based inbox, ensuring secure and reliable access for users.
|
|
4
|
+
|
|
5
|
+
## Key Features
|
|
6
|
+
|
|
7
|
+
The Authentication Module provides the following capabilities:
|
|
8
|
+
|
|
9
|
+
- A **base authentication class**, which serves as a foundation for implementing different authentication methods to cater to various needs and requirements.
|
|
10
|
+
- **Support for PKI-based strong authentication**, ensuring a high level of security for user access and communication.
|
|
11
|
+
- **Delegated authentication support**, such as OAuth and OIDC, providing the ability to incorporate third-party authentication services when necessary or desired.
|
|
12
|
+
- **Integration with enterprise authentication systems**, allowing seamless authentication experiences for users within organizational environments.
|
|
13
|
+
|
|
14
|
+
## Extensibility and Adaptability
|
|
15
|
+
|
|
16
|
+
The Authentication Module has been designed with extensibility and adaptability in mind. It allows for the easy addition of different authentication modules as needed, ensuring that the system remains flexible and accommodating to various use cases and scenarios. This design philosophy ensures that the Authentication Module can evolve and adapt to changing requirements and security landscapes, providing a robust and future-proof authentication solution for your ActivityPub-based inbox.
|
package/DESIGN.md
CHANGED
|
@@ -28,6 +28,8 @@ This document provides a high-level overview of Microfed's design, outlining the
|
|
|
28
28
|
|
|
29
29
|
The Microfed Core serves as the central module that manages communication between different components and provides utility functions.
|
|
30
30
|
|
|
31
|
+
[Core Design](./CORE.md)
|
|
32
|
+
|
|
31
33
|
## Profile Module
|
|
32
34
|
|
|
33
35
|
The Profile Module consists of the following features:
|
|
@@ -47,6 +49,8 @@ The Inbox Module is designed to offer the following functionality:
|
|
|
47
49
|
- Methods for filtering messages based on user preferences.
|
|
48
50
|
- Support for Activity Pub JSON compatibility and message signatures.
|
|
49
51
|
|
|
52
|
+
[Inbox Design](./INBOX.md)
|
|
53
|
+
|
|
50
54
|
## Outbox Module
|
|
51
55
|
|
|
52
56
|
The Outbox Module includes the following capabilities:
|
|
@@ -55,6 +59,8 @@ The Outbox Module includes the following capabilities:
|
|
|
55
59
|
- Methods for storing private keys and signing outgoing messages.
|
|
56
60
|
- Support for routing messages to appropriate endpoints.
|
|
57
61
|
|
|
62
|
+
[Outbox Design](./OUTBOX.md)
|
|
63
|
+
|
|
58
64
|
## Authentication Module
|
|
59
65
|
|
|
60
66
|
The Authentication Module provides a flexible and extensible authentication system:
|
|
@@ -64,10 +70,14 @@ The Authentication Module provides a flexible and extensible authentication syst
|
|
|
64
70
|
- Support for delegated authentication (e.g., OAuth, OIDC) if needed.
|
|
65
71
|
- Integration with enterprise authentication systems.
|
|
66
72
|
|
|
73
|
+
[Authentication Design](./AUTHENTICATION.md)
|
|
74
|
+
|
|
67
75
|
## Utility Functions
|
|
68
76
|
|
|
69
77
|
The Utility Functions module offers various general-purpose functions, such as data validation, conversion, and formatting.
|
|
70
78
|
|
|
79
|
+
[Utility Design](./UTILS.md)
|
|
80
|
+
|
|
71
81
|
---
|
|
72
82
|
|
|
73
83
|
With its modular and extensible design, Microfed provides a robust and flexible foundation for developing decentralized applications that harness the power of microservices and the fediverse. By combining these technologies, Microfed empowers developers to create innovative, secure, and scalable applications for the decentralized web.
|
package/README.md
CHANGED
|
@@ -63,14 +63,20 @@ The Profile can be self-hosted, or part of a multi user service. It should be a
|
|
|
63
63
|
|
|
64
64
|
The Inbox should be a place where people can send messages in JSON. The micro service can filter out messages based on user preferences. The message format should be as far as possible compatible with Activity Pub JSON. Signatures can be used to verify the authenticity of a message.
|
|
65
65
|
|
|
66
|
+
[Inbox Design](./INBOX.md)
|
|
67
|
+
|
|
66
68
|
# 📤 Outbox
|
|
67
69
|
|
|
68
70
|
The Outbox is a service that allows messages to be sent to other inboxes. It should also have to ability to store a private key on behalf of a user, in order to sign outgoing messages. It should be able to route messages to the right endpoints.
|
|
69
71
|
|
|
72
|
+
[Outbox Design](./OUTBOX.md)
|
|
73
|
+
|
|
70
74
|
# 🔐 Authentication
|
|
71
75
|
|
|
72
76
|
Initially, strong authentication via PKI will be supported. Delegated authentication, such as OAuth and OIDC may be considered desirable. A loosely coupled authentication suite will allow the user to add different authentication modules. This could also work with enterprise authentication.
|
|
73
77
|
|
|
78
|
+
[Authentication Design](./AUTHENTICATION.md)
|
|
79
|
+
|
|
74
80
|
# ⚖️ License
|
|
75
81
|
|
|
76
82
|
- MIT
|
package/UTILS.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# 🛠️ Utils Module
|
|
2
|
+
|
|
3
|
+
The Utils Module is designed to provide a collection of utility functions and tools that support and enhance the functionality of the Microfed system, including the Profile, Inbox, Outbox, and Authentication modules.
|
|
4
|
+
|
|
5
|
+
## Key Features
|
|
6
|
+
|
|
7
|
+
The Utils Module offers the following essential utilities and tools:
|
|
8
|
+
|
|
9
|
+
- **Data validation and sanitization**, ensuring that user data is correct, secure, and free from malicious input.
|
|
10
|
+
- **Error handling and logging**, providing a structured approach to manage exceptions and log crucial information for debugging and maintenance purposes.
|
|
11
|
+
- **Cryptography and security helpers**, offering a collection of tools for managing encryption, decryption, signing, and verification tasks.
|
|
12
|
+
- **Networking and protocol utilities**, assisting with the handling of various networking tasks and protocol-specific operations.
|
|
13
|
+
- **Message formatting and parsing**, delivering support for transforming and interpreting messages in different formats, such as JSON, JSON-LD, and others.
|
|
14
|
+
- **Compatibility and integration tools**, enabling seamless interoperability between various components, modules, and third-party systems.
|
|
15
|
+
|
|
16
|
+
## Modularity and Reusability
|
|
17
|
+
|
|
18
|
+
The Utils Module is built with modularity and reusability in mind. Each utility function and tool is designed to be easily accessible and adaptable, allowing developers to quickly integrate them into their projects without any hassle. This design approach ensures that the Utils Module remains a valuable resource for the Microfed ecosystem, providing essential support and enhancing the functionality of the core modules.
|
|
19
|
+
|
|
20
|
+
By offering a comprehensive set of utilities, the Utils Module empowers developers to focus on implementing the unique features and requirements of their specific projects, knowing that they have a reliable set of tools to support their work. This ultimately leads to more efficient development cycles and higher-quality end products.
|