このページの Q&A は、認証情報マネージャーの実装の詳細について理解を深めることが目的です。
皆様からのフィードバックは、認証マネージャー API の改善に欠かせない要素です。次のリンクを使用して、見つかった問題や API の改善に向けたアイデアを共有してください。
統合
アプリ認証のために別の Jetpack ライブラリが必要なのはなぜですか?
Jetpack 認証情報マネージャー ライブラリは、Android の全バージョンに対して、統合されたログイン エクスペリエンスを提供します。また、最新機能を含むタイムリーなアップデートを入手することもできます。下位互換性があり、Android 4.4 以降では一般的なサポートが提供され、Android 9 以降ではパスキーがサポートされています。
これらの認証情報の取得元を教えてください。
認証情報は、認証情報プロバイダとパスワード マネージャーから取得します。たとえば、認証情報マネージャーと統合されてユーザーが有効にした Google パスワード マネージャーなどからです。パスキーに関しては、ユーザーはハイブリッド フローを使用して別のデバイスからパスキーを取得することもできます。
認証情報マネージャーの方が適しているユースケースと、実装が必要とされるユースケースとの違いを教えてください。
Credential Manager は、複数のログイン方法に対して一元化されたユーザー インターフェースを提供する統合 API で、シームレスで安全な認証フローの管理方法を提供します。これには、さまざまなメリットがあります。
- ユーザーはすべての認証情報を 1 か所で確認できます。パスキー、パスワード、「Google でログイン」などのフェデレーションの認証情報も、3 か所をタップすることなく確認できるのです。
各アカウントへのログイン方法を統合することで、簡単にログインできるようになります。
また、Android 14 デバイスでは、ユーザー インターフェースには最も安全でシンプルな認証方法のみが表示されます。たとえば、ユーザーが同じアカウントのパスキーとパスワードの両方を持っている場合、アカウント選択ツールにはパスキーのみが表示されます。
1 つの API で複数のログイン メカニズムをサポートします。Android アプリではパスキーがサポートされるため、パスワード不要の未来に移行できます。また、パスワードと「Google でログイン」などのフェデレーション ログインもサポートしているため、統合の要件と継続的なメンテナンスが簡素化されます。
統合中に追加する依存関係が複数ありますが、複数の依存関係が必要ですか?同じことを達成するために、依存関係を 1 つだけ持たせることはできないのですか?
必要な依存関係が 1 つと省略可能な依存関係が 1 つあります。これらのアプリには、ユースケースに応じて異なるものが含まれています。
- [必須] androidx.credentials:credentials: パスワードやパスキーのサポートなど、認証情報マネージャーのコア機能が含まれます。
- [省略可] androidx.credentials:credentials-play-services-auth: Google Play 開発者サービスの認証情報マネージャーに対するサポートを提供し、古いデバイスで API を使用できるようにします。
認証情報マネージャーは、別のデバイスからの認証情報の使用をサポートしていますか?
認証情報マネージャーは、ハイブリッド トランスポートを通じてクロスデバイス パスキーの使用をサポートしています。
デベロッパーは、認証情報マネージャーを使用して登録フローとログインフローとを 1 つの API 呼び出しに統合できますか?
現在は計画されていません。
UX
ユーザーが、認証情報マネージャーに登録されていないプロバイダをすでにセットアップしている場合、ユーザーにはどのような UX が表示されますか?
認証情報マネージャーに登録されていないプロバイダは、引き続き自動入力フレームワークで動作し、キーボードとプルダウン メニューに候補を表示します。
その他
すでにさまざまなログイン オプションがあり、画面ロックも設定しているのに、認証情報マネージャーが必要なのはなぜですか?
Android デバイスでは、アプリとウェブサイトの認証を容易にするさまざまなソリューションを用意しています。各アプリにソリューションの異なる組み合わせを統合すると、ユーザー エクスペリエンスが大幅に異なる場合があります。
認証情報マネージャーは、ユーザーが使用するログイン方法、またはアプリがサポートしているログイン方法(ユーザー名とパスワード、パスキー、フェデレーション ID)に関係なく、Android のサードパーティ サービスに対して、一貫した整合性のあるログイン ユーザー エクスペリエンスを提供します。
認証情報マネージャーを通じたパスキーを使用して、どのような特定のユーザー要件に対応しますか?
- ユーザーは、複雑なパスワードを作成して覚える必要がなくなります。
- フィッシング耐性のあるログイン フォームを作成し、ユーザーのセキュリティを強化します。
重大なバグに対するアップデートがリリースされるまでに、どれくらいの時間がかかりますか?
Jetpack は隔週でリリースされます。プラットフォームには、バグの種類と重大度に応じて、セキュリティ リリース、四半期リリース、デザート リリースがあります。詳しくは、Jetpack リリース プロセスをご覧ください。
統合後のパフォーマンス(アプリの起動時間)に影響はありますか?
認証情報マネージャーのログインフローを初期化するタイミングを賢く選択し、API の初期化後にアプリのパフォーマンスを測定することをおすすめします。
この API は Android Go デバイスに対応していますか?
はい、この API は Android Go デバイスに対応しています。
デベロッパーがログインに SMS OTP またはフェデレーション ID を使用する場合、それは認証情報マネージャーでもサポートされていますか?
認証情報マネージャーは、ログイン方法としてパスキー、パスワード、Google ID トークンをサポートしています。Google ID トークンは、登録ワークフローにも使用できます。