Skip to content

Commit

Permalink
Merge pull request #1 from namidapoo/feat/auth
Browse files Browse the repository at this point in the history
feat: 認証実装
  • Loading branch information
namidapoo authored Dec 26, 2024
2 parents 16ee3ff + f1f78a1 commit 490764e
Show file tree
Hide file tree
Showing 12 changed files with 135 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
AUTH_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: バグレポート
about: レポートを作成して改善に役立てる
title: "[BUG] バグの内容"
labels: bug
assignees: ""
---

## バグの内容 <!-- バグの内容を明確かつ簡潔に説明してください。-->

## 再現方法 <!-- 動作を再現するための手順 -->

1.
2.

## 想定動作 <!-- 想定する動作を明確かつ簡潔に説明してください。 -->

## スクリーンショット <!-- 問題を説明するためにスクリーンショットを追加してください。-->

## 補足 <!-- 補足があれば、記述してください。 -->
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: 機能要望
about: プロジェクトに機能を要望する
title: "[FEATURE] 機能名"
labels: feature
assignees: ""
---

## 機能の説明 <!-- 実現したいことを明確かつ簡潔に説明してください。 -->

```[tasklist]
## Story
```

## 背景 <!-- この機能を追加する背景(ユーザーにどういうメリットが有るか)を明確かつ簡潔に説明してください。 -->

## 課題・検討・補足 <!-- 補足があれば、記入してください。 -->
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/story.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: ストーリー
about: ユーザーストーリー
title: "[STORY] 〜をする、〜をしたい"
labels: story
assignees: ""
---

## ストーリーの目的 <!-- このストーリーによってユーザーが得られる価値はなんでしょうか -->

## 経緯・背景 <!-- このストーリーが作られた経緯があれば記載します -->

## 実現方法/UI <!-- このストーリーを実現するための方法、UI はなんでしょうか -->

## 受入条件・完了の定義 <!-- ストーリーが達成されたことを確認する条件を箇条書きします -->

## 詳細タスク

```[tasklist]
### 調査
```

```[tasklist]
### 設計
```

```[tasklist]
### フロント実装
```

```[tasklist]
### バックエンド実装
```

```[tasklist]
### テスト
```
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/task.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: タスク
about: タスクを作成する
title: "[TASK] タスク内容"
labels: ""
assignees: ""
---

## タスク <!-- タスク内容を明確かつ簡潔に説明してください。 -->

## 資料 <!-- 資料があれば、追加してください。 -->

## 作業 <!-- 作業内容を箇条書きで記述しください。 -->

```[tasklist]
### tasks
```
16 changes: 16 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## issue <!-- #issue番号を記載してください -->

## 変更内容 <!-- 行った変更を簡略に記載してください -->

## 確認したこと <!-- 何を以て変更要件を満たしていると判断したかを記載してください -->

## スクリーンショット <!-- 変更がわかる画面があれば記載してください -->

## 補足事項 <!-- 補足で説明が必要な場合記載してください -->

## PR 時のセルフチェック <!-- PRのセルフチェックをしてください -->

- [ ] 関数や変数の命名は一目で分かるものになってますか?
- [ ] コメントは適切な量で、誰が見ても分かるコメントになってますか?
- [ ] PR 内容に関するテストは書きましたか?
- [ ] Issue の完了の定義は満たせていますか?
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ yarn-error.log*

# env files (can opt-in for committing if needed)
.env*
!.env.example

# vercel
.vercel
Expand Down
4 changes: 4 additions & 0 deletions app/api/auth/[...nextauth]/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { handlers } from "@/lib/auth";

export const runtime = "edge";
export const { GET, POST } = handlers;
Binary file modified bun.lockb
Binary file not shown.
5 changes: 5 additions & 0 deletions lib/auth.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import NextAuth from "next-auth";
import GitHub from "next-auth/providers/github";
export const { handlers, auth, signIn, signOut } = NextAuth({
providers: [GitHub],
});
14 changes: 14 additions & 0 deletions middleware.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { auth } from "@/lib/auth";
import { type NextRequest, NextResponse } from "next/server";

export async function middleware(req: NextRequest) {
const session = await auth();
if (!session) {
return NextResponse.redirect(new URL("/api/auth/signin", req.url));
}
return NextResponse.next();
}

export const config = {
matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
};
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"clsx": "^2.1.1",
"lucide-react": "^0.469.0",
"next": "15.1.2",
"next-auth": "^5.0.0-beta.25",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"tailwind-merge": "^2.5.5",
Expand Down

0 comments on commit 490764e

Please sign in to comment.