Skip to content

Commit 354318f

Browse files
committed
auth: don't fail the prm if the resource doesn't match
1 parent 5c60c77 commit 354318f

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/client/auth.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,19 +102,20 @@ export async function auth(
102102

103103
const resource = resourceUrlFromServerUrl(typeof serverUrl === "string" ? new URL(serverUrl) : serverUrl);
104104

105+
let resourceMetadata: OAuthProtectedResourceMetadata | undefined;
105106
let authorizationServerUrl = serverUrl;
106107
try {
107-
const resourceMetadata = await discoverOAuthProtectedResourceMetadata(
108-
resourceMetadataUrl || serverUrl);
109-
108+
resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, {resourceMetadataUrl});
109+
} catch (error) {
110+
console.warn("Could not load OAuth Protected Resource metadata, falling back to /.well-known/oauth-authorization-server", error)
111+
}
112+
if (resourceMetadata) {
110113
if (resourceMetadata.authorization_servers && resourceMetadata.authorization_servers.length > 0) {
111114
authorizationServerUrl = resourceMetadata.authorization_servers[0];
112115
}
113116
if (resourceMetadata.resource && resourceMetadata.resource !== resource.href) {
114117
throw new Error(`Protected resource ${resourceMetadata.resource} does not match expected ${resource}`);
115118
}
116-
} catch (error) {
117-
console.warn("Could not load OAuth Protected Resource metadata, falling back to /.well-known/oauth-authorization-server", error)
118119
}
119120

120121
const metadata = await discoverOAuthMetadata(authorizationServerUrl);

0 commit comments

Comments
 (0)