diff --git a/packages/oauth-client/src/client.ts b/packages/oauth-client/src/client.ts index e163783..d4ba498 100644 --- a/packages/oauth-client/src/client.ts +++ b/packages/oauth-client/src/client.ts @@ -164,7 +164,7 @@ export class HappyViewOAuthClient { accessToken: params.accessToken, clientKey: this.clientKey, instanceUrl: this.instanceUrl, - scopes: params.scopes, + scopes: data.scopes, pdsUrl: params.pdsUrl, issuer: params.issuer, }; @@ -180,7 +180,7 @@ export class HappyViewOAuthClient { accessToken: params.accessToken, clientKey: this.clientKey, instanceUrl: this.instanceUrl, - scopes: params.scopes, + scopes: data.scopes, pdsUrl: params.pdsUrl, issuer: params.issuer, fetch: this._fetch, diff --git a/packages/oauth-client/src/session.ts b/packages/oauth-client/src/session.ts index b1e5aa6..53bcbc3 100644 --- a/packages/oauth-client/src/session.ts +++ b/packages/oauth-client/src/session.ts @@ -7,7 +7,7 @@ export interface HappyViewSessionOptions { accessToken: string; clientKey: string; instanceUrl: string; - scopes?: string; + scopes: string[]; pdsUrl?: string; issuer?: string; fetch?: typeof globalThis.fetch; @@ -48,12 +48,12 @@ export class HappyViewSession { constructor(options: HappyViewSessionOptions) { this.did = options.did; - this.scopes = options.scopes ? options.scopes.split(" ") : []; + this.scopes = options.scopes; this.dpopKey = options.dpopKey; this.accessToken = options.accessToken; this.clientKey = options.clientKey; this.instanceUrl = options.instanceUrl.replace(/\/+$/, ""); - this._scopes = options.scopes; + this._scopes = options.scopes.join(" ") || undefined; this._pdsUrl = options.pdsUrl; this._issuer = options.issuer; this._fetch = options.fetch ?? ((input: RequestInfo | URL, init?: RequestInit) => fetch(input, init)) as typeof globalThis.fetch; diff --git a/packages/oauth-client/src/types.ts b/packages/oauth-client/src/types.ts index c893969..9d1eec9 100644 --- a/packages/oauth-client/src/types.ts +++ b/packages/oauth-client/src/types.ts @@ -46,7 +46,7 @@ export interface StoredSession { accessToken: string; clientKey: string; instanceUrl: string; - scopes?: string; + scopes: string[]; pdsUrl?: string; issuer?: string; }