@atproto/oauth-provider 0.2.8 → 0.2.9
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +10 -0
- package/dist/assets/app/bundle-manifest.json +2 -2
- package/dist/assets/app/main.js +1 -1
- package/dist/assets/app/main.js.map +1 -1
- package/dist/client/client-manager.d.ts.map +1 -1
- package/dist/client/client-manager.js +18 -35
- package/dist/client/client-manager.js.map +1 -1
- package/dist/errors/invalid-client-metadata-error.d.ts +1 -1
- package/dist/errors/invalid-client-metadata-error.d.ts.map +1 -1
- package/dist/errors/invalid-client-metadata-error.js +20 -4
- package/dist/errors/invalid-client-metadata-error.js.map +1 -1
- package/dist/lib/util/function.d.ts +2 -0
- package/dist/lib/util/function.d.ts.map +1 -0
- package/dist/lib/util/function.js +7 -0
- package/dist/lib/util/function.js.map +1 -0
- package/dist/token/token-manager.d.ts +1 -1
- package/dist/token/token-manager.d.ts.map +1 -1
- package/dist/token/token-manager.js +15 -6
- package/dist/token/token-manager.js.map +1 -1
- package/package.json +3 -3
- package/src/client/client-manager.ts +30 -47
- package/src/errors/invalid-client-metadata-error.ts +44 -7
- package/src/lib/util/function.ts +7 -0
- package/src/token/token-manager.ts +16 -11
- package/tsconfig.backend.tsbuildinfo +1 -1
@@ -2,8 +2,8 @@ import { isSignedJwt } from '@atproto/jwk'
|
|
2
2
|
import {
|
3
3
|
CLIENT_ASSERTION_TYPE_JWT_BEARER,
|
4
4
|
OAuthAccessToken,
|
5
|
-
OAuthAuthorizationRequestParameters,
|
6
5
|
OAuthAuthorizationCodeGrantTokenRequest,
|
6
|
+
OAuthAuthorizationRequestParameters,
|
7
7
|
OAuthClientCredentialsGrantTokenRequest,
|
8
8
|
OAuthPasswordGrantTokenRequest,
|
9
9
|
OAuthRefreshTokenGrantTokenRequest,
|
@@ -31,6 +31,7 @@ import { InvalidGrantError } from '../errors/invalid-grant-error.js'
|
|
31
31
|
import { InvalidRequestError } from '../errors/invalid-request-error.js'
|
32
32
|
import { InvalidTokenError } from '../errors/invalid-token-error.js'
|
33
33
|
import { dateToEpoch, dateToRelativeSeconds } from '../lib/util/date.js'
|
34
|
+
import { callAsync } from '../lib/util/function.js'
|
34
35
|
import { OAuthHooks } from '../oauth-hooks.js'
|
35
36
|
import { Code, isCode } from '../request/code.js'
|
36
37
|
import { Signer } from '../signer/signer.js'
|
@@ -207,10 +208,13 @@ export class TokenManager {
|
|
207
208
|
const now = new Date()
|
208
209
|
const expiresAt = this.createTokenExpiry(now)
|
209
210
|
|
210
|
-
const authorizationDetails =
|
211
|
-
|
212
|
-
|
213
|
-
|
211
|
+
const authorizationDetails = this.hooks.onAuthorizationDetails
|
212
|
+
? await callAsync(this.hooks.onAuthorizationDetails, {
|
213
|
+
client,
|
214
|
+
parameters,
|
215
|
+
account,
|
216
|
+
})
|
217
|
+
: undefined
|
214
218
|
|
215
219
|
const tokenData: TokenData = {
|
216
220
|
createdAt: now,
|
@@ -374,12 +378,13 @@ export class TokenManager {
|
|
374
378
|
throw new InvalidGrantError(`Refresh token expired`)
|
375
379
|
}
|
376
380
|
|
377
|
-
const authorization_details =
|
378
|
-
await this.hooks.onAuthorizationDetails
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
381
|
+
const authorization_details = this.hooks.onAuthorizationDetails
|
382
|
+
? await callAsync(this.hooks.onAuthorizationDetails, {
|
383
|
+
client,
|
384
|
+
parameters,
|
385
|
+
account,
|
386
|
+
})
|
387
|
+
: undefined
|
383
388
|
|
384
389
|
const nextTokenId = await generateTokenId()
|
385
390
|
const nextRefreshToken = await generateRefreshToken()
|
@@ -1 +1 @@
|
|
1
|
-
{"root":["./src/constants.ts","./src/index.ts","./src/oauth-client.ts","./src/oauth-dpop.ts","./src/oauth-errors.ts","./src/oauth-hooks.ts","./src/oauth-provider.ts","./src/oauth-store.ts","./src/oauth-verifier.ts","./src/access-token/access-token-type.ts","./src/account/account-manager.ts","./src/account/account-store.ts","./src/account/account.ts","./src/assets/asset.ts","./src/assets/assets-middleware.ts","./src/assets/index.ts","./src/client/client-auth.ts","./src/client/client-data.ts","./src/client/client-id.ts","./src/client/client-info.ts","./src/client/client-manager.ts","./src/client/client-store.ts","./src/client/client-utils.ts","./src/client/client.ts","./src/device/device-data.ts","./src/device/device-details.ts","./src/device/device-id.ts","./src/device/device-manager.ts","./src/device/device-store.ts","./src/device/session-id.ts","./src/dpop/dpop-manager.ts","./src/dpop/dpop-nonce.ts","./src/errors/access-denied-error.ts","./src/errors/account-selection-required-error.ts","./src/errors/consent-required-error.ts","./src/errors/invalid-authorization-details-error.ts","./src/errors/invalid-client-error.ts","./src/errors/invalid-client-id-error.ts","./src/errors/invalid-client-metadata-error.ts","./src/errors/invalid-dpop-key-binding-error.ts","./src/errors/invalid-dpop-proof-error.ts","./src/errors/invalid-grant-error.ts","./src/errors/invalid-parameters-error.ts","./src/errors/invalid-redirect-uri-error.ts","./src/errors/invalid-request-error.ts","./src/errors/invalid-scope-error.ts","./src/errors/invalid-token-error.ts","./src/errors/login-required-error.ts","./src/errors/oauth-error.ts","./src/errors/second-authentication-factor-required-error.ts","./src/errors/unauthorized-client-error.ts","./src/errors/use-dpop-nonce-error.ts","./src/errors/www-authenticate-error.ts","./src/lib/redis.ts","./src/lib/html/build-document.ts","./src/lib/html/escapers.ts","./src/lib/html/html.ts","./src/lib/html/index.ts","./src/lib/html/tags.ts","./src/lib/html/util.ts","./src/lib/http/accept.ts","./src/lib/http/context.ts","./src/lib/http/index.ts","./src/lib/http/method.ts","./src/lib/http/middleware.ts","./src/lib/http/parser.ts","./src/lib/http/path.ts","./src/lib/http/request.ts","./src/lib/http/response.ts","./src/lib/http/route.ts","./src/lib/http/router.ts","./src/lib/http/stream.ts","./src/lib/http/types.ts","./src/lib/http/url.ts","./src/lib/util/authorization-header.ts","./src/lib/util/cast.ts","./src/lib/util/crypto.ts","./src/lib/util/date.ts","./src/lib/util/hostname.ts","./src/lib/util/redirect-uri.ts","./src/lib/util/time.ts","./src/lib/util/type.ts","./src/lib/util/well-known.ts","./src/metadata/build-metadata.ts","./src/oidc/sub.ts","./src/output/build-authorize-data.ts","./src/output/build-error-payload.ts","./src/output/customization.ts","./src/output/output-manager.ts","./src/output/send-authorize-redirect.ts","./src/output/send-web-page.ts","./src/replay/replay-manager.ts","./src/replay/replay-store-memory.ts","./src/replay/replay-store-redis.ts","./src/replay/replay-store.ts","./src/request/code.ts","./src/request/request-data.ts","./src/request/request-id.ts","./src/request/request-info.ts","./src/request/request-manager.ts","./src/request/request-store-memory.ts","./src/request/request-store-redis.ts","./src/request/request-store.ts","./src/request/request-uri.ts","./src/signer/signed-token-payload.ts","./src/signer/signer.ts","./src/token/refresh-token.ts","./src/token/token-claims.ts","./src/token/token-data.ts","./src/token/token-id.ts","./src/token/token-manager.ts","./src/token/token-store.ts","./src/token/verify-token-claims.ts"],"version":"5.6.3"}
|
1
|
+
{"root":["./src/constants.ts","./src/index.ts","./src/oauth-client.ts","./src/oauth-dpop.ts","./src/oauth-errors.ts","./src/oauth-hooks.ts","./src/oauth-provider.ts","./src/oauth-store.ts","./src/oauth-verifier.ts","./src/access-token/access-token-type.ts","./src/account/account-manager.ts","./src/account/account-store.ts","./src/account/account.ts","./src/assets/asset.ts","./src/assets/assets-middleware.ts","./src/assets/index.ts","./src/client/client-auth.ts","./src/client/client-data.ts","./src/client/client-id.ts","./src/client/client-info.ts","./src/client/client-manager.ts","./src/client/client-store.ts","./src/client/client-utils.ts","./src/client/client.ts","./src/device/device-data.ts","./src/device/device-details.ts","./src/device/device-id.ts","./src/device/device-manager.ts","./src/device/device-store.ts","./src/device/session-id.ts","./src/dpop/dpop-manager.ts","./src/dpop/dpop-nonce.ts","./src/errors/access-denied-error.ts","./src/errors/account-selection-required-error.ts","./src/errors/consent-required-error.ts","./src/errors/invalid-authorization-details-error.ts","./src/errors/invalid-client-error.ts","./src/errors/invalid-client-id-error.ts","./src/errors/invalid-client-metadata-error.ts","./src/errors/invalid-dpop-key-binding-error.ts","./src/errors/invalid-dpop-proof-error.ts","./src/errors/invalid-grant-error.ts","./src/errors/invalid-parameters-error.ts","./src/errors/invalid-redirect-uri-error.ts","./src/errors/invalid-request-error.ts","./src/errors/invalid-scope-error.ts","./src/errors/invalid-token-error.ts","./src/errors/login-required-error.ts","./src/errors/oauth-error.ts","./src/errors/second-authentication-factor-required-error.ts","./src/errors/unauthorized-client-error.ts","./src/errors/use-dpop-nonce-error.ts","./src/errors/www-authenticate-error.ts","./src/lib/redis.ts","./src/lib/html/build-document.ts","./src/lib/html/escapers.ts","./src/lib/html/html.ts","./src/lib/html/index.ts","./src/lib/html/tags.ts","./src/lib/html/util.ts","./src/lib/http/accept.ts","./src/lib/http/context.ts","./src/lib/http/index.ts","./src/lib/http/method.ts","./src/lib/http/middleware.ts","./src/lib/http/parser.ts","./src/lib/http/path.ts","./src/lib/http/request.ts","./src/lib/http/response.ts","./src/lib/http/route.ts","./src/lib/http/router.ts","./src/lib/http/stream.ts","./src/lib/http/types.ts","./src/lib/http/url.ts","./src/lib/util/authorization-header.ts","./src/lib/util/cast.ts","./src/lib/util/crypto.ts","./src/lib/util/date.ts","./src/lib/util/function.ts","./src/lib/util/hostname.ts","./src/lib/util/redirect-uri.ts","./src/lib/util/time.ts","./src/lib/util/type.ts","./src/lib/util/well-known.ts","./src/metadata/build-metadata.ts","./src/oidc/sub.ts","./src/output/build-authorize-data.ts","./src/output/build-error-payload.ts","./src/output/customization.ts","./src/output/output-manager.ts","./src/output/send-authorize-redirect.ts","./src/output/send-web-page.ts","./src/replay/replay-manager.ts","./src/replay/replay-store-memory.ts","./src/replay/replay-store-redis.ts","./src/replay/replay-store.ts","./src/request/code.ts","./src/request/request-data.ts","./src/request/request-id.ts","./src/request/request-info.ts","./src/request/request-manager.ts","./src/request/request-store-memory.ts","./src/request/request-store-redis.ts","./src/request/request-store.ts","./src/request/request-uri.ts","./src/signer/signed-token-payload.ts","./src/signer/signer.ts","./src/token/refresh-token.ts","./src/token/token-claims.ts","./src/token/token-data.ts","./src/token/token-id.ts","./src/token/token-manager.ts","./src/token/token-store.ts","./src/token/verify-token-claims.ts"],"version":"5.6.3"}
|