You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -87,6 +92,20 @@ That's the universal pattern. What changes between apps is mostly: the data, whi
87
92
4. Commit + push.
88
93
5. The catalog (https://solid-apps.github.io/) and reverse-index update automatically.
89
94
95
+
## Authentication
96
+
97
+
xlogin (https://github.com/melvincarvalho/xlogin) is the auth layer of the stack — a single `<script src="https://unpkg.com/xlogin">` tag adds a Login button supporting both Nostr (NIP-07/NIP-98) and Solid (OIDC/DPoP). On login it exposes:
98
+
99
+
-`window.xlogin.type` — `"nostr"` or `"solid"`
100
+
-`window.xlogin.id` — the user's pubkey or WebID
101
+
-`window.xlogin.authFetch(url, opts)` — authenticated fetch (NIP-98 or DPoP based on login type)
102
+
103
+
LOSOS's panes already prefer `window.xlogin.authFetch` over plain `fetch` for writes — the pattern is `(window.xlogin && window.xlogin.authFetch) || fetch`. Adding the script tag is enough to enable real-pod writes; nothing else changes.
104
+
105
+
To target a real pod resource at runtime, the user appends `?uri=https://my.pod/today.jsonld` to the app URL. LOSOS's shell fetches it with `authFetch` and round-trips edits via authenticated PUT.
106
+
107
+
See https://github.com/melvincarvalho/xlogin/blob/gh-pages/SKILL.md for the full xlogin API.
108
+
90
109
## Don't
91
110
92
111
- Don't list types in `app.json#types` that aren't in urn-solid.
@@ -108,3 +127,4 @@ That's the universal pattern. What changes between apps is mostly: the data, whi
108
127
-`solid-schema` — type contracts
109
128
-`solid-panes` — pane registry (which pane handles which type)
0 commit comments