raucao
8dd0bf10ce
Add PKCE support to remoteStorage OAuth
...
Implements the optional OAuth 2.0 Authorization Code grant with PKCE
(RFC 7636) for remoteStorage, as described in the remoteStorage spec
(section 10.1).
- Advertise the authorization and token endpoints plus the supported
code_challenge method (S256) in WebFinger, and bump the advertised
spec version to draft-dejong-remotestorage-27
- Add RsAuthorizationCode: a short-lived (5 min), single-use authorization
code stored only as a SHA256 digest
- Add RsOauthManager services for issuing and exchanging codes, including
S256 verification
- Add a cross-origin POST /rs/oauth/token endpoint that exchanges a code
(and code_verifier) for an access token, with CORS and no CSRF token
- Consent dialog now carries response_type / code_challenge through the
form and redirects with the code in the query string for the code flow
- Remove the existing-token reuse shortcut so every authorization results
in a distinct authorization (and token)
Part of #254
2026-11-03 09:17:43 +04:00
raucao
89184cd851
Redirect to root after password reset
CI / Test (pull_request) Successful in 32s
Release Drafter / Update release notes draft (pull_request) Successful in 2s
2026-08-10 11:22:03 -06:00
raucao
e48132cf5f
Set member status to sustainer upon payment
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Introduces a state machine for the payment status as well.
refs #213
2025-05-27 16:39:03 +04:00
raucao
e66d134550
Log missing l param for WKD requests, return 400
continuous-integration/drone/push Build is passing
2025-05-18 14:46:04 +04:00
raucao
ebbd87368c
Handle l param missing for WKD request
continuous-integration/drone/push Build is passing
2025-05-18 14:37:22 +04:00
raucao
a098ea43bb
Add avatar URL to Webfinger when available
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-14 15:39:50 +04:00
raucao
eae370b737
Migrate from lockbox to ActiveRecord encryption (1/2)
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-05-06 18:09:27 +04:00
raucao
15a9fdec3e
Make RS auth work by default in dev with Docker Compose
2025-05-06 18:07:52 +04:00
raucao
729e4fd566
Add WKD policy endpoint
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-09-26 23:11:21 +02:00
raucao
534e5a9d3c
Gracefully handle wrong capitalization of username
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-09-25 00:20:30 +02:00
raucao
4a677178e8
Add Web Key Directory endpoint
...
Serve public keys in binary and armored text, if they contain a user's
account address.
2024-09-23 19:20:10 +02:00
raucao
a7d0e71ab6
Fix spec
continuous-integration/drone/push Build is passing
2024-09-18 14:46:46 +02:00
raucao
e544c28105
Config for separate primary domain Nostr pubkey
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Allow to configure a separate key for the NIP-05 address of the primary
domain vs the accounts domain.
2024-09-11 16:28:12 +02:00
raucao
3cf4348695
Merge pull request 'Make default user services configurable by admins' ( #203 ) from feature/default_service_settings into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #203
Reviewed-by: galfert <garret.alfert@gmail.com >
2024-09-11 11:21:38 +00:00
raucao
af3da0a26c
Set CORS headers for all .well-known responses
...
continuous-integration/drone/push Build is passing
So we don't have to consider it for reverse proxies etc.
2024-09-10 16:06:11 +02:00
raucao
0e3180602c
Rename "xmpp" user service back to "ejabberd"
...
If we ever add support for others, we can combine them as "xmpp" in
helper methods
2024-09-04 13:03:45 +02:00
raucao
b91d90d75c
Fix some specs, improve config
...
Allow empty string to unset nostr relay URL config
2024-08-14 13:37:15 +02:00
raucao
f401a03590
Fix exception for NIP-05 JSON of "_" with relay configured
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-06-20 14:50:02 +02:00
raucao
48ab96dda9
Support "_" placeholder username for domain's own NIP-05
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-06-19 20:57:22 +02:00
raucao
87d900b627
Add own relay to NIP-05 relay list if configured
2024-06-19 20:06:07 +02:00
raucao
5588e3b3e8
Add settled_at to zaps, scope by settlement status
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
2024-06-07 15:11:06 +02:00
raucao
1685d6ecf8
Respect new Lightning notification settings
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
2024-06-01 17:51:20 +02:00
raucao
b541e95bb7
Change default for lightning notifications
2024-05-23 00:22:38 +02:00
raucao
2d1ff29eca
Improve nostr settings, fix allowsNostr property name
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-05-10 13:19:09 +02:00
raucao
c6c5d80fb4
WIP Persist zaps, create and send zap receipts
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-09 14:31:37 +02:00
raucao
e27c64b5f1
WIP Check for zaps, send zap receipt on incoming zap tx
2024-04-21 10:35:30 +02:00
raucao
596ed7fccc
Use lndhub.go v2 endpoint for invoice creation
2024-04-21 10:01:18 +02:00
raucao
5685e1b7bc
Move lndhub invoice creation to service
2024-04-16 20:19:15 +02:00
raucao
c3b82fc2a9
WIP Verify and respond to zap requests
continuous-integration/drone/push Build is passing
2024-04-16 19:13:10 +02:00
raucao
d9dff3e872
Merge branch 'master' into feature/nostr_login
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
2024-04-15 12:03:12 +00:00
raucao
8f600f44bd
Add Mastodon aliases and links to Webfinger when enabled
...
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
Also requires "remotestorage" service to be enabled via attribute
2024-04-04 17:17:57 +03:00
raucao
945eaba5e1
Add login via nostr (web extension)
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-04-01 19:04:48 +03:00
raucao
22d362e1a0
Refactor Nostr settings/connect
...
* Use NIP-42 auth event instead of short text note
* Verify event ID and signature using the nostr gem instead of custom code
2024-04-01 18:27:08 +03:00
raucao
51a3cb60ec
Merge pull request 'Add custom LDAP attributes to schema' ( #181 ) from feature/custom_ldap_attributes into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #181
Reviewed-by: greg <greg@noreply.kosmos.org >
2024-03-19 14:46:44 +00:00
raucao
5a3adba603
Move nostr pubkeys to LDAP attribute
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s
closes #173
2024-03-17 11:04:11 +01:00
raucao
3715cb518b
User Settings: Rename Experiments to Nostr
...
continuous-integration/drone/push Build is passing
And use a nostr icon
2024-03-16 16:03:15 +01:00
raucao
da22a9d448
Add spec for reported regression
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2024-03-06 11:20:43 +01:00
raucao
e3b96d5cff
Merge branch 'master' into feature/donations_btcpay
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-03-03 12:50:16 +01:00
raucao
1afd56fb80
Allow running specs in Docker (Web) container
2024-03-02 16:56:07 +01:00
raucao
079ee8833c
Implement bitcoin donations via BTCPay
2024-03-02 14:31:48 +01:00
raucao
a628a03f84
Only support primary domain for Lightning Address
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
Part of the process of removing support for serving multiple domains
from a single akkounts instance.
Also puts the Lightning Address discovery routes under the .well-known
path. Combined, these changes simplify reverse-proxying to the
.well-known endpoints.
2024-01-26 16:08:21 +02:00
raucao
1a5a2177b4
Update spec
continuous-integration/drone/push Build is failing
2024-01-15 12:38:27 +03:00
Râu Cao
1995e6dda2
Fix RS OAuth URL in Webfinger record
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-16 12:44:59 +01:00
Râu Cao
56c127ca0c
Only allow primary domain for RS
...
Replace user addresses with usernames in the respective URLs
2023-11-01 21:46:38 +01:00
raucao
be5fe00f20
Merge pull request 'Fix XMPP from-address config not being used' ( #150 ) from bugfix/xmpp_from_address into master
...
continuous-integration/drone/push Build is passing
Reviewed-on: #150
2023-10-19 10:47:45 +00:00
Râu Cao
e9c4929726
Fix XMPP from-address config not being used
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 3s
2023-10-17 15:21:57 +02:00
Râu Cao
69fffb29d8
Make publishing of BTCPay wallet balances optional
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
2023-09-20 18:36:53 +02:00
Râu Cao
91d3b977e9
Fix spec
2023-09-20 18:26:50 +02:00
Râu Cao
5a5f62e98a
Refactor BTCPay service and API, add lightning balance
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-04 16:02:54 +02:00
Râu Cao
34e4cec503
Add NIP-05 well-known endpoint
2023-06-16 14:37:16 +02:00