Skip to content

gonchantech/oAuth-testing-node-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OAuth 実装 Node.js アプリケーション

このプロジェクトは、Google OAuth 2.0 認証を実装した Node.js アプリケーションです。

セットアップ

1. 依存関係のインストール

npm install

2. 環境変数の設定

.envファイルを作成し、以下の環境変数を設定してください:

# Google OAuth設定
GOOGLE_DISCOVERY_ENDPOINT=https://accounts.google.com/.well-known/openid_configuration
GOOGLE_CLIENT_ID=your_google_client_id_here
GOOGLE_CLIENT_SECRET=your_google_client_secret_here
GOOGLE_REDIRECT_URI=http://localhost:3000/api/oauth/callback

# サーバー設定
PORT=3000
NODE_ENV=development

3. Google OAuth 設定

  1. Google Cloud Consoleでプロジェクトを作成
  2. OAuth 2.0 クライアント ID を作成
  3. 承認済みリダイレクト URI にhttp://localhost:3000/api/oauth/callbackを追加
  4. 取得したクライアント ID とクライアントシークレットを環境変数に設定

使用方法

開発モードで起動

npm run dev

本番モードで起動

npm start

API エンドポイント

OAuth 認可リクエスト

GET /api/oauth/authorize

このエンドポイントにアクセスすると、Google OAuth 認可ページにリダイレクトされます。

OAuth コールバック

GET /api/oauth/callback

Google OAuth 認可後にリダイレクトされるエンドポイントです。認可コードを受け取り、アクセストークンを取得します。

レスポンス例:

{
  "success": true,
  "message": "OAuth authentication successful",
  "token_type": "Bearer",
  "expires_in": 3600,
  "access_token": "ya29.a0...",
  "id_token": "eyJhbGciOiJSUzI1NiIs...",
  "scope": "openid email profile"
}

ヘルスチェック

GET /health

サーバーの状態を確認できます。

ファイル構成

  • app.js - Express.js アプリケーションのメインファイル
  • routes/oauth-request-route.js - OAuth 認可リクエストのルート
  • routes/callback-route.js - OAuth コールバック処理のルート
  • package.json - プロジェクト設定と依存関係

OAuth フロー

  1. ユーザーが /api/oauth/authorize にアクセス
  2. Google OAuth 認可ページにリダイレクト
  3. ユーザーが認可を承認
  4. Google が /api/oauth/callback に認可コード付きでリダイレクト
  5. アプリケーションが認可コードをアクセストークンと交換
  6. トークン情報を JSON レスポンスとして返却

セキュリティ注意事項

  • 本番環境では、アクセストークンを直接レスポンスに含めないでください
  • 適切なセッション管理とトークン保存を実装してください
  • 環境変数は安全に管理してください

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published