Fix user session error
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import {useCallback, useEffect, useState} from 'react'
|
import {useCallback, useEffect, forwardRef, useState} from 'react'
|
||||||
import {styled} from '@mui/material/styles'
|
import {styled} from '@mui/material/styles'
|
||||||
import PropTypes from 'prop-types'
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
import {useSession} from 'next-auth/react'
|
||||||
import {
|
import {
|
||||||
Box,
|
Box,
|
||||||
Button,
|
Button,
|
||||||
@@ -56,13 +56,14 @@ const textLabels = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Alert(props) {
|
const Alert = forwardRef(function Alert(props, ref) {
|
||||||
return <MuiAlert elevation={6} variant='filled' {...props} />
|
return <MuiAlert ref={ref} elevation={6} variant='filled' {...props} />
|
||||||
}
|
})
|
||||||
|
|
||||||
const RemoveTooltip = Tooltip
|
const RemoveTooltip = Tooltip
|
||||||
|
|
||||||
function EkriTeks({session}) {
|
function EkriTeks() {
|
||||||
|
const {data: session} = useSession()
|
||||||
const {jwt, user} = session
|
const {jwt, user} = session
|
||||||
const [teksEkri, setTeksEkri] = useState({awtis: '', tit: '', transkripsyon: ''})
|
const [teksEkri, setTeksEkri] = useState({awtis: '', tit: '', transkripsyon: ''})
|
||||||
const [tradiksyon, setTradiksyon] = useState({fr: '', en: '', es: ''})
|
const [tradiksyon, setTradiksyon] = useState({fr: '', en: '', es: ''})
|
||||||
@@ -289,8 +290,4 @@ function EkriTeks({session}) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
EkriTeks.propTypes = {
|
|
||||||
session: PropTypes.object.isRequired
|
|
||||||
}
|
|
||||||
|
|
||||||
export default EkriTeks
|
export default EkriTeks
|
||||||
|
|||||||
@@ -32,6 +32,26 @@ const options = {
|
|||||||
session: {
|
session: {
|
||||||
strategy: 'jwt'
|
strategy: 'jwt'
|
||||||
},
|
},
|
||||||
|
callbacks: {
|
||||||
|
async jwt({token, user, account}) {
|
||||||
|
if (user) {
|
||||||
|
const response = await fetch(
|
||||||
|
`${process.env.NEXT_PUBLIC_API_URL}/auth/${account.provider}/callback?access_token=${account?.accessToken}`
|
||||||
|
)
|
||||||
|
const data = await response.json()
|
||||||
|
token.id = data.id || user.id
|
||||||
|
token.jwt = data.jwt || user.jwt
|
||||||
|
token.user = data.user || user.user
|
||||||
|
}
|
||||||
|
|
||||||
|
return Promise.resolve(token)
|
||||||
|
},
|
||||||
|
async session({session, token}) {
|
||||||
|
session.jwt = token.jwt
|
||||||
|
session.user = token.user
|
||||||
|
return Promise.resolve(session)
|
||||||
|
}
|
||||||
|
},
|
||||||
pages: {
|
pages: {
|
||||||
signIn: '/soumet',
|
signIn: '/soumet',
|
||||||
error: '/soumet'
|
error: '/soumet'
|
||||||
|
|||||||
Reference in New Issue
Block a user