Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Expo Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Expo Intro
  • Expo vs React Native
  • RN Basics
  • Environment Setup
  • Project Setup
  • Project Structure
  • App Config
  • Expo Router Intro
  • Stack Navigation
  • Tabs Navigation
  • Core Components
  • Styling & Flexbox
  • Safe Area
  • Scroll & Lists
  • Forms & State
  • AsyncStorage
  • Project: Task Actions
  • Project: Screens
  • Images & Assets
  • Icons & Fonts
  • Theming
  • Camera & Picker
  • Notifications
  • Location & Maps
  • SQLite
  • API & Fetch
  • Loading & Errors
  • Secure Store & Auth
  • Auth Session
  • AppState & Network
  • Performance
  • Debugging & Tests
  • Config & Env
  • Splash & Updates
  • EAS Build
  • EAS Update
  • Store Submission
  • Common Mistakes
  • Best Practices
  • Interview Questions
  1. Docs
  2. Expo
  3. expo-auth-session — OAuth (Google) login
ExpoAdvanced

expo-auth-session — OAuth (Google) login

PKCE-based OAuth flow — expo-auth-session দিয়ে sign-in।

6টি অংশবাংলা ভাষায়

তৃতীয়-পক্ষ OAuth (Google, GitHub)-এ `expo-auth-session` — PKCE + deep-link redirect-এর standard flow।

terminalbash
bash
npx expo install expo-auth-session expo-web-browser
lib/useGoogleAuth.tsts
ts
import * as AuthSession from "expo-auth-session";
import * as WebBrowser from "expo-web-browser";

WebBrowser.maybeCompleteAuthSession();

const config = {
  clientId: "YOUR_CLIENT_ID",
  scopes: ["openid", "profile", "email"],
  redirectUri: AuthSession.makeRedirectUri({ scheme: "tasktrack" }),
};

export function useGoogleAuth() {
  return AuthSession.useAuthRequest({
    ...config,
    authorizationEndpoint:
      "https://accounts.google.com/o/oauth2/v2/auth",
    tokenEndpoint: "https://oauth2.googleapis.com/token",
  });
}

redirectUri — tasktrack:// — app.json-এ scheme আগে থেকেই ঠিক আছে। Result handle:

const [request, response, promptAsync] = useGoogleAuth();

useEffect(() => {
  if (response?.type === "success") {
    const token = response.params.access_token;
    saveToken(token);
  }
}, [response]);

promptAsync(); // button-এ call করবেন
client secret নয়

Mobile OAuth = public client — client_secret কখনও অ্যাপ-এ রাখবেন না। Token server-এ verify করে session complete করুন (PKCE safety)।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরexpo-secure-store — token ধরে রাখা ও login gateপরেরAppState, expo-network ও offline handling
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com