Merge branch 'aig' of github.com:fosrl/pangolin into aig

This commit is contained in:
Owen
2026-08-12 11:45:28 -04:00
9 changed files with 68 additions and 60 deletions
@@ -18,7 +18,7 @@ import { cache } from "react";
export async function generateMetadata(): Promise<Metadata> {
const t = await getTranslations();
return {
title: t("myVirtualApiKeysResourceTitle")
title: t("myVirtualApiKeysTitle")
};
}
@@ -41,7 +41,9 @@ export default async function ResourceKeysPage(props: ResourceKeysPageProps) {
const user = await getUser();
if (!user) {
redirect("/");
redirect(
`/auth/resource/${encodeURIComponent(resourceGuid)}?redirect=${encodeURIComponent(`/${orgId}/resource/${resourceGuid}/keys`)}`
);
}
const cookieHeader = await authCookieHeader();
@@ -111,11 +113,7 @@ export default async function ResourceKeysPage(props: ResourceKeysPageProps) {
launcherMode
showViewAsAdmin={isAdminOrOwner}
>
<UserVirtualApiKeys
orgId={orgId}
resourceGuid={resourceGuid}
initialData={keysData}
/>
<UserVirtualApiKeys orgId={orgId} initialData={keysData} />
</Layout>
</UserProvider>
);
+18 -3
View File
@@ -71,6 +71,9 @@ export default async function ResourceAuthPage(props: {
);
}
const isInference = authInfo.mode === "inference";
const keysPath = `/${authInfo.orgId}/resource/${authInfo.resourceGuid}/keys`;
const hasLoginPageDomain = await isOrgSubscribed(
authInfo.orgId,
tierMatrix.loginPageDomain
@@ -159,7 +162,9 @@ export default async function ResourceAuthPage(props: {
if (user && !user.emailVerified && env.flags.emailVerificationRequired) {
redirect(
`/auth/verify-email?redirect=/auth/resource/${authInfo.resourceGuid}`
`/auth/verify-email?redirect=${encodeURIComponent(
`/auth/resource/${authInfo.resourceGuid}`
)}`
);
}
@@ -193,6 +198,16 @@ export default async function ResourceAuthPage(props: {
);
}
// Inference resources never establish a resource session on the inference
// host. Authenticated users retrieve their virtual API key on the dashboard.
if (isInference && user) {
redirect(keysPath);
}
// After password/pincode/SSO, do not send the browser back to the
// inference host (session alone cannot pass Badger). Land on keys instead.
const postAuthRedirect = isInference ? keysPath : redirectUrl;
if (!hasAuth) {
// no authentication so always go straight to the resource
redirect(redirectUrl);
@@ -277,7 +292,7 @@ export default async function ResourceAuthPage(props: {
<AutoLoginHandler
resourceId={authInfo.resourceId}
skipToIdpId={authInfo.skipToIdpId}
redirectUrl={redirectUrl}
redirectUrl={postAuthRedirect}
orgId={build === "saas" ? authInfo.orgId : undefined}
/>
);
@@ -315,7 +330,7 @@ export default async function ResourceAuthPage(props: {
name: authInfo.resourceName,
id: authInfo.resourceId
}}
redirect={redirectUrl}
redirect={postAuthRedirect}
idps={loginIdps}
orgId={build === "saas" ? authInfo.orgId : undefined}
branding={