mirror of
https://github.com/gethomepage/homepage.git
synced 2026-02-07 16:30:52 +08:00
always /
[ci skip]
This commit is contained in:
@@ -18,7 +18,7 @@ export async function middleware(req) {
|
|||||||
const token = await getToken({ req, secret: authSecret });
|
const token = await getToken({ req, secret: authSecret });
|
||||||
if (!token) {
|
if (!token) {
|
||||||
const signInUrl = new URL("/auth/signin", req.url);
|
const signInUrl = new URL("/auth/signin", req.url);
|
||||||
signInUrl.searchParams.set("callbackUrl", req.url);
|
signInUrl.searchParams.set("callbackUrl", "/");
|
||||||
return NextResponse.redirect(signInUrl);
|
return NextResponse.redirect(signInUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
import { getProviders, signIn } from "next-auth/react";
|
import { getProviders } from "next-auth/react";
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
import { BiShieldQuarter } from "react-icons/bi";
|
import { BiShieldQuarter } from "react-icons/bi";
|
||||||
|
|
||||||
import { getSettings } from "utils/config/config";
|
import { getSettings } from "utils/config/config";
|
||||||
|
|
||||||
export default function SignIn({ providers, callbackUrl, settings }) {
|
export default function SignIn({ providers, settings }) {
|
||||||
const theme = settings?.theme || "dark";
|
const theme = settings?.theme || "dark";
|
||||||
const color = settings?.color || "slate";
|
const color = settings?.color || "slate";
|
||||||
const title = settings?.title || "Homepage";
|
const title = settings?.title || "Homepage";
|
||||||
@@ -136,7 +136,6 @@ export default function SignIn({ providers, callbackUrl, settings }) {
|
|||||||
<button
|
<button
|
||||||
key={provider.id}
|
key={provider.id}
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => signIn(provider.id, { callbackUrl: callbackUrl || "/" })}
|
|
||||||
className="group w-full rounded-xl bg-theme-600 px-4 py-3 text-sm font-semibold text-white shadow-lg shadow-theme-600/20 transition hover:-translate-y-0.5 hover:bg-theme-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-theme-500"
|
className="group w-full rounded-xl bg-theme-600 px-4 py-3 text-sm font-semibold text-white shadow-lg shadow-theme-600/20 transition hover:-translate-y-0.5 hover:bg-theme-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-theme-500"
|
||||||
>
|
>
|
||||||
<span className="flex items-center justify-center gap-2">Login via {provider.name} →</span>
|
<span className="flex items-center justify-center gap-2">Login via {provider.name} →</span>
|
||||||
@@ -154,9 +153,8 @@ export default function SignIn({ providers, callbackUrl, settings }) {
|
|||||||
|
|
||||||
export async function getServerSideProps(context) {
|
export async function getServerSideProps(context) {
|
||||||
const providers = await getProviders();
|
const providers = await getProviders();
|
||||||
const callbackUrl = context?.query?.callbackUrl ?? "/";
|
|
||||||
const settings = getSettings();
|
const settings = getSettings();
|
||||||
return {
|
return {
|
||||||
props: { providers, callbackUrl, settings },
|
props: { providers, settings },
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user