اذهب إلى المحتوى

السؤال

نشر

أحاول اكتشاف طريقة مناسبة لإجراء المصادقة و المصادقة الخاصة بي بسيطة أقوم بتخزين رمز JWT في session أرسله إلى خادم مختلف للموافقة عليه. إذا عدت إلى true فإننا نستمر  إذا عدت false  فإنه يمسح session ويذهب في الصفحة الرئيسية.

function isAuthenticated(req, res, next) {
  //checks go here

  //if (req.user.authenticated)
   // return next();

 
  res.redirect('/');
}

server.get('/p/:id', isAuthenticated, (req, res) => {
  const actualPage = '/post'
  const queryParams = { id: req.params.id }
  app.render(req, res, actualPage, queryParams)
})

هذا يعمل على النحو المصمم. إذا قمت بتحديث الصفحة / p / 123 ، فستتم إعادة التوجيه إلى /. ومع ذلك ، إذا ذهبت إلى هناك عبر Link فلن يحدث ذلك  الذي أعتقد أنه لا يستخدم express في هذه المرحلة ولكن التوجيه المخصص ل next.

هل هناك طريقة يمكنني من خلالها إجراء فحص لكل  انتقال ل Link  أتمكن من التأكد من تسجيل المستخدم للدخول؟

Recommended Posts

  • 1
نشر

تأكد من كتابة Link في next.js على النحو التالي أي الخاصيتين href و as

<Link href="/product?slug=something" as="/products/something"> 
<Link href="/user?id=id" as="/user/id"> 

  
<Link prefetch href={`/user?id=${this.props.id}`} as={`/user/${this.props.id}`} >
   <div>some content</div>
 </Link> 

لتصبح:

<Link prefetch href={{pathname: '/speaker', query: {id: props.id}}} as={`/speaker/${this.props.id}`} >
   <div>some content</div>
 </Link> 

وإن كنت الصفحة لديك بالشكل:

pages/user/[id].js

قم بتعريف المسار بالشكل:

<Link href={`/user/[id]`} as={`/user/${id}`}>

إن وجدت حلاً مختلفاً يمكنك إرفاقه

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...