# Authentication & Session Management (React Native) > OAuth2/OIDC, PKCE, refresh tokens, secure session storage, webviews vs in-app browser, biometric auth - 22 interview questions - Mid-Level - [Interview Questions: React Native](https://sharpskill.dev/en/technologies/react-native/interview-questions.md) ## 1. What is OAuth2 in the context of mobile authentication? **Answer** OAuth2 is an industry-standard authorization protocol that allows mobile applications to access user resources without exposing their credentials. It works by delegating authentication to an authorization server that issues access tokens. Unlike direct authentication where the application handles passwords, OAuth2 allows users to authenticate through a third-party provider (Google, Apple, etc.) securely. ## 2. What is the main difference between OAuth2 and OpenID Connect (OIDC)? **Answer** OAuth2 is an authorization protocol that allows obtaining access to resources, while OIDC is an identity layer built on top of OAuth2 that adds authentication. OIDC introduces the ID token which contains information about user identity (claims) in JWT format, allowing the application to know who the user is, not just that they have access to certain resources. ## 3. What is PKCE (Proof Key for Code Exchange) and why is it essential for mobile applications? **Answer** PKCE is an OAuth2 security extension that protects against authorization code interception attacks. It works by generating a random code_verifier on the client side, from which a code_challenge is derived and sent during the authorization request. When exchanging the code for a token, the original code_verifier is sent and verified by the server. This is crucial for mobile apps because they cannot keep a client_secret confidential. ## 19 more questions available - Which OAuth2 flow is recommended for React Native mobile applications? - What is the difference between an access token and a refresh token? Sign up for free: https://sharpskill.dev/en/login ## Other React Native interview topics - [JavaScript Essentials](https://sharpskill.dev/en/technologies/react-native/interview-questions/javascript-essentials.md): 25 questions, Junior - [React Fundamentals](https://sharpskill.dev/en/technologies/react-native/interview-questions/react-fundamentals.md): 20 questions, Junior - [React Native Basics](https://sharpskill.dev/en/technologies/react-native/interview-questions/react-native-basics.md): 22 questions, Junior - [React Hooks](https://sharpskill.dev/en/technologies/react-native/interview-questions/react-hooks.md): 20 questions, Junior - [TypeScript for React & React Native](https://sharpskill.dev/en/technologies/react-native/interview-questions/typescript-for-react-native.md): 22 questions, Junior - [React Native Components & API](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-components-api.md): 20 questions, Junior - [React Native Styling & Layout](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-styling-layout.md): 18 questions, Junior - [React Native Navigation](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-navigation.md): 22 questions, Mid-Level - [React Native State Management](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-state-management.md): 24 questions, Mid-Level - [React Native Networking & API](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-networking-api.md): 20 questions, Mid-Level - [Data Persistence](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-data-persistence.md): 20 questions, Mid-Level - [Forms & Validation](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-forms-validation.md): 18 questions, Mid-Level - [React Native Animations](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-animations.md): 22 questions, Mid-Level - [Native Modules & Bridge](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-native-modules.md): 20 questions, Mid-Level - [Platform-Specific Code](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-platform-specific-code.md): 18 questions, Mid-Level - [Permissions & Device APIs](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-permissions-apis.md): 20 questions, Mid-Level - [Push Notifications](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-push-notifications.md): 18 questions, Mid-Level - [React Native Testing](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-testing.md): 20 questions, Mid-Level - [React Native Debugging](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-debugging.md): 18 questions, Mid-Level - [Build & Deployment](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-build-deployment.md): 20 questions, Mid-Level - [Expo vs React Native Bare](https://sharpskill.dev/en/technologies/react-native/interview-questions/expo-vs-bare-rn.md): 18 questions, Mid-Level - [Performance Optimization](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-performance-optimization.md): 24 questions, Senior - [Memory Management](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-memory-management.md): 20 questions, Senior - [Architecture Patterns](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-architecture-patterns.md): 22 questions, Senior - [React Native New Architecture](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-new-architecture.md): 24 questions, Senior - [Security Best Practices](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-security-best-practices.md): 20 questions, Senior - [Offline-First Architecture](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-offline-first.md): 20 questions, Senior - [React Native CI/CD](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-ci-cd.md): 20 questions, Senior - [Monorepo & Code Sharing](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-monorepo-architecture.md): 18 questions, Senior - [Advanced Topics](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-advanced-topics.md): 22 questions, Senior - [App Lifecycle & Background Execution](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-app-lifecycle-background.md): 20 questions, Mid-Level - [Monitoring & Crash Reporting](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-monitoring-crash-reporting.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-auth-session-management