{{ 'XP.McpPublication.ApiKey' | translate: { Default: 'API Key' } }}

{{ 'XP.McpPublication.SecretOnce' | translate : { Default: 'The secret is shown only immediately after creation or rotation.' } }}

@if (vm().revealedApiKey(); as revealed) {
{{ 'XP.McpPublication.CopySecretNow' | translate: { Default: 'Copy this secret now' } }}
{{ revealed.secret }}
} @if (vm().canManageMcp()) {
{{ 'XP.McpPublication.KeyName' | translate: { Default: 'Key name' } }} {{ 'XP.McpPublication.Scopes' | translate: { Default: 'Scopes' } }} @for (scope of vm().mcpScopeOptions; track scope.value) { {{ 'XP.McpPublication.Scope.' + scope.key | translate: { Default: scope.defaultLabel } }} ({{ scope.value }}) } {{ 'XP.McpPublication.ExpiresAt' | translate: { Default: 'Expires at' } }}
} @if (vm().apiKeys().length) {
@for (key of vm().apiKeys(); track key.id) { }
{{ 'XP.McpPublication.KeyName' | translate: { Default: 'Key name' } }} {{ 'XP.McpPublication.Prefix' | translate: { Default: 'Prefix' } }} {{ 'XP.McpPublication.Scopes' | translate: { Default: 'Scopes' } }} {{ 'XP.McpPublication.LastUsed' | translate: { Default: 'Last used' } }} {{ 'XP.McpPublication.StatusLabel' | translate: { Default: 'Status' } }} {{ 'XP.ModelGateway.Actions' | translate: { Default: 'Actions' } }}
{{ key.name }} {{ key.keyPrefix }}… {{ key.scopes.join(' ') }} {{ key.lastUsedAt ? (key.lastUsedAt | date: 'yyyy-MM-dd HH:mm') : '-' }} {{ 'XP.McpPublication.ApiKeyStatus.' + (vm().isApiKeyActive(key) ? 'active' : 'inactive') | translate: { Default: vm().isApiKeyActive(key) ? 'Active' : 'Inactive' } }} @if (vm().isApiKeyActive(key) && vm().canManageMcp()) {
@if (vm().revealedApiKey(); as revealed) { @if (revealed.apiKey.id === key.id) { } }
}
}

{{ 'XP.McpPublication.OAuthOidc' | translate: { Default: 'OAuth 2.0 / OIDC' } }}

{{ 'XP.McpPublication.OAuthHint' | translate : { Default: 'Xpert validates issuer, audience, scopes, JWKS, and subject mapping as the MCP Resource Server.' } }}

{{ 'XP.McpPublication.OAuthSetupTitle' | translate: { Default: 'Before you configure OAuth' } }}

{{ 'XP.McpPublication.OAuthSetupDescription' | translate : { Default: 'Register this MCP endpoint as an API or resource server in your identity provider. Use the token issuer URL below, set the audience to this service endpoint, and grant the selected scopes to the client application.' } }}

{{ 'XP.McpPublication.Issuer' | translate: { Default: 'Issuer' } }} {{ 'XP.McpPublication.OAuthIssuerHint' | translate : { Default: 'Use the exact iss value from access tokens. Xpert discovers its JWKS from this URL.' } }} {{ 'XP.McpPublication.Audience' | translate: { Default: 'Audience' } }} {{ 'XP.McpPublication.OAuthAudienceHint' | translate : { Default: 'Use the API audience configured in your identity provider; this service endpoint is the recommended value.' } }} {{ 'XP.McpPublication.RequiredScopes' | translate: { Default: 'Required scopes' } }} @for (scope of vm().mcpScopeOptions; track scope.value) { {{ 'XP.McpPublication.Scope.' + scope.key | translate: { Default: scope.defaultLabel } }} ({{ scope.value }}) } {{ 'XP.McpPublication.OAuthScopesHint' | translate : { Default: 'Every selected scope must be present in the access token. Configure the same scopes in your identity provider.' } }} {{ 'XP.McpPublication.SubjectClaim' | translate: { Default: 'Subject claim' } }} {{ 'XP.McpPublication.OAuthSubjectClaimHint' | translate : { Default: 'Claim containing the stable caller identity. Most OIDC providers use sub.' } }} {{ 'XP.McpPublication.EmailClaim' | translate: { Default: 'Email claim' } }} {{ 'XP.McpPublication.ClientIdClaim' | translate: { Default: 'Client ID claim' } }}

{{ 'XP.McpPublication.TokenIntrospection' | translate: { Default: 'Token introspection' } }}

{{ 'XP.McpPublication.TokenIntrospectionHint' | translate : { Default: 'Require RFC 7662 active-token checks on every request for immediate authorization-server revocation.' } }}

{{ 'XP.Xpert.Enabled' | translate: { Default: 'Enabled' } }}
@if (vm().oauthForm.controls.introspectionEnabled.value) {
{{ 'XP.McpPublication.IntrospectionEndpoint' | translate: { Default: 'Introspection endpoint override' } }} {{ 'XP.McpPublication.IntrospectionClientId' | translate: { Default: 'Resource Server client ID' } }} {{ 'XP.McpPublication.IntrospectionClientSecret' | translate: { Default: 'Resource Server client secret' } }}
}
{{ 'XP.Xpert.Enabled' | translate: { Default: 'Enabled' } }}