switch to metadata from state

This commit is contained in:
Paul Carleton 2025-05-29 12:26:53 +01:00
commit 35eab580ef
No known key found for this signature in database
2 changed files with 21 additions and 4 deletions

View file

@ -1,4 +1,4 @@
import { useCallback, useMemo } from "react";
import { useCallback, useMemo, useEffect } from "react";
import { Button } from "@/components/ui/button";
import { DebugInspectorOAuthClientProvider } from "../lib/auth";
import { AlertCircle } from "lucide-react";
@ -60,6 +60,23 @@ const AuthDebugger = ({
authState,
updateAuthState,
}: AuthDebuggerProps) => {
// Initialize loading state
useEffect(() => {
if (authState.loading && serverUrl) {
// Check if we have existing tokens
const checkTokens = async () => {
const provider = new DebugInspectorOAuthClientProvider(serverUrl);
const existingTokens = await provider.tokens();
updateAuthState({
loading: false,
oauthTokens: existingTokens || null,
});
};
checkTokens();
}
}, [serverUrl, authState.loading, updateAuthState]);
const startOAuthFlow = useCallback(() => {
if (!serverUrl) {
updateAuthState({

View file

@ -128,7 +128,7 @@ export const OAuthFlowProgress = ({
label="Metadata Discovery"
{...getStepProps("metadata_discovery")}
>
{provider.getServerMetadata() && (
{authState.oauthMetadata && (
<details className="text-xs mt-2">
<summary className="cursor-pointer text-muted-foreground font-medium">
OAuth Metadata Sources
@ -165,14 +165,14 @@ export const OAuthFlowProgress = ({
</div>
)}
{provider.getServerMetadata() && (
{authState.oauthMetadata && (
<div className="mt-2">
<p className="font-medium">Authorization Server Metadata:</p>
{authState.authServerUrl && <p className="text-xs text-muted-foreground">
From {new URL('/.well-known/oauth-authorization-server', authState.authServerUrl).href}
</p>}
<pre className="mt-2 p-2 bg-muted rounded-md overflow-auto max-h-[300px]">
{JSON.stringify(provider.getServerMetadata(), null, 2)}
{JSON.stringify(authState.oauthMetadata, null, 2)}
</pre>
</div>
)}