React Native

認証とセッション管理

OAuth2/OIDC、PKCE、refresh token、セキュアなセッション保存、webview と in-app browser、生体認証

22 面接問題·
Mid-Level
1

モバイル認証の文脈における OAuth2 とは何ですか?

回答

OAuth2 は業界標準の認可プロトコルで、モバイルアプリケーションがユーザーの認証情報を公開することなくリソースにアクセスできるようにします。認証を access token を発行する認可サーバーに委譲することで動作します。アプリケーションがパスワードを扱う直接認証とは異なり、OAuth2 ではユーザーがサードパーティのプロバイダー(Google、Apple など)を通じて安全に認証できます。

2

OAuth2 と OpenID Connect (OIDC) の主な違いは何ですか?

回答

OAuth2 はリソースへのアクセスを取得できるようにする認可プロトコルですが、OIDC は OAuth2 の上に構築された認証を追加するアイデンティティ層です。OIDC は、ユーザーのアイデンティティに関する情報(claims)を JWT 形式で含む ID token を導入し、アプリケーションがユーザーが特定のリソースにアクセスできることだけでなく、誰であるかを把握できるようにします。

3

PKCE (Proof Key for Code Exchange) とは何で、なぜモバイルアプリケーションに不可欠なのですか?

回答

PKCE は、認可コードの傍受攻撃から保護する OAuth2 のセキュリティ拡張です。クライアント側でランダムな code_verifier を生成し、そこから code_challenge を導出して認可リクエスト時に送信することで機能します。コードをトークンと交換する際に、元の code_verifier が送信され、サーバーによって検証されます。モバイルアプリは client_secret を機密に保つことができないため、これは極めて重要です。

4

React Native のモバイルアプリケーションには、どの OAuth2 flow が推奨されますか?

5

access token と refresh token の違いは何ですか?

+19 面接問題

次の面接に向けてReact Nativeをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める