diff --git a/.changeset/tiny-teachers-hug.md b/.changeset/tiny-teachers-hug.md new file mode 100644 index 00000000000..776cb056a1d --- /dev/null +++ b/.changeset/tiny-teachers-hug.md @@ -0,0 +1,6 @@ +--- +"@logto/console": patch +"@logto/phrases": patch +--- + +display OIDC issuer endpoint in the application details form diff --git a/packages/console/src/consts/oidc.ts b/packages/console/src/consts/oidc.ts index 8764ccbad37..d6e4585453a 100644 --- a/packages/console/src/consts/oidc.ts +++ b/packages/console/src/consts/oidc.ts @@ -1 +1,2 @@ export const openIdProviderConfigPath = 'oidc/.well-known/openid-configuration'; +export const openIdProviderPath = 'oidc'; diff --git a/packages/console/src/pages/ApplicationDetails/ApplicationDetailsContent/EndpointsAndCredentials.tsx b/packages/console/src/pages/ApplicationDetails/ApplicationDetailsContent/EndpointsAndCredentials.tsx index cbc79cef101..32d09b097a2 100644 --- a/packages/console/src/pages/ApplicationDetails/ApplicationDetailsContent/EndpointsAndCredentials.tsx +++ b/packages/console/src/pages/ApplicationDetails/ApplicationDetailsContent/EndpointsAndCredentials.tsx @@ -1,7 +1,7 @@ import { - type Application, ApplicationType, DomainStatus, + type Application, type SnakeCaseOidcConfig, } from '@logto/schemas'; import { appendPath } from '@silverhand/essentials'; @@ -11,7 +11,7 @@ import { Trans, useTranslation } from 'react-i18next'; import CaretDown from '@/assets/icons/caret-down.svg'; import CaretUp from '@/assets/icons/caret-up.svg'; import FormCard from '@/components/FormCard'; -import { openIdProviderConfigPath } from '@/consts/oidc'; +import { openIdProviderConfigPath, openIdProviderPath } from '@/consts/oidc'; import { AppDataContext } from '@/contexts/AppDataProvider'; import Button from '@/ds-components/Button'; import CopyToClipboard from '@/ds-components/CopyToClipboard'; @@ -61,16 +61,25 @@ function EndpointsAndCredentials({ app: { type, secret, id, isThirdParty }, oidc )} {tenantEndpoint && ( - + )} {showMoreEndpoints && ( <> + {tenantEndpoint && ( + + + + )} ( diff --git a/packages/phrases/src/locales/en/translation/admin-console/application-details.ts b/packages/phrases/src/locales/en/translation/admin-console/application-details.ts index f9ef9377f8e..913cab7b4ac 100644 --- a/packages/phrases/src/locales/en/translation/admin-console/application-details.ts +++ b/packages/phrases/src/locales/en/translation/admin-console/application-details.ts @@ -23,6 +23,7 @@ const application_details = { description: 'Description', description_placeholder: 'Enter your application description', config_endpoint: 'OpenID provider configuration endpoint', + issuer_endpoint: 'Issuer endpoint', authorization_endpoint: 'Authorization endpoint', authorization_endpoint_tip: "The endpoint to perform authentication and authorization. It's used for OpenID Connect Authentication.", diff --git a/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso-details.ts b/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso-details.ts index b9e560b5887..fa5f8324469 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso-details.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/enterprise-sso-details.ts @@ -1,72 +1,79 @@ const enterprise_sso_details = { - back_to_sso_connectors: '企业SSO返回', - page_title: '企业SSO连接器详情', - readme_drawer_title: '企业SSO', - readme_drawer_subtitle: '设置企业SSO连接器以启用终端用户SSO', - tab_experience: 'SSO体验', - tab_connection: '连接', - general_settings_title: '常规', - custom_branding_title: '显示', + back_to_sso_connectors: '企業SSOに戻る', + page_title: '企業SSOコネクタの詳細', + readme_drawer_title: '企業SSO', + readme_drawer_subtitle: 'エンドユーザーのSSOを有効にするために企業SSOコネクタを設定します', + tab_experience: 'SSO体験', + tab_connection: '接続', + general_settings_title: '一般設定', + custom_branding_title: '表示', custom_branding_description: - '自定义终端用户单点登录流程中显示的名称和标识。如果为空,将使用默认值。', - email_domain_field_name: '企业邮箱域', + 'エンドユーザーのシングルサインオンプロセスで表示される名前とロゴをカスタマイズします。空白の場合、デフォルト値が使用されます。', + email_domain_field_name: '企業メールドメイン', email_domain_field_description: - '使用此邮箱域的用户可以使用SSO进行身份验证。请验证该域名属于企业。', - email_domain_field_placeholder: '邮箱域', - sync_profile_field_name: '从身份提供商同步配置文件信息', + 'このメールドメインを使用するユーザーは、SSOで認証できます。このドメインが企業のものであることを確認してください。', + email_domain_field_placeholder: 'メールドメイン', + sync_profile_field_name: 'アイデンティティプロバイダーからプロファイル情報を同期', sync_profile_option: { - register_only: '仅在首次登录时同步', - each_sign_in: '每次登录都同步', + register_only: '初回ログイン時のみ同期', + each_sign_in: '毎回ログイン時に同期', }, - connector_name_field_name: '连接器名称', - display_name_field_name: '显示名称', - connector_logo_field_name: '显示标识', - connector_logo_field_description: '每张图片应不超过500KB,支持SVG、PNG、JPG、JPEG格式。', - branding_logo_context: '上传标识', - branding_logo_error: '上传标识错误: {{error}}', - branding_light_logo_context: '上传浅色模式标识', - branding_light_logo_error: '上传浅色模式标识错误: {{error}}', - branding_logo_field_name: '标识', + connector_name_field_name: 'コネクタ名', + display_name_field_name: '表示名', + connector_logo_field_name: 'ロゴ表示', + connector_logo_field_description: + '各画像は500KB以下にしてください。SVG、PNG、JPG、JPEG形式をサポートしています。', + branding_logo_context: 'ロゴをアップロード', + branding_logo_error: 'ロゴのアップロードエラー: {{error}}', + branding_light_logo_context: 'ライトモードのロゴをアップロード', + branding_light_logo_error: 'ライトモードのロゴアップロードエラー: {{error}}', + branding_logo_field_name: 'ロゴ', branding_logo_field_placeholder: 'https://your.domain/logo.png', - branding_dark_logo_context: '上传深色模式标识', - branding_dark_logo_error: '上传深色模式标识错误: {{error}}', - branding_dark_logo_field_name: '标识(深色模式)', + branding_dark_logo_context: 'ダークモードのロゴをアップロード', + branding_dark_logo_error: 'ダークモードのロゴアップロードエラー: {{error}}', + branding_dark_logo_field_name: 'ロゴ(ダークモード)', branding_dark_logo_field_placeholder: 'https://your.domain/dark-mode-logo.png', - check_connection_guide: '连接指南', - enterprise_sso_deleted: '企业SSO连接器已成功删除', - delete_confirm_modal_title: '删除企业SSO连接器', + check_connection_guide: '接続ガイド', + enterprise_sso_deleted: '企業SSOコネクタが正常に削除されました', + delete_confirm_modal_title: '企業SSOコネクタを削除', delete_confirm_modal_content: - '您确定要删除此企业连接器吗?来自身份提供商的用户将不会使用单点登录。', - upload_idp_metadata_title_saml: '上传元数据', - upload_idp_metadata_description_saml: '配置从身份提供商复制的元数据。', - upload_idp_metadata_title_oidc: '上传凭证', - upload_idp_metadata_description_oidc: '配置从身份提供商复制的凭证和OIDC令牌信息。', - upload_idp_metadata_button_text: '上传元数据XML文件', - upload_signing_certificate_button_text: '上传签名证书文件', - configure_domain_field_info_text: '添加邮箱域以引导企业用户到其身份提供商进行单点登录。', - email_domain_field_required: '要启用企业SSO,需要填写邮箱域。', - upload_saml_idp_metadata_info_text_url: '粘贴来自身份提供商的元数据URL以连接。', - upload_saml_idp_metadata_info_text_xml: '粘贴从身份提供商复制的元数据以连接。', - upload_saml_idp_metadata_info_text_manual: '填写从身份提供商复制的元数据以连接。', - upload_oidc_idp_info_text: '填写从身份提供商复制的信息以连接。', - service_provider_property_title: '在身份提供商中配置', + 'この企業コネクタを削除してもよろしいですか?アイデンティティプロバイダーからのユーザーはシングルサインオンを使用できなくなります。', + upload_idp_metadata_title_saml: 'メタデータをアップロード', + upload_idp_metadata_description_saml: + 'アイデンティティプロバイダーからコピーしたメタデータを設定します。', + upload_idp_metadata_title_oidc: '証明書をアップロード', + upload_idp_metadata_description_oidc: + 'アイデンティティプロバイダーからコピーした証明書およびOIDCトークン情報を設定します。', + upload_idp_metadata_button_text: 'メタデータXMLファイルをアップロード', + upload_signing_certificate_button_text: '署名証明書ファイルをアップロード', + configure_domain_field_info_text: + '企業ユーザーをアイデンティティプロバイダーに誘導するためにメールドメインを追加します。', + email_domain_field_required: '企業SSOを有効にするには、メールドメインを入力する必要があります。', + upload_saml_idp_metadata_info_text_url: + 'アイデンティティプロバイダーからのメタデータURLを貼り付けて接続します。', + upload_saml_idp_metadata_info_text_xml: + 'アイデンティティプロバイダーからコピーしたメタデータを貼り付けて接続します。', + upload_saml_idp_metadata_info_text_manual: + 'アイデンティティプロバイダーからコピーしたメタデータを入力して接続します。', + upload_oidc_idp_info_text: 'アイデンティティプロバイダーからコピーした情報を入力して接続します。', + service_provider_property_title: 'アイデンティティプロバイダーに設定', service_provider_property_description: - '通过您的身份提供商使用 {{protocol}} 配置一个应用程序集成。 输入Logto提供的详细信息。', - attribute_mapping_title: '属性映射', + 'アイデンティティプロバイダーを使用して {{protocol}} でアプリケーション統合を設定します。Logtoが提供する詳細情報を入力してください。', + attribute_mapping_title: '属性マッピング', attribute_mapping_description: - '通过在身份提供商或Logto端配置用户属性映射,从而同步用户配置文件。', + 'アイデンティティプロバイダーまたはLogto側でユーザー属性マッピングを設定して、ユーザープロファイルを同期します。', saml_preview: { - sign_on_url: '登录URL', - entity_id: '发行者', - x509_certificate: '签名证书', - certificate_content: '到期于{{date}}', + sign_on_url: 'サインオンURL', + entity_id: '発行者', + x509_certificate: '署名証明書', + certificate_content: '有効期限: {{date}}', }, oidc_preview: { - authorization_endpoint: '授权端点', - token_endpoint: '令牌端点', - userinfo_endpoint: '用户信息端点', - jwks_uri: 'JSON网页密钥集端点', - issuer: '发行者', + authorization_endpoint: '認可エンドポイント', + token_endpoint: 'トークンエンドポイント', + userinfo_endpoint: 'ユーザー情報エンドポイント', + jwks_uri: 'JSON Webキーセットエンドポイント', + issuer: '発行者', }, };