Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages