@atcute/oauth-browser-client 1.0.18 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/server-agent.d.ts +2 -2
- package/dist/agents/server-agent.js.map +1 -1
- package/dist/agents/sessions.d.ts +5 -5
- package/dist/agents/sessions.js.map +1 -1
- package/dist/agents/user-agent.d.ts +2 -2
- package/dist/errors.d.ts +3 -3
- package/dist/errors.js.map +1 -1
- package/dist/resolvers.d.ts +4 -4
- package/dist/resolvers.js +3 -2
- package/dist/resolvers.js.map +1 -1
- package/dist/types/identity.d.ts +2 -2
- package/dist/types/token.d.ts +2 -2
- package/dist/utils/strings.d.ts +0 -2
- package/dist/utils/strings.js +0 -3
- package/dist/utils/strings.js.map +1 -1
- package/lib/agents/server-agent.ts +3 -3
- package/lib/agents/sessions.ts +7 -7
- package/lib/agents/user-agent.ts +2 -2
- package/lib/errors.ts +2 -2
- package/lib/resolvers.ts +11 -7
- package/lib/store/db.ts +2 -2
- package/lib/types/identity.ts +2 -2
- package/lib/types/token.ts +2 -2
- package/lib/utils/strings.ts +0 -6
- package/package.json +7 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
import type { DPoPKey } from '../types/dpop.js';
|
|
3
3
|
import type { OAuthParResponse } from '../types/par.js';
|
|
4
4
|
import type { PersistedAuthorizationServerMetadata } from '../types/server.js';
|
|
@@ -16,7 +16,7 @@ export declare class OAuthServerAgent {
|
|
|
16
16
|
token: TokenInfo;
|
|
17
17
|
}>;
|
|
18
18
|
refresh({ sub, token }: {
|
|
19
|
-
sub:
|
|
19
|
+
sub: Did;
|
|
20
20
|
token: TokenInfo;
|
|
21
21
|
}): Promise<TokenInfo>;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-agent.js","sourceRoot":"","sources":["../../lib/agents/server-agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKtD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,OAAO,gBAAgB;IAC5B,MAAM,CAAe;IACrB,SAAS,CAAuC;IAEhD,YAAY,QAA8C,EAAE,OAAgB;QAC3E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IASD,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAgC;QAC/D,MAAM,GAAG,GAAwB,IAAI,CAAC,SAAiB,CAAC,GAAG,QAAQ,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;SAC1D,CAAC,CAAC;QAEH,IAAI,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,kBAAkB,EAAE,CAAC;YACjE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,QAAiB;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAC5C,UAAU,EAAE,oBAAoB;YAChC,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,QAAQ;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzC,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"server-agent.js","sourceRoot":"","sources":["../../lib/agents/server-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
import type { Session } from '../types/token.js';
|
|
3
3
|
export interface SessionGetOptions {
|
|
4
4
|
signal?: AbortSignal;
|
|
5
5
|
noCache?: boolean;
|
|
6
6
|
allowStale?: boolean;
|
|
7
7
|
}
|
|
8
|
-
export declare const getSession: (sub:
|
|
9
|
-
export declare const storeSession: (sub:
|
|
10
|
-
export declare const deleteStoredSession: (sub:
|
|
11
|
-
export declare const listStoredSessions: () =>
|
|
8
|
+
export declare const getSession: (sub: Did, options?: SessionGetOptions) => Promise<Session>;
|
|
9
|
+
export declare const storeSession: (sub: Did, newSession: Session) => Promise<void>;
|
|
10
|
+
export declare const deleteStoredSession: (sub: Did) => void;
|
|
11
|
+
export declare const listStoredSessions: () => Did[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../lib/agents/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AASrD,MAAM,OAAO,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../lib/agents/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { FetchHandlerObject } from '@atcute/client';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Did } from '@atcute/lexicons';
|
|
3
3
|
import type { Session } from '../types/token.js';
|
|
4
4
|
import { type SessionGetOptions } from './sessions.js';
|
|
5
5
|
export declare class OAuthUserAgent implements FetchHandlerObject {
|
|
6
6
|
#private;
|
|
7
7
|
session: Session;
|
|
8
8
|
constructor(session: Session);
|
|
9
|
-
get sub():
|
|
9
|
+
get sub(): Did;
|
|
10
10
|
getSession(options?: SessionGetOptions): Promise<Session>;
|
|
11
11
|
signOut(): Promise<void>;
|
|
12
12
|
handle(pathname: string, init?: RequestInit): Promise<Response>;
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
export declare class LoginError extends Error {
|
|
3
3
|
name: string;
|
|
4
4
|
}
|
|
@@ -9,9 +9,9 @@ export declare class ResolverError extends Error {
|
|
|
9
9
|
name: string;
|
|
10
10
|
}
|
|
11
11
|
export declare class TokenRefreshError extends Error {
|
|
12
|
-
readonly sub:
|
|
12
|
+
readonly sub: Did;
|
|
13
13
|
name: string;
|
|
14
|
-
constructor(sub:
|
|
14
|
+
constructor(sub: Did, message: string, options?: ErrorOptions);
|
|
15
15
|
}
|
|
16
16
|
export declare class OAuthResponseError extends Error {
|
|
17
17
|
readonly response: Response;
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC3B,IAAI,GAAG,YAAY,CAAC;CAC7B;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACnC,IAAI,GAAG,oBAAoB,CAAC;CACrC;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC9B,IAAI,GAAG,eAAe,CAAC;CAChC;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAI1B;IAHR,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YACiB,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC3B,IAAI,GAAG,YAAY,CAAC;CAC7B;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACnC,IAAI,GAAG,oBAAoB,CAAC;CACrC;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC9B,IAAI,GAAG,eAAe,CAAC;CAChC;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAI1B;IAHR,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YACiB,GAAQ,EACxB,OAAe,EACf,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJR,QAAG,GAAH,GAAG,CAAK;IAKzB,CAAC;CACD;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAO3B;IACA;IAPR,IAAI,GAAG,oBAAoB,CAAC;IAE5B,KAAK,CAAqB;IAC1B,WAAW,CAAqB;IAEzC,YACiB,QAAkB,EAClB,IAAS;QAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAEzE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,SAAS,YAAY,SAAS,WAAW,EAAE,CAAC;QAE5D,KAAK,CAAC,OAAO,CAAC,CAAC;QAVC,aAAQ,GAAR,QAAQ,CAAU;QAClB,SAAI,GAAJ,IAAI,CAAK;QAWzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC9B,CAAC;CACD;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAI3B;IACT;IAJC,IAAI,GAAG,oBAAoB,CAAC;IAErC,YACiB,QAAkB,EAC3B,MAAc,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,aAAQ,GAAR,QAAQ,CAAU;QAC3B,WAAM,GAAN,MAAM,CAAQ;IAItB,CAAC;CACD;AAED,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAsB,EAAE;IACnD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAuC,EAAE;IACpE,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC,CAAC"}
|
package/dist/resolvers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
1
|
+
import { type DidDocument } from '@atcute/identity';
|
|
2
|
+
import type { Did } from '@atcute/lexicons';
|
|
3
3
|
import type { IdentityMetadata } from './types/identity.js';
|
|
4
4
|
import type { AuthorizationServerMetadata, ProtectedResourceMetadata } from './types/server.js';
|
|
5
5
|
/**
|
|
@@ -8,13 +8,13 @@ import type { AuthorizationServerMetadata, ProtectedResourceMetadata } from './t
|
|
|
8
8
|
* @param handle Domain handle to resolve
|
|
9
9
|
* @returns DID identifier resolved from the domain handle
|
|
10
10
|
*/
|
|
11
|
-
export declare const resolveHandle: (handle: string) => Promise<
|
|
11
|
+
export declare const resolveHandle: (handle: string) => Promise<Did>;
|
|
12
12
|
/**
|
|
13
13
|
* Get DID documents of did:plc (via plc.directory) and did:web identifiers
|
|
14
14
|
* @param did DID identifier we're seeking DID doc from
|
|
15
15
|
* @returns Retrieved DID document
|
|
16
16
|
*/
|
|
17
|
-
export declare const getDidDocument: (did:
|
|
17
|
+
export declare const getDidDocument: (did: Did) => Promise<DidDocument>;
|
|
18
18
|
/**
|
|
19
19
|
* Get OAuth protected resource metadata from a host
|
|
20
20
|
* @param host URL of the host
|
package/dist/resolvers.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { getPdsEndpoint } from '@atcute/
|
|
1
|
+
import { getPdsEndpoint } from '@atcute/identity';
|
|
2
|
+
import { isDid } from '@atcute/lexicons/syntax';
|
|
2
3
|
import { DEFAULT_APPVIEW_URL } from './constants.js';
|
|
3
4
|
import { ResolverError } from './errors.js';
|
|
4
5
|
import { extractContentType } from './utils/response.js';
|
|
5
|
-
import {
|
|
6
|
+
import { isValidUrl } from './utils/strings.js';
|
|
6
7
|
const DID_WEB_RE = /^([a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*(?:\.[a-zA-Z]{2,}))$/;
|
|
7
8
|
/**
|
|
8
9
|
* Resolves domain handles into DID identifiers, by requesting Bluesky's AppView
|
package/dist/resolvers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../lib/resolvers.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../lib/resolvers.ts"],"names":[],"mappings":"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"}
|
package/dist/types/identity.d.ts
CHANGED
package/dist/types/token.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
import type { DPoPKey } from './dpop.js';
|
|
3
3
|
import type { PersistedAuthorizationServerMetadata } from './server.js';
|
|
4
4
|
export interface OAuthTokenResponse {
|
|
@@ -27,7 +27,7 @@ export interface TokenInfo {
|
|
|
27
27
|
access: string;
|
|
28
28
|
}
|
|
29
29
|
export interface ExchangeInfo {
|
|
30
|
-
sub:
|
|
30
|
+
sub: Did;
|
|
31
31
|
aud: string;
|
|
32
32
|
server: PersistedAuthorizationServerMetadata;
|
|
33
33
|
}
|
package/dist/utils/strings.d.ts
CHANGED
package/dist/utils/strings.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../lib/utils/strings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../lib/utils/strings.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,OAAO,IAAI,GAAG,CAAC;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAW,EAAE;IACxD,IAAI,GAAG,GAAe,IAAI,CAAC;IAC3B,IAAI,mBAAmB,EAAE,CAAC;QACzB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACP,IAAI,CAAC;YACJ,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
|
|
3
3
|
import { createDPoPFetch } from '../dpop.js';
|
|
4
4
|
import { CLIENT_ID, REDIRECT_URI } from '../environment.js';
|
|
@@ -74,7 +74,7 @@ export class OAuthServerAgent {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
async refresh({ sub, token }: { sub:
|
|
77
|
+
async refresh({ sub, token }: { sub: Did; token: TokenInfo }): Promise<TokenInfo> {
|
|
78
78
|
if (!token.refresh) {
|
|
79
79
|
throw new TokenRefreshError(sub, 'no refresh token available');
|
|
80
80
|
}
|
|
@@ -133,7 +133,7 @@ export class OAuthServerAgent {
|
|
|
133
133
|
return {
|
|
134
134
|
token: token,
|
|
135
135
|
info: {
|
|
136
|
-
sub: sub as
|
|
136
|
+
sub: sub as Did,
|
|
137
137
|
aud: resolved.identity.pds.href,
|
|
138
138
|
server: pick(resolved.metadata, [
|
|
139
139
|
'issuer',
|
package/lib/agents/sessions.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
|
|
3
3
|
import { database } from '../environment.js';
|
|
4
4
|
import { OAuthResponseError, TokenRefreshError } from '../errors.js';
|
|
@@ -14,9 +14,9 @@ export interface SessionGetOptions {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
type PendingItem<V> = Promise<{ value: V; isFresh: boolean }>;
|
|
17
|
-
const pending = new Map<
|
|
17
|
+
const pending = new Map<Did, PendingItem<Session>>();
|
|
18
18
|
|
|
19
|
-
export const getSession = async (sub:
|
|
19
|
+
export const getSession = async (sub: Did, options?: SessionGetOptions): Promise<Session> => {
|
|
20
20
|
options?.signal?.throwIfAborted();
|
|
21
21
|
|
|
22
22
|
let allowStored = isTokenUsable;
|
|
@@ -89,7 +89,7 @@ export const getSession = async (sub: At.Did, options?: SessionGetOptions): Prom
|
|
|
89
89
|
return value;
|
|
90
90
|
};
|
|
91
91
|
|
|
92
|
-
export const storeSession = async (sub:
|
|
92
|
+
export const storeSession = async (sub: Did, newSession: Session): Promise<void> => {
|
|
93
93
|
try {
|
|
94
94
|
database.sessions.set(sub, newSession);
|
|
95
95
|
} catch (err) {
|
|
@@ -98,18 +98,18 @@ export const storeSession = async (sub: At.Did, newSession: Session): Promise<vo
|
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
100
|
|
|
101
|
-
export const deleteStoredSession = (sub:
|
|
101
|
+
export const deleteStoredSession = (sub: Did): void => {
|
|
102
102
|
database.sessions.delete(sub);
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
-
export const listStoredSessions = ():
|
|
105
|
+
export const listStoredSessions = (): Did[] => {
|
|
106
106
|
return database.sessions.keys();
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
const returnTrue = () => true;
|
|
110
110
|
const returnFalse = () => false;
|
|
111
111
|
|
|
112
|
-
const refreshToken = async (sub:
|
|
112
|
+
const refreshToken = async (sub: Did, storedSession: Session | undefined): Promise<Session> => {
|
|
113
113
|
if (storedSession === undefined) {
|
|
114
114
|
throw new TokenRefreshError(sub, `session deleted by another tab`);
|
|
115
115
|
}
|
package/lib/agents/user-agent.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FetchHandlerObject } from '@atcute/client';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Did } from '@atcute/lexicons';
|
|
3
3
|
|
|
4
4
|
import { createDPoPFetch } from '../dpop.js';
|
|
5
5
|
import { CLIENT_ID } from '../environment.js';
|
|
@@ -16,7 +16,7 @@ export class OAuthUserAgent implements FetchHandlerObject {
|
|
|
16
16
|
this.#fetch = createDPoPFetch(CLIENT_ID, session.dpopKey, false);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
get sub():
|
|
19
|
+
get sub(): Did {
|
|
20
20
|
return this.session.info.sub;
|
|
21
21
|
}
|
|
22
22
|
|
package/lib/errors.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
|
|
3
3
|
export class LoginError extends Error {
|
|
4
4
|
override name = 'LoginError';
|
|
@@ -16,7 +16,7 @@ export class TokenRefreshError extends Error {
|
|
|
16
16
|
override name = 'TokenRefreshError';
|
|
17
17
|
|
|
18
18
|
constructor(
|
|
19
|
-
public readonly sub:
|
|
19
|
+
public readonly sub: Did,
|
|
20
20
|
message: string,
|
|
21
21
|
options?: ErrorOptions,
|
|
22
22
|
) {
|
package/lib/resolvers.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type DidDocument, getPdsEndpoint } from '@atcute/
|
|
1
|
+
import type { ComAtprotoIdentityResolveHandle } from '@atcute/atproto';
|
|
2
|
+
import { type DidDocument, getPdsEndpoint } from '@atcute/identity';
|
|
3
|
+
import type { Did, InferXRPCBodyOutput } from '@atcute/lexicons';
|
|
4
|
+
import { isDid } from '@atcute/lexicons/syntax';
|
|
3
5
|
|
|
4
6
|
import { DEFAULT_APPVIEW_URL } from './constants.js';
|
|
5
7
|
import { ResolverError } from './errors.js';
|
|
6
8
|
import type { IdentityMetadata } from './types/identity.js';
|
|
7
9
|
import type { AuthorizationServerMetadata, ProtectedResourceMetadata } from './types/server.js';
|
|
8
10
|
import { extractContentType } from './utils/response.js';
|
|
9
|
-
import {
|
|
11
|
+
import { isValidUrl } from './utils/strings.js';
|
|
10
12
|
|
|
11
13
|
const DID_WEB_RE = /^([a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*(?:\.[a-zA-Z]{2,}))$/;
|
|
12
14
|
|
|
@@ -16,7 +18,7 @@ const DID_WEB_RE = /^([a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*(?:\.[a-zA-Z]{2,}))$/;
|
|
|
16
18
|
* @param handle Domain handle to resolve
|
|
17
19
|
* @returns DID identifier resolved from the domain handle
|
|
18
20
|
*/
|
|
19
|
-
export const resolveHandle = async (handle: string): Promise<
|
|
21
|
+
export const resolveHandle = async (handle: string): Promise<Did> => {
|
|
20
22
|
const url = DEFAULT_APPVIEW_URL + `/xrpc/com.atproto.identity.resolveHandle` + `?handle=${handle}`;
|
|
21
23
|
|
|
22
24
|
const response = await fetch(url);
|
|
@@ -26,7 +28,9 @@ export const resolveHandle = async (handle: string): Promise<At.Did> => {
|
|
|
26
28
|
throw new ResolverError(`directory is unreachable`);
|
|
27
29
|
}
|
|
28
30
|
|
|
29
|
-
const json = (await response.json()) as
|
|
31
|
+
const json = (await response.json()) as InferXRPCBodyOutput<
|
|
32
|
+
ComAtprotoIdentityResolveHandle.mainSchema['output']
|
|
33
|
+
>;
|
|
30
34
|
return json.did;
|
|
31
35
|
};
|
|
32
36
|
|
|
@@ -35,7 +39,7 @@ export const resolveHandle = async (handle: string): Promise<At.Did> => {
|
|
|
35
39
|
* @param did DID identifier we're seeking DID doc from
|
|
36
40
|
* @returns Retrieved DID document
|
|
37
41
|
*/
|
|
38
|
-
export const getDidDocument = async (did:
|
|
42
|
+
export const getDidDocument = async (did: Did): Promise<DidDocument> => {
|
|
39
43
|
const colon_index = did.indexOf(':', 4);
|
|
40
44
|
|
|
41
45
|
const type = did.slice(4, colon_index);
|
|
@@ -151,7 +155,7 @@ export const getAuthorizationServerMetadata = async (host: string): Promise<Auth
|
|
|
151
155
|
export const resolveFromIdentity = async (
|
|
152
156
|
ident: string,
|
|
153
157
|
): Promise<{ identity: IdentityMetadata; metadata: AuthorizationServerMetadata }> => {
|
|
154
|
-
let did:
|
|
158
|
+
let did: Did;
|
|
155
159
|
if (isDid(ident)) {
|
|
156
160
|
did = ident;
|
|
157
161
|
} else {
|
package/lib/store/db.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
|
|
3
3
|
import type { DPoPKey } from '../types/dpop.js';
|
|
4
4
|
import type { AuthorizationServerMetadata } from '../types/server.js';
|
|
@@ -18,7 +18,7 @@ interface SchemaItem<T> {
|
|
|
18
18
|
|
|
19
19
|
interface Schema {
|
|
20
20
|
sessions: {
|
|
21
|
-
key:
|
|
21
|
+
key: Did;
|
|
22
22
|
value: Session;
|
|
23
23
|
indexes: {
|
|
24
24
|
expiresAt: number;
|
package/lib/types/identity.ts
CHANGED
package/lib/types/token.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
2
|
|
|
3
3
|
import type { DPoPKey } from './dpop.js';
|
|
4
4
|
import type { PersistedAuthorizationServerMetadata } from './server.js';
|
|
@@ -34,7 +34,7 @@ export interface TokenInfo {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export interface ExchangeInfo {
|
|
37
|
-
sub:
|
|
37
|
+
sub: Did;
|
|
38
38
|
aud: string;
|
|
39
39
|
server: PersistedAuthorizationServerMetadata;
|
|
40
40
|
}
|
package/lib/utils/strings.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import type { At } from '@atcute/client/lexicons';
|
|
2
|
-
|
|
3
1
|
const isUrlParseSupported = 'parse' in URL;
|
|
4
2
|
|
|
5
|
-
export const isDid = (value: string): value is At.Did => {
|
|
6
|
-
return value.startsWith('did:');
|
|
7
|
-
};
|
|
8
|
-
|
|
9
3
|
export const isValidUrl = (urlString: string): boolean => {
|
|
10
4
|
let url: URL | null = null;
|
|
11
5
|
if (isUrlParseSupported) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@atcute/oauth-browser-client",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.19",
|
|
5
5
|
"description": "minimal OAuth browser client implementation for AT Protocol",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -19,15 +19,18 @@
|
|
|
19
19
|
},
|
|
20
20
|
"sideEffects": false,
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@atcute/
|
|
22
|
+
"@atcute/identity": "^1.0.0",
|
|
23
|
+
"@atcute/client": "^4.0.0",
|
|
24
|
+
"@atcute/multibase": "^1.1.3",
|
|
23
25
|
"@atcute/uint8array": "^1.0.1",
|
|
24
|
-
"@atcute/
|
|
26
|
+
"@atcute/lexicons": "^1.0.0"
|
|
25
27
|
},
|
|
26
28
|
"devDependencies": {
|
|
27
|
-
"@
|
|
29
|
+
"@atcute/atproto": "^3.0.0"
|
|
28
30
|
},
|
|
29
31
|
"scripts": {
|
|
30
32
|
"build": "tsc --project tsconfig.build.json",
|
|
33
|
+
"postbuild": "node ./scripts/ensure-files.js",
|
|
31
34
|
"test": "bun test --coverage",
|
|
32
35
|
"prepublish": "rm -rf dist; pnpm run build"
|
|
33
36
|
}
|