-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into add-instruction-property
- Loading branch information
Showing
43 changed files
with
4,615 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: Create an issue to remind updating of security.txt | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "0 0 1 6,12 *" # Every year on 6/1 and 12/1 at 9:00am JST | ||
|
||
jobs: | ||
get_date: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 5 | ||
steps: | ||
- name: Get this month | ||
id: get_this_month | ||
run: | | ||
echo "this_month=$(date +%Y/%m)" >> "$GITHUB_OUTPUT" | ||
outputs: | ||
this_month: ${{ steps.get_this_month.outputs.this_month }} | ||
create_issue: | ||
needs: get_date | ||
uses: route06/actions/.github/workflows/create_gh_issue.yml@v2 | ||
permissions: | ||
contents: read | ||
issues: write | ||
with: | ||
title: "[Action Required] Update security.txt - ${{ needs.get_date.outputs.this_month }} Maintenance" | ||
description_template_path: .github/workflows/templates/create_issue_security_txt.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
## Summary | ||
|
||
This issue reminds you to update your `security.txt` file to comply with the latest standards and maintain its relevance. | ||
|
||
🔗 [RFC 9116: A File Format to Aid in Security Vulnerability Disclosure](https://www.rfc-editor.org/rfc/rfc9116) | ||
|
||
> The "Expires" field indicates the date and time after which the data contained in the "security.txt" file is considered stale and should not be used (as per Section 5.3). (snip) It is RECOMMENDED that the value of this field be less than a year into the future to avoid staleness. | ||
## What to do | ||
|
||
Please create a pull request to address the following tasks: | ||
|
||
* Update the `Expires` field in `security.txt` to a date less than a year in the future | ||
* Review and update any other fields in the file to ensure they remain accurate and relevant |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,35 @@ | ||
"use server"; | ||
|
||
import { getAuthCallbackUrl } from "@/app/(auth)/lib"; | ||
import { type Provider, getAuthCallbackUrl } from "@/app/(auth)/lib"; | ||
import { logger } from "@/lib/logger"; | ||
import { createClient } from "@/lib/supabase"; | ||
import { redirect } from "next/navigation"; | ||
|
||
export async function authorizeGitHub() { | ||
async function authorizeOAuth(provider: Provider) { | ||
const supabase = await createClient(); | ||
|
||
const { data, error } = await supabase.auth.signInWithOAuth({ | ||
provider: "github", | ||
provider, | ||
options: { | ||
redirectTo: getAuthCallbackUrl(), | ||
redirectTo: getAuthCallbackUrl({ provider }), | ||
}, | ||
}); | ||
logger.debug(`authorized with ${provider}`); | ||
|
||
if (error != null) { | ||
const { code, message, name, status } = error; | ||
throw new Error(`${name} occurred: ${code} (${status}): ${message}`); | ||
} | ||
logger.debug({ data: data }, `OAuth data got from ${provider}`); | ||
|
||
if (data.url) { | ||
redirect(data.url); | ||
} | ||
} | ||
|
||
export async function authorizeGitHub() { | ||
return authorizeOAuth("github"); | ||
} | ||
|
||
export async function authorizeGoogle() { | ||
return authorizeOAuth("google"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,38 @@ | ||
import { Button } from "@/components/ui/button"; | ||
import { SiGithub } from "@icons-pack/react-simple-icons"; | ||
import { googleOauthFlag } from "@/flags"; | ||
import { SiGithub, SiGoogle } from "@icons-pack/react-simple-icons"; | ||
import type { FC } from "react"; | ||
import { authorizeGitHub } from "../actions"; | ||
import { authorizeGitHub, authorizeGoogle } from "../actions"; | ||
|
||
type OauthProvidersProps = { | ||
labelPrefix: string; | ||
}; | ||
|
||
export const OAuthProviders: FC<OauthProvidersProps> = ({ labelPrefix }) => ( | ||
<div className="space-y-2"> | ||
{/* <Button asChild variant="link"> | ||
<Link href="/signup/google"> | ||
<SiGoogle className="h-[20px] w-[20px]" /> | ||
<p>Sign up with Google</p> | ||
</Link> | ||
</Button> */} | ||
{/**<button | ||
className="w-full flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-gray-700 hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-cyan-500" | ||
type="button" | ||
> | ||
<Microsoft className="h-5 w-5 mr-2" /> Sign up with Microsoft | ||
</button>**/} | ||
export const OAuthProviders: FC<OauthProvidersProps> = async ({ | ||
labelPrefix, | ||
}) => { | ||
const displayGoogleOauth = await googleOauthFlag(); | ||
|
||
<Button asChild variant="link"> | ||
<form> | ||
<SiGithub className="h-[20px] w-[20px]" /> | ||
<button type="submit" formAction={authorizeGitHub}> | ||
{labelPrefix} with GitHub | ||
</button> | ||
</form> | ||
</Button> | ||
</div> | ||
); | ||
return ( | ||
<div className="space-y-2"> | ||
{displayGoogleOauth && ( | ||
<Button asChild variant="link"> | ||
<form> | ||
<SiGoogle className="h-[20px] w-[20px]" /> | ||
<button type="submit" formAction={authorizeGoogle}> | ||
{labelPrefix} with Google | ||
</button> | ||
</form> | ||
</Button> | ||
)} | ||
<Button asChild variant="link"> | ||
<form> | ||
<SiGithub className="h-[20px] w-[20px]" /> | ||
<button type="submit" formAction={authorizeGitHub}> | ||
{labelPrefix} with GitHub | ||
</button> | ||
</form> | ||
</Button> | ||
</div> | ||
); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,18 @@ | ||
// https://supabase.com/docs/guides/auth/redirect-urls | ||
export function getAuthCallbackUrl({ next = "/" } = {}): string { | ||
import type { Provider } from "./types"; | ||
|
||
export function getAuthCallbackUrl({ | ||
next = "/", | ||
provider, | ||
}: { next?: string; provider: Provider }): string { | ||
if (!provider) { | ||
throw new Error("Provider is required"); | ||
} | ||
let url = | ||
process.env.NEXT_PUBLIC_SITE_URL ?? | ||
process.env.NEXT_PUBLIC_VERCEL_URL ?? | ||
"http://localhost:3000/"; | ||
url = url.startsWith("http") ? url : `https://${url}`; | ||
url = url.endsWith("/") ? url : `${url}/`; | ||
return `${url}auth/callback?next=${encodeURIComponent(next)}`; | ||
return `${url}auth/callback/${provider}?next=${encodeURIComponent(next)}`; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export type Provider = "github" | "google"; |
Oops, something went wrong.