diff --git a/dashboard/src/app/user/[id]/page.tsx b/dashboard/src/app/user/[id]/page.tsx
index 7b21fde..6453ec5 100644
--- a/dashboard/src/app/user/[id]/page.tsx
+++ b/dashboard/src/app/user/[id]/page.tsx
@@ -1,15 +1,29 @@
import React from 'react';
import { getIdentityApi } from '@/ory/sdk/server';
import { ErrorDisplay } from '@/components/error';
+import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
+import { IdentityTraitForm } from '@/components/forms/IdentityTraitForm';
+import { KratosSchema } from '@/lib/forms/identity-form';
export default async function UserDetailsPage({ params }: { params: Promise<{ id: string }> }) {
const identityId = (await params).id;
- console.log('Loading identity', identityId);
-
const identityApi = await getIdentityApi();
- const identity = await identityApi.getIdentity({ id: identityId })
+ const identity = await identityApi.getIdentity({
+ id: identityId,
+ includeCredential: [
+ 'code',
+ 'code_recovery',
+ 'link_recovery',
+ 'lookup_secret',
+ 'oidc',
+ 'passkey',
+ 'password',
+ 'totp',
+ 'webauthn',
+ ],
+ })
.then((response) => response.data)
.catch(() => {
console.log('Identity not found');
@@ -27,6 +41,10 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
message="The identity you are trying to see exists but has no identifiable address"/>;
}
+ const identitySchema = await identityApi
+ .getIdentitySchema({ id: identity.schema_id })
+ .then((response) => response.data as KratosSchema);
+
const address = identity.verifiable_addresses[0];
return (
@@ -35,6 +53,35 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
{address.value}
{identity.id}
+
+
+
+ Traits
+ All identity properties specified in the identity schema
+
+
+
+
+
+
+
+ Addresses
+
+
+
+
+
+ Credentials
+ All authentication mechanisms registered with this identity
+
+
+
+
+ Sessions
+ See and manage all sessions of this identity
+
+
+