-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(auth): check that token value matches during rotation & revocation #860
Conversation
0f7b5b0
to
040a3f6
Compare
const { id: managementId } = ctx.params | ||
await deps.accessTokenService.revoke(managementId) | ||
await deps.accessTokenService.revoke(managementId, token) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible to check access tokens in a separate middleware (maybe the signature middleware)?
The GNAP spec talks about binding client keys to access tokens (both access token and continue access tokens). Could client
and clientKeyId
(on its way out) and maybe even continue details be moved off of grants, which would avoid doing grant service lookups in signature middleware
const grant = await grantService.get(accessToken.grantId) |
rafiki/packages/auth/src/signature/middleware.ts
Lines 84 to 89 in 83a6a54
const grantService = await ctx.container.use('grantService') | |
const grant = await grantService.getByContinue( | |
ctx.params['id'], | |
continueToken, | |
interactRef | |
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moving client
& clientKeyId
into a new table would make sense since they may be bound to multiple grants anyways. In the case of continue details it can be done but I think it's a little trickier to justify because it'd punt the call to a different, more narrow service instead since they're one-to-one with grants.
What service calls are "in-scope" for the signature (or some other) middleware? As I understand it it seems like the idea is to just lookup via the client service if the token/grant continuation is associated with the client via its bound key.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe there can be path specific auth middlewares (ahead of the signature middleware) that store client
on ctx
like the backend
currently does (via the grant)
ctx.grant = grant |
Some of these could store other route specific data like the access token or the grant on the
ctx
. The backend does this with payment pointer routesctx.paymentPointer = paymentPointer |
rafiki/packages/backend/src/open_payments/payment_pointer/routes.ts
Lines 26 to 37 in ec15723
export async function getPaymentPointer( | |
deps: ServiceDependencies, | |
ctx: PaymentPointerContext | |
): Promise<void> { | |
if (!ctx.paymentPointer) { | |
return ctx.throw(404) | |
} | |
ctx.body = ctx.paymentPointer.toOpenPaymentsType({ | |
authServer: deps.authServer | |
}) | |
} |
Then there can be a single signature middleware.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going to capture this for now in #882, in case I don't get to it before the holidays.
let token = await AccessToken.query(deps.knex).findOne({ managementId }) | ||
if (token) { | ||
if (token && token.value === tokenValue) { | ||
await token.$query(deps.knex).delete() | ||
token = await AccessToken.query(deps.knex).insertAndFetch({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the findOne
and delete
should otherwise use a lock.
const oldToken = await AccessToken.query(deps.knex)
.delete()
.returning('*')
.findOne({
managementId,
value: tokenValue
})
if (oldToken) {
const token = await AccessToken.query(deps.knex).insertAndFetch({
The order of the delete
/returning
/findOne
is a workaround for:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔
Maybe this should all happen inside a transaction though.
Both the delete and insert.
const token = await AccessToken.query(deps.knex).findOne({ managementId: id }) | ||
if (token) { | ||
if (token && token.value === tokenValue) { | ||
await token.$query(deps.knex).delete() | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
await AccessToken.query(deps.knex)
.findOne({
managementId: id,
value: tokenValue
})
.delete()
@@ -159,10 +164,11 @@ async function createAccessToken( | |||
|
|||
async function rotate( | |||
deps: ServiceDependencies, | |||
managementId: string | |||
managementId: string, | |||
tokenValue: string | |||
): Promise<Rotation> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about
): Promise<Rotation> { | |
): Promise<Token | undefined> { |
instead of the success
, and let the calling route format the response body
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or everyone's favorite
): Promise<Rotation> { | |
): Promise<Token | TokenError> { |
a la
complete(id: string): Promise<IncomingPayment | IncomingPaymentError> |
to enable the route to return 404 for unmatched management id and 401 for unmatched token value (which would require re-splitting up my magic
delete
/returning
query).But maybe we just wait for:
040a3f6
to
78c44f0
Compare
const trx = await AccessToken.startTransaction() | ||
try { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer 👇 so we don't have to manage trx.commit
/rollback
const trx = await AccessToken.startTransaction() | |
try { | |
try { | |
return await AccessToken.transaction(async trx => { |
await AccessToken.query(trx) | ||
.findOne({ | ||
managementId: id, | ||
value: tokenValue | ||
}) | ||
.delete() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a single query and doesn't need a transaction
48fa460
to
bdc2e12
Compare
* feat(auth): delete grant (request) * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript to ^4.9.4 (#872) * chore(deps): update dependency typescript to ^4.9.4 * fix: format * chore(openapi): update Paths generic types * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sabine Schaller <sabine@coil.com> Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> * fix(deps): update dependency @apidevtools/json-schema-ref-parser to ^9.1.0 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update typescript-eslint monorepo to ^5.47.0 (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * chore(open-payments): update schemas * fix(auth): incorporate review comments * fix(open-payments): formatting * fix(auth): check that continue token matches grant in /delete Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com>
* feat(auth): delete grant (request) * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript to ^4.9.4 (#872) * chore(deps): update dependency typescript to ^4.9.4 * fix: format * chore(openapi): update Paths generic types * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sabine Schaller <sabine@coil.com> Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> * fix(deps): update dependency @apidevtools/json-schema-ref-parser to ^9.1.0 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update typescript-eslint monorepo to ^5.47.0 (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * chore(open-payments): update schemas * fix(auth): incorporate review comments * fix(open-payments): formatting * fix(auth): check that continue token matches grant in /delete Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com>
* Revert "feat(backend): add API key authentication (#193)" This reverts commit b7570da. * chore: update lockfile * chore(backend): remove unused dependencies * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * fix(auth): require interact params in query (#924) * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): delete grant (request) (#877) * feat(auth): delete grant (request) * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript to ^4.9.4 (#872) * chore(deps): update dependency typescript to ^4.9.4 * fix: format * chore(openapi): update Paths generic types * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sabine Schaller <sabine@coil.com> Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> * fix(deps): update dependency @apidevtools/json-schema-ref-parser to ^9.1.0 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update typescript-eslint monorepo to ^5.47.0 (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * chore(open-payments): update schemas * fix(auth): incorporate review comments * fix(open-payments): formatting * fix(auth): check that continue token matches grant in /delete Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> * fix: update lockfile Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> Co-authored-by: Brandon Wilson <brandon@coil.com>
* feat(auth): delete grant (request) * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript to ^4.9.4 (#872) * chore(deps): update dependency typescript to ^4.9.4 * fix: format * chore(openapi): update Paths generic types * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sabine Schaller <sabine@coil.com> Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> * fix(deps): update dependency @apidevtools/json-schema-ref-parser to ^9.1.0 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update typescript-eslint monorepo to ^5.47.0 (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * chore(open-payments): update schemas * fix(auth): incorporate review comments * fix(open-payments): formatting * fix(auth): check that continue token matches grant in /delete Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com>
* Revert "feat(backend): add API key authentication (#193)" This reverts commit b7570da. * chore: update lockfile * chore(backend): remove unused dependencies * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * fix(auth): require interact params in query (#924) * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): delete grant (request) (#877) * feat(auth): delete grant (request) * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript to ^4.9.4 (#872) * chore(deps): update dependency typescript to ^4.9.4 * fix: format * chore(openapi): update Paths generic types * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sabine Schaller <sabine@coil.com> Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> * fix(deps): update dependency @apidevtools/json-schema-ref-parser to ^9.1.0 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update typescript-eslint monorepo to ^5.47.0 (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * chore(open-payments): update schemas * fix(auth): incorporate review comments * fix(open-payments): formatting * fix(auth): check that continue token matches grant in /delete Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> * fix: update lockfile Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> Co-authored-by: Brandon Wilson <brandon@coil.com>
* chore: set strictNullChecks to true * fix(HSU): strict null checks * fix(open-payments): strict null checks * fix(auth): strict null checks * fix(backend): partially strict null checks * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * fix(auth): require interact params in query (#924) * feat(auth): delete grant (request) (#877) * feat(auth): delete grant (request) * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript to ^4.9.4 (#872) * chore(deps): update dependency typescript to ^4.9.4 * fix: format * chore(openapi): update Paths generic types * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sabine Schaller <sabine@coil.com> Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> * fix(deps): update dependency @apidevtools/json-schema-ref-parser to ^9.1.0 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update typescript-eslint monorepo to ^5.47.0 (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * chore(open-payments): update schemas * fix(auth): incorporate review comments * fix(open-payments): formatting * fix(auth): check that continue token matches grant in /delete Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> * Revert "feat(backend): add API key authentication (#193)" (#890) * Revert "feat(backend): add API key authentication (#193)" This reverts commit b7570da. * chore: update lockfile * chore(backend): remove unused dependencies * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * fix(auth): require interact params in query (#924) * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): delete grant (request) (#877) * feat(auth): delete grant (request) * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency typescript to ^4.9.4 (#872) * chore(deps): update dependency typescript to ^4.9.4 * fix: format * chore(openapi): update Paths generic types * chore(http-signature-utils): match JWK to Open Payments definition (#861) * chore(http-signature-utils): match JWK to Open Payments definition * chore(backend): fold * chore(http-signature-utils): return JWK from generateTestKeys Audit usage. * chore(backend): move payment pointer key files * chore(backend): enforce JWK type in admin api Use generateJwk in tests. * chore(auth): remove unused client key nock * feat(remove lodash): issue 820 (#874) * feat(remove lodash): issue 820 * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * Update packages/backend/src/connector/ilp-routing/lib/prefix-map.ts Co-authored-by: Brandon Wilson <brandon@coil.com> * feat(open-payments): fix on package.json * feat(open-payments): pnpm-loc.yaml resolution Co-authored-by: Brandon Wilson <brandon@coil.com> * chore(backend): clean up auth service + middleware (#836) * chore(backend): move httpsig verification to own middleware * chore(backend): add auth service tests * chore(backend): rename token introspection middleware * chore(backend): distinguish expected caught httpsig errors * fix(auth): test that client info is passed along when interaction is started (#884) * fix(deps): update apollo graphql packages (#881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sabine Schaller <sabine@coil.com> Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> * fix(deps): update dependency @apidevtools/json-schema-ref-parser to ^9.1.0 (#889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update typescript-eslint monorepo to ^5.47.0 (#880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update remix monorepo to ^1.9.0 (#878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @adonisjs/fold to ^8.2.0 (#883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @faker-js/faker to ^7.6.0 (#892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v0.27.2 (#894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency jose to ^4.11.1 (#895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency luxon to ^3.1.1 (#896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino to ^8.8.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency uuid to v9 (#900) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @koa/cors to ^3.4.3 (#891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency pino-pretty to ^9.1.1 (#898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency axios to v1.2.1 (#901) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency ts-node-dev to v2 (#903) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @graphql-tools/utils to v9 (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency graphql-scalars to ^1.20.1 (#907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/koa__router to v12 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat(auth): check that token value matches during rotation & revocation (#860) * feat(open-payments): add revoketoken function (#914) * feat(open-payments): add revoketoken function * Update packages/open-payments/src/client/token.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): tested validator * feat(open-payments): adding correct return type for revoke function * feat(open-payments): allow any for mock implementation * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * Update packages/open-payments/src/client/token.test.ts Co-authored-by: Max Kurapov <max@interledger.org> * feat(open-payments): improving test cases for revoke token * feat(open-payments): rename struct Co-authored-by: Max Kurapov <max@interledger.org> * Bump `@types/koa-bodyparser` (#893) * chore(hsu): enable strict type checking & fix types * chore(hsu): use koa-body and add typing to routes * chore(auth): use koa-body instead of koa-bodyparser * chore(hsu): revert to koa-bodyparser * chore(auth): add type assertions where necessary for koa-bodyparser * chore(auth): revert some small changes * chore(hsu): revert style changes * chore(auth): don't pin @types/koa-bodyparser * chore(hsu): add http-signature-utils to labeler.yml * chore(hsu): fix build * chore(hsu): add response type * chore(auth): fix context types for routes & middleware * chore(backend): bump @types/koa-bodyparser in backend * chore(hsu): clean up createHeaders function * feat(backend): adds a name field for the peer model (#915) * feat(backend): add a name field for the peer model * fix: update tests * fix(deps): update dependency openapi-response-validator to ^12.1.0 (#919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency @apollo/client to ^3.7.3 (#909) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency openapi-request-coercer to ^12.1.0 (#912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor(auth): factor out nonce generation (#910) * refactor(auth): factor out nonce generation * feat: generate longer string for tokens * chore: remove sig validation bypass (#879) * chore: remove sig validation bypass * chore(auth): update docker-compose file * chore(backend): remove envBoolean * chore(open-payments): update schemas * fix(auth): incorporate review comments * fix(open-payments): formatting * fix(auth): check that continue token matches grant in /delete Co-authored-by: Brandon Wilson <brandon@coil.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> * fix: update lockfile Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> Co-authored-by: Brandon Wilson <brandon@coil.com> * fix(deps): update dependency openapi-request-validator to ^12.1.0 (#913) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @types/react-dom to ^18.0.10 (#926) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency husky to ^8.0.3 (#927) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @swc/core to ^1.3.25 (#925) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(backend): wip - strict null checks * fix(backend): "Type must have a '[Symbol.iterator]()' method that returns an iterator." * fix(backend): null unsupported as parseLiteral return value * chore: turn on strict type-checking * fix(open-payments): strict type checking * fix(auth): strict type checking * fix(backend): strict type checking * fix(open-payments): requests * fix(backend): receiver model * fix(backend): balance middleware * chore(auth): add Brandon's suggestions * test(auth): add undefined tests * fix(auth): getByInteractiveSession return value * fix(auth+backend): strict type checking after merging main * fix(backend): test after merging main * refactor(auth): interactive grant * refactor(auth): remove `never` in `<T = never>` * refactor(auth): update continue middleware error message * feat(auth): add grant to accessToken * feat(auht): make client name required * fix(auth): unused import * fix(auth): withGraphFetched variable * refactor(auth): clientKeyId assignment * fix(backend): incorporate Max's comments * fix(backend): deconstruction error * style(backend): remove unnecessary code * feat(auth): throw if grant cannot be found for token * feat(auth): correct error handling of unknown public name * chore(auth): remove old comment * fix(backend): add Brandon's suggestions * fix(backend): remove all typecasts * test(backend): remove test b/c getting ILPStreamConnection never returns undefined but throws * fix(auth): typos * test(backend): assert connection * feat(backend): update connector error handler middleware after ilp-packet update * fix(backend): error handler middleware * fix(backend): error handler middleware * test(backend): introduce TestGetOptions * feat(backend): update connector error handler middleware * test(backend): isIlpError * test(backend): re-add paymentPointer = undefined test * fix(backend): paymentPointer key routes * fix(backend): use PaymentPointerKeysContext in key routes * test(backend): test for ilpError format in reject * feat(backend): auth middleware throws 403 is token inactive * chore(backend): remove unnecessary typecast * fix(backend): add InputMaybeValue Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nathan Lie <lie4nathan@gmail.com> Co-authored-by: Domin <101926344+domin191013@users.noreply.github.com> Co-authored-by: Max Kurapov <max@interledger.org> Co-authored-by: dragosp1011 <109967337+dragosp1011@users.noreply.github.com> Co-authored-by: Brandon Wilson <brandon@coil.com>
Changes proposed in this pull request
Context
Closes #832.
When rotating and revoking a token, the provided management id in the URL was used to retrieve the token, but the token value that's provided during these requests wasn't being verified against the token that was retrieved.
Also, some TODOs did not have an associated Github issue attached to them. These have been created and their URIs have been added to the original associted in-line comments.
Checklist
fixes #number