Commit Graph

173 Commits

Author SHA1 Message Date
Matthieu Sieben 9b28184cb9 Expose hcaptcha tokens in hook and errors (#3690)
* Expose hcaptcha tokens in hook and errors

* remove hostname check in hcaptcha
2025-03-28 14:37:39 +01:00
github-actions[bot] 571164100f Version packages (#3689)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-28 11:08:04 +01:00
Matthieu Sieben 98d8a677ca Add OAuth HCaptcha hooks (#3688) 2025-03-28 11:04:12 +01:00
github-actions[bot] 01c5e636e3 Version packages (#3682)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-27 17:03:04 +01:00
Matthieu Sieben a5a760c1f0 Allow null hostname in hcaptcha result (#3681) 2025-03-27 16:46:21 +01:00
github-actions[bot] 03ca772612 Version packages (#3658)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-21 09:46:44 +01:00
Johannes Andersen 42807cad56 fix(oauth-provider): hCaptcha error codes should be optional (#3656)
* fix(oauth-provider): hCaptcha error codes should be optional

* fix: hostname can be nullable

* fix: add changesets
2025-03-21 09:17:51 +01:00
github-actions[bot] c777ba6d68 Version packages (#3631)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-20 15:21:15 +01:00
Matthieu Sieben 49528e83da OAuth: Allow onSignedUp hook to access hcaptcha result data (#3645)
* OAuth: Allow `onSignedUp` hook to access hcaptcha result data

* OAuth hcatpcha fixes

* Update .changeset/slimy-flowers-punch.md

Co-authored-by: devin ivy <devinivy@gmail.com>

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2025-03-20 14:57:54 +01:00
Matthieu Sieben cc4122652e Split OAuth Provider's ui into its own package (#3640)
* Split OAuth Provider's ui into its own package

* Create distinct entry files for authorization and error pages
2025-03-19 09:19:27 +01:00
Matthieu Sieben 9332c0f315 Set COEP header to "unsafe-none" when hcaptcha is enabled (#3627)
* Set "Cross-Origin-Embedder-Policy" header to "unsafe-none" when hcaptcha is enabled

Fixes #3625

* tidy

* tidy
2025-03-11 13:32:53 -04:00
github-actions[bot] 48f194ffa2 Version packages (#3623)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-10 17:30:48 -04:00
Matthieu Sieben 5ada66ceb9 OAuth sign-up fixes (#3621)
Allow invite codes in any format
2025-03-10 15:43:11 +01:00
Matthieu Sieben 9e3eace8f9 Validate OAuth sign-up handle using @atproto/syntax (#3622)
* Validate OAuth sign-up handle using @atproto/syntax

Fixes #3619

* Improve input validation
2025-03-10 14:58:35 +01:00
github-actions[bot] 72a5265e05 Version packages (#3613)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-07 18:21:03 -05:00
Matthieu Sieben 8827ff433a Improve parsing of colors (#3614)
* improve branding parsing

* Fix build

* tidy
2025-03-07 20:46:15 +01:00
Matthieu Sieben c01d7f5d15 Make branding colors optional (#3611) 2025-03-07 14:08:52 -05:00
github-actions[bot] f46554bcb8 Version packages (#3591)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-07 11:03:00 -05:00
Matthieu Sieben 850e39843c OAuth: Reset password & Sign-up (#2945)
* Adds "password reset" during OAuth flows
* Adds "Sign up" during OAuth flows
* Adds support for multiple languages in the OAuth flow
* Adds "fr" translation for the OAuth flow

Co-authored-by: devin ivy <devinivy@gmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2025-03-07 09:41:06 +01:00
github-actions[bot] 78caefd7d4 Version packages (#3578)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-24 17:47:09 -05:00
Matthieu Sieben 82d5a2d361 OAuthProvider: Update "trustProxy" options to allow function (#3557)
* OAuthProvider: Update "trustProxy" options to allow function

* DeviceManager options can now be passed as argument to the OAuthProvider constructor

* Only trust one level of proxying when computing IP during OAuthFlows

* Prevent invalid use of trustProxy config

* tidy

* make the code compliant with legacy behavior
2025-02-24 17:12:16 -05:00
github-actions[bot] f1d323a6ef Version packages (#3539)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-14 14:24:57 +01:00
Matthieu Sieben bde6f71c4c Mark "userAgent" as optional in RequestMetadata (#3538) 2025-02-14 14:20:18 +01:00
github-actions[bot] a3d2204a7e Version packages (#3533)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-14 10:57:36 +01:00
Matthieu Sieben e69e89a037 Properly compute sleep time in contantTime util (#3514) 2025-02-14 09:53:53 +01:00
Matthieu Sieben 6ea9c961af Rework of authorization request hooks (#3525)
* Rework of authorization request hooks

* add device details to `onAuthorized` hook

* Expose port number in DeviceDetails, allow passing options to DeviceManager

* tidy

* tidy

* tidy

* tidy

* changeset

* Expose client request metadata in hooks

* tidy

* tidy

* docs
2025-02-14 09:38:57 +01:00
github-actions[bot] 799dd925e9 Version packages (#3493)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-05 17:50:10 -06:00
Matthieu Sieben 61dc0d60e1 Add linting rule to sort imports (#3220)
* Add linting rule to sort imports

* remove spacing between import groups

* changeset

* changeset

* prettier config fine tuning

* forbid use of deprecated imports

* tidy
2025-02-05 15:06:58 +01:00
github-actions[bot] 1c195a3845 Version packages (#3442)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-31 18:01:32 -06:00
github-actions[bot] 3aa97a9dd3 Version packages (#3438)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-23 14:27:29 +00:00
Matthieu Sieben b04943191b Add description for transition:* scopes (#3432) 2025-01-23 11:01:37 +01:00
github-actions[bot] e6bd2ad8d1 Version packages (#3427)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-22 15:52:42 -03:00
Matthieu Sieben c5a4cdb0a5 Improve error description in case invalid DPoP nonce is used (#3415) 2025-01-22 11:17:20 +01:00
github-actions[bot] 5417476622 Version packages (#3380)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-17 20:32:20 -03:00
github-actions[bot] a44db38d05 Version packages (#3345)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-13 16:32:43 -08:00
Matthieu Sieben 2889c76995 Improve type safety and compatibility with Bun (#2879)
* jwk: Improve type safety and compatibility with Bun
* improve type safety of jwk keys
* improve typing of verifyAccessToken
* update @types/http-errors
* Better report invalid content-encoding errors
* Mark jwk key fields as readonly
2025-01-09 14:26:07 +01:00
github-actions[bot] 7aecc57dbb Version packages (#3331)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-07 09:29:57 -05:00
github-actions[bot] 51b0c48ce7 Version packages (#3188)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-11 14:11:08 -06:00
github-actions[bot] 21542d4484 Version packages (#3136)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-12-05 11:51:46 +00:00
Matthieu Sieben 6226546725 Improve messaging of client metadata loading errors (#3135)
* Improve messaging of client metadata loading errors

Fixes #3096

* Support parsing of more fetch() errors
2024-11-29 16:05:58 +01:00
github-actions[bot] 53fcc2fbcb Version packages (#3100)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-25 21:22:04 -05:00
Matthieu Sieben 5ddd51235c OAuth url scheme validation (#3066)
* Improve message of OAuthResolverError in case of metadata validation error

* Use named export from zod

* docs

* Enforce use of http and https url where applicable

* Verify authorization_endpoint URL protocol

* fix pds tests for new oauth resource metadata check

* Allow non-https urls as resource metadata url

* Strong validation or redirect_uri

* Ensure that client-id is a web url

* explicit use of "url" schema as potentially dangerous

* changeset

* tidy

* simplify type

* prevent loopback hostname for https: redirect uris

* Forbid use of non https internet uris

* allow "localhost" for web uris

* tidy

* tidy

* tidy

---------

Co-authored-by: Devin Ivy <devinivy@gmail.com>
2024-11-25 01:51:33 -05:00
github-actions[bot] b398276b36 Version packages (#2932)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-08 10:22:43 +01:00
Matthieu Sieben 709ba30157 Properly negotiate response content-encoding (#2852)
* Properly negotiate response content-encoding

* negotiate acceptable encoding and type before building responses

* remove un-necessary async

* typo

* Remove response content-encoding logic

* Avoid using chunked encoding when writing a buffer to the response
2024-11-04 09:40:33 +01:00
David Wood c36456f0ba chore: add missing symbol in comment (#2913) 2024-10-28 08:59:49 +01:00
github-actions[bot] c307a75db1 Version packages (#2889)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-24 11:32:50 -05:00
Matthieu Sieben 8f2b80a0dc Better report invalid content-encoding errors (#2902) 2024-10-21 14:22:29 +02:00
Matthieu Sieben 9d40ccbb69 Various OAuth related fixes (#2871)
* wip

* tidy

* tidy

* tidy

* Update packages/oauth/oauth-client/src/session-getter.ts

Co-authored-by: devin ivy <devinivy@gmail.com>

* fix combineSignals

* tidy

* tidy

* improve typing of atprotoScopeSchema

* stronger typings

* tidy

* ci

* Fix cors error

* downgrade ioredis dependency

* fix ioredis version

* tidy

---------

Co-authored-by: devin ivy <devinivy@gmail.com>
2024-10-18 20:23:33 +02:00
Matthieu Sieben 7f26b17652 Add OAuth tests (#2874)
* Improve error message when using invalid client_id during code exchange

* Extract SPA example OAuth client in own package

* wip

* remove dependency on get-port

* Properly configure jest to only transpile "get-port" from node_modules

https://jestjs.io/docs/configuration#transformignorepatterns-arraystring

* Use dynamically assigned port number during tests

* use puppeteer to run tests

* remove login input "id" attribute

* code style

* add missing declaration

* tidy

* headless

* remove get-port dependency

* fix tests/proxied/admin.test.ts

* fix tests

* Allow unsecure oauth providers through configuration

* transpile "lande" during ozone tests

* Cache Puppeteer browser binaries

* Use puppeteer cache during all workflow steps

* remove use of set-output

* use get-port in xrpc-server tests

* Renamed to allowHttp

* tidy

* tidy
2024-10-18 15:40:05 +02:00
Matthieu Sieben fabc8a9381 Update typescript to version 5.6.2 (#2863) 2024-10-11 14:05:53 +02:00