React Native

Автентифікація та керування сесіями

OAuth2/OIDC, PKCE, refresh-токени, безпечне зберігання сесій, webview проти in-app browser, біометрична автентифікація

22 питань зі співбесід·
Mid-Level
1

Що таке OAuth2 у контексті мобільної автентифікації?

Відповідь

OAuth2 — це галузевий стандартний протокол авторизації, який дозволяє мобільним застосункам отримувати доступ до ресурсів користувача без розкриття його облікових даних. Він працює шляхом делегування автентифікації серверу авторизації, що видає access-токени. На відміну від прямої автентифікації, де застосунок обробляє паролі, OAuth2 дозволяє користувачеві автентифікуватися через стороннього постачальника (Google, Apple тощо) безпечним способом.

2

Яка основна різниця між OAuth2 та OpenID Connect (OIDC)?

Відповідь

OAuth2 — це протокол авторизації, який дозволяє отримати доступ до ресурсів, тоді як OIDC — це рівень ідентифікації, побудований поверх OAuth2, який додає автентифікацію. OIDC впроваджує ID token, що містить інформацію про особу користувача (claims) у форматі JWT, завдяки чому застосунок може дізнатися, ким є користувач, а не лише те, що він має доступ до певних ресурсів.

3

Що таке PKCE (Proof Key for Code Exchange) і чому він є необхідним для мобільних застосунків?

Відповідь

PKCE — це розширення безпеки OAuth2, яке захищає від атак перехоплення коду авторизації. Воно працює шляхом генерації випадкового code_verifier на боці клієнта, з якого виводиться code_challenge, що надсилається під час запиту авторизації. Під час обміну коду на token надсилається оригінальний code_verifier, який сервер перевіряє. Це критично важливо для мобільних застосунків, оскільки вони не можуть зберігати client_secret конфіденційним.

4

Який OAuth2 flow рекомендований для мобільних застосунків React Native?

5

Яка різниця між access token і refresh token?

+19 питань зі співбесід

Інші теми співбесід React Native

Основи JavaScript

Junior
25 запитань

Основи React

Junior
20 запитань

Основи React Native

Junior
22 запитань

React Hooks

Junior
20 запитань

TypeScript для React та React Native

Junior
22 запитань

Компоненти та API React Native

Junior
20 запитань

Стилізація та макет у React Native

Junior
18 запитань

Навігація в React Native

Mid-Level
22 запитань

Управління станом у React Native

Mid-Level
24 запитань

Networking та API в React Native

Mid-Level
20 запитань

Збереження даних

Mid-Level
20 запитань

Форми та валідація

Mid-Level
18 запитань

Анімації React Native

Mid-Level
22 запитань

Native Modules & Bridge

Mid-Level
20 запитань

Код, специфічний для платформи

Mid-Level
18 запитань

Дозволи та API пристрою

Mid-Level
20 запитань

Push Notifications

Mid-Level
18 запитань

Тестування React Native

Mid-Level
20 запитань

Налагодження React Native

Mid-Level
18 запитань

Build & Deployment

Mid-Level
20 запитань

Expo vs React Native Bare

Mid-Level
18 запитань

Оптимізація продуктивності

Senior
24 запитань

Управління пам'яттю

Senior
20 запитань

Architecture Patterns

Senior
22 запитань

React Native New Architecture

Senior
24 запитань

Найкращі практики безпеки

Senior
20 запитань

Offline-First Architecture

Senior
20 запитань

CI/CD React Native

Senior
20 запитань

Monorepo та спільне використання коду

Senior
18 запитань

Складні теми

Senior
22 запитань

Життєвий цикл застосунку та фонове виконання

Mid-Level
20 запитань

Monitoring & Crash Reporting

Senior
20 запитань

Опануй React Native для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно