mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Restructured from flat .tex/.pdf files into per-paper subdirectories. Added Antje Worring as co-author on all papers. Synced PDFs to pdfs/ for download site.
46 lines
1.7 KiB
TeX
46 lines
1.7 KiB
TeX
\section{Casdoor Foundation}
|
|
|
|
|
|
\subsection{Architectural Decision}
|
|
|
|
Lux.id is built upon Casdoor, an open-source IAM platform written in Go. This decision was driven by several factors:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Protocol completeness}: Casdoor provides mature implementations of essential authentication protocols
|
|
\item \textbf{Performance}: Go's compiled nature and efficient concurrency model enable high-throughput authentication
|
|
\item \textbf{Extensibility}: Plugin architecture allows addition of blockchain-specific features
|
|
\item \textbf{Multi-tenancy}: Native support for organizational isolation critical for enterprise deployment
|
|
\item \textbf{Active development}: Vibrant open-source community ensures continuous improvement
|
|
\end{enumerate}
|
|
|
|
\subsection{Multi-Tenancy Architecture}
|
|
|
|
Lux.id implements hierarchical multi-tenancy:
|
|
|
|
\begin{equation}
|
|
\text{Tenant}_i = \{\text{Org}_i, \text{Apps}_i, \text{Users}_i, \text{Policies}_i\}
|
|
\end{equation}
|
|
|
|
Where each tenant maintains isolated:
|
|
\begin{itemize}
|
|
\item Organizations ($\text{Org}_i$): Logical groupings of users
|
|
\item Applications ($\text{Apps}_i$): Protected resources and services
|
|
\item Users ($\text{Users}_i$): Identity principals
|
|
\item Policies ($\text{Policies}_i$): Access control rules
|
|
\end{itemize}
|
|
|
|
\subsection{Extensibility Framework}
|
|
|
|
The extension mechanism follows a provider pattern:
|
|
|
|
\begin{lstlisting}[language=C]
|
|
type Provider interface {
|
|
Authenticate(credentials interface{}) (*User, error)
|
|
Authorize(user *User, resource string) bool
|
|
GetUserInfo(token string) (*UserInfo, error)
|
|
}
|
|
\end{lstlisting}
|
|
|
|
This allows integration of new authentication methods including blockchain wallets, zero-knowledge proofs, and biometric systems.
|
|
|