• release

Logto 製品アップデート (2024年7月)

先月、多くの新機能と改善を導入しました。また、コンプライアンスに関しても大きなニュースがあります。

Gao
Gao
Founder

コンプライアンス

我々は公式に SOC 2 Type I に準拠しました! 🎉 Type II の監査はもうすぐです。

SOC 2 Type I

オーガニゼーション向け Just-in-Time プロビジョニング

この機能により、ある認証方法を通じて初回サインインした際にユーザーが自動的にオーガニゼーションに参加し、役割を割り当てられます。Just-in-Time プロビジョニングのための要件を設定することができます。

この機能を使用するには、オーガニゼーション設定に移動し、「Just-in-Time プロビジョニング」セクションを見つけてください。また、Management API を使用して、この機能を /api/organizations/{id}/jit 以下のルートで設定することもできます。詳細については、Just-in-Time プロビジョニング を参照してください。

Organization JIT provisioning

Email ドメイン

新しいユーザーは、以下の条件で Just-in-Time プロビジョニングにより自動的にオーガニゼーションに参加します:

  • 認証されたメールアドレスでサインアップする、または;
  • 認証されたメールアドレスでソーシャルサインインを使用する。

これは、同じメールドメインが設定されているオーガニゼーションに適用されます。

クリックして展開

この機能を有効にするには、Management API または Logto コンソールを使用してメールドメインを追加できます:

  • Management API に以下の新しいエンドポイントを追加しました:
    • GET /organizations/{organizationId}/jit/email-domains
    • POST /organizations/{organizationId}/jit/email-domains
    • PUT /organizations/{organizationId}/jit/email-domains
    • DELETE /organizations/{organizationId}/jit/email-domains/{emailDomain}
  • Logto コンソールでは、オーガニゼーション詳細ページの「Just-in-Time プロビジョニング」セクションでメールドメインを管理できます。

SSO コネクタ

新規または既存ユーザーがエンタープライズ SSO を通じて初めてサインインすると、Just-in-Time プロビジョニングが設定されているオーガニゼーションに自動的に参加します。

クリックして展開

この機能を有効にするには、Management API または Logto コンソールを使用して SSO コネクタを追加できます:

  • Management API に以下の新しいエンドポイントを追加しました:
    • GET /organizations/{organizationId}/jit/sso-connectors
    • POST /organizations/{organizationId}/jit/sso-connectors
    • PUT /organizations/{organizationId}/jit/sso-connectors
    • DELETE /organizations/{organizationId}/jit/sso-connectors/{ssoConnectorId}
  • Logto コンソールでは、オーガニゼーション詳細ページの「Just-in-Time プロビジョニング」セクションで SSO コネクタを管理できます。

デフォルトオーガニゼーション役割

この機能を通じてプロビジョンされたユーザーのデフォルト役割を設定することもできます。デフォルトの役割は、ユーザーがプロビジョンされた際に割り当てられます。

クリックして展開

この機能を有効にするには、Management API または Logto コンソールを使用してデフォルトの役割を設定します:

  • Management API に以下の新しいエンドポイントを追加しました:
    • GET /organizations/{organizationId}/jit/roles
    • POST /organizations/{organizationId}/jit/roles
    • PUT /organizations/{organizationId}/jit/roles
    • DELETE /organizations/{organizationId}/jit/roles/{organizationRoleId}
  • Logto コンソールでは、オーガニゼーション詳細ページの「Just-in-Time プロビジョニング」セクションでデフォルトの役割を管理できます。

オーガニゼーション向け Machine-to-machine アプリ

この機能により、Machine-to-machine アプリをオーガニゼーションに関連付け、オーガニゼーション役割を割り当てることができます。

OpenID Connect grant

オーガニゼーションのために client_credentials grant タイプをサポートしました。この grant タイプを使用してオーガニゼーション用のアクセストークンを取得できます。

コンソールの更新内容を展開
  • オーガニゼーション役割に新しい「machine-to-machine」タイプを追加しました。既存のすべての役割は現在「user」タイプです。
  • オーガニゼーション詳細ページで Machine-to-machine アプリを管理できます -> Machine-to-machine apps セクション。
  • Machine-to-machine アプリ詳細ページで関連付けられたオーガニゼーションを表示できます。
Management API の更新内容を展開

Management API に新しいエンドポイントを追加しました:

  • /api/organizations/{id}/applications は Machine-to-machine アプリを管理します。
  • /api/organizations/{id}/applications/{applicationId} はオーガニゼーション内の特定の Machine-to-machine アプリを管理します。
  • /api/applications/{id}/organizations は Machine-to-machine アプリに関連付けられたオーガニゼーションを表示します。

Swagger (OpenAPI) の改善

OpenAPI レスポンスで Management API に対して operationId を構築

仕様 に基づいて:

operationId は操作を識別するための、オプションの一意な文字列です。指定された場合、これらの ID は API 内のすべての操作の間で一意でなければなりません。

これにより、さまざまな言語でクライアント SDK を作成する際に、以下の例のように自動生成されたものより意味のある関数名が生成されるため、大幅に簡素化されます:

GET /api/swagger.json エンドポイントによって返される OpenAPI スキーマを修正

  • organizationId:root のように : 文字はパラメータ名では無効です。これらの文字は - に置き換えられました。
  • /api/.well-known/endpoints/{tenantId} ルートの tenantId パラメータが生成された OpenAPI 仕様ドキュメントに欠けており、これが検証エラーを引き起こしていました。これが修正されました。

Backchannel ログアウトのサポート

OpenID Connect Back-Channel Logout 1.0 のサポートを有効にしました。

Backchannel ログアウトを登録するには、Logto コンソールのアプリケーション詳細ページに移動し、「Backchannel ログアウト」セクションを見つけます。あなたの RP の backchannel logout URL を入力し、「保存」をクリックします。

セッション要件を backchannel ログアウトのために有効にすることもできます。有効にすると、Logto はログアウトトークンに sid クレームを含めます。

プログラムによる登録の場合、アプリケーションの oidcClientMetadata オブジェクトで backchannelLogoutUribackchannelLogoutSessionRequired プロパティを設定できます。

サインイン体験

Google One Tap のサポート

Google をソーシャルコネクタとして追加した場合、Google One Tap を有効にして、Google アカウントを持つユーザーに滑らかなサインイン体験を提供できます。

Logto コンソールの Google コネクタ設定に移動し、「Google One Tap」オプションをオンにします。

Google One Tap

Google One Tap について詳しくは、Google One Tap の有効化 を参照してください。

サインイン時の手動アカウントリンクのスキップを許可

この設定は、コンソール -> サインイン体験 -> サインアップとサインイン -> ソーシャルサインイン -> 自動アカウントリンクで見つけることができます。

オンにすると、ユーザーがシステムに新しいソーシャルアイデンティティでサインインした際、同一の識別子(例:メール)を持つ既存アカウントが1つだけ存在する場合、Logto はユーザーにアカウントリンクを促す代わりに、自動的にアカウントをソーシャルアイデンティティとリンクします。

サインイン体験の利用規約ポリシーに同意

サインイン体験の利用規約ポリシーを設定できる新しい設定を追加しました:

  • Automatic: ユーザーはサービスの利用を継続することで自動的に利用規約に同意します。
  • ManualRegistrationOnly: ユーザーは登録中にチェックボックスにチェックを入れることで利用規約に同意し、サインイン時には同意する必要はありません。
  • Manual: ユーザーは登録時またはサインイン時にチェックボックスにチェックを入れることで利用規約に同意しなければなりません。

コンソールの改善

  • Ruby と Chrome 拡張ガイドを追加しました。
  • アプリケーション詳細フォームに OIDC 発行者エンドポイントを表示します。
  • アプリケーションガイドが再編成され、より良い開発者体験を提供します。
  • ユーザー設定ページでユーザーの profile プロパティを表示および更新できるようになりました。
  • Machine-to-machine アプリケーションの統合ユーザーエクスペリエンスを改善しました。
  • 監査ログで削除されたアプリケーションに関連するログにエラートーストが表示されるバグを修正しました。

その他の改善

  • カスタム JWT ユーザーコンテキストに hasPassword を追加しました。
  • コネクタ:Google と Azure AD コネクタはカスタム prompt をサポートします。
  • オーガニゼーションごとの多要素認証要件をサポート:
    • あるオーガニゼーションがメンバーに多要素認証 (MFA) を設定することを要求し、メンバーが MFA を設定していない場合、そのメンバーはオーガニゼーションアクセストークンを取得できません。
  • ライブプレビューにサインイン後、開発者パネルが利用可能です。
  • GET /api/organizations/{id}/users/{userId}/roles のページネーションはオプションになりました。page および limit クエリパラメータを提供しなかった場合、API はすべての役割を返します。
  • User.Deleted Webhook イベントにユーザー詳細データペイロードを追加しました。