🛂 Auto ban IP on suspected bot publishing (#1095)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced sign-in error handling with specific messages for different error types. - Implemented IP-based restrictions for authentication and publishing actions. - **Bug Fixes** - Updated the retrieval of user session information to improve reliability. - **Documentation** - Updated usage instructions for `getServerSession` to reflect the new authentication options. - **Refactor** - Replaced direct usage of `authOptions` with a new function `getAuthOptions` to dynamically generate authentication options. - Improved IP address extraction logic to handle various header formats. - **Chores** - Added a new `BannedIp` model to the database schema for managing IP-based restrictions. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -2,7 +2,7 @@ import { getServerSession } from 'next-auth'
|
||||
import { User } from '@typebot.io/prisma'
|
||||
import { isNotDefined } from '@typebot.io/lib'
|
||||
import { sign } from 'jsonwebtoken'
|
||||
import { authOptions } from '../api/auth/[...nextauth]'
|
||||
import { getAuthOptions } from '../api/auth/[...nextauth]'
|
||||
import { GetServerSidePropsContext } from 'next'
|
||||
import { env } from '@typebot.io/env'
|
||||
|
||||
@@ -11,7 +11,11 @@ export default function Page() {
|
||||
}
|
||||
|
||||
export async function getServerSideProps(context: GetServerSidePropsContext) {
|
||||
const session = await getServerSession(context.req, context.res, authOptions)
|
||||
const session = await getServerSession(
|
||||
context.req,
|
||||
context.res,
|
||||
getAuthOptions({})
|
||||
)
|
||||
const feedbackId = context.query.feedbackId?.toString() as string
|
||||
if (isNotDefined(session?.user))
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user