ამ განყოფილებაში ჩვენ გაგიწევთ ხელმძღვანელობას მომხმარებლის ავტორიზაციისა და წვდომის კონტროლის განხორციელებაში თქვენს აპლიკაციაში Next.js. თქვენ შეისწავლით როგორ მიაღწიოთ მომხმარებლის უსაფრთხო შესვლას და მომხმარებლის ნებართვების ეფექტურ მართვას ისეთი სერვისების გამოყენებით, როგორიცაა Firebase ან Auth0.
მომხმარებლის ავტორიზაცია Firebase
Firebase გთავაზობთ ინსტრუმენტების ყოვლისმომცველ კომპლექტს ავტორიზაციის სისტემების შესაქმნელად. ქვემოთ მოცემულია მაგალითი, თუ როგორ უნდა დააყენოთ მომხმარებლის ავტორიზაცია Firebase თქვენს Next.js აპლიკაციაში:
დააყენეთ Firebase პროექტი და ჩართეთ ავთენტიფიკაციის სერვისები.
დააინსტალირეთ Firebase JavaScript SDK:
npm install firebase
დააკონფიგურირეთ Firebase თქვენს აპლიკაციაში:
import firebase from 'firebase/app';
import 'firebase/auth';
const firebaseConfig = {
apiKey: 'YOUR_API_KEY',
authDomain: 'YOUR_AUTH_DOMAIN',
projectId: 'YOUR_PROJECT_ID',
storageBucket: 'YOUR_STORAGE_BUCKET',
messagingSenderId: 'YOUR_MESSAGING_SENDER_ID',
appId: 'YOUR_APP_ID',
};
if(!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
}
მომხმარებლის ავთენტიფიკაციის განხორციელება:
import firebase from 'firebase/app';
import 'firebase/auth';
// Sign up with email and password
const signUpWithEmail = async(email, password) => {
try {
await firebase.auth().createUserWithEmailAndPassword(email, password);
} catch(error) {
console.error(error);
}
};
// Sign in with email and password
const signInWithEmail = async(email, password) => {
try {
await firebase.auth().signInWithEmailAndPassword(email, password);
} catch(error) {
console.error(error);
}
};
მომხმარებლის ავთენტიფიკაცია Auth0-ით
Auth0 არის ავტორიზაციისა და ავტორიზაციის პლატფორმა, რომელიც აადვილებს მომხმარებლის უსაფრთხო ავთენტიფიკაციის ინტეგრირებას თქვენს აპლიკაციაში. აი, როგორ შეგიძლიათ გამოიყენოთ Auth0 მომხმარებლის ავთენტიფიკაციისთვის თქვენს Next.js აპლიკაციაში:
დარეგისტრირდით Auth0 ანგარიშზე და შექმენით აპლიკაცია.
დააინსტალირეთ Auth0 SDK:
npm install @auth0/auth0-react
დააკონფიგურირეთ Auth0 თქვენს აპლიკაციაში:
import { Auth0Provider } from '@auth0/auth0-react';
const Auth0ProviderWithHistory =({ children }) => {
const domain = 'YOUR_AUTH0_DOMAIN';
const clientId = 'YOUR_CLIENT_ID';
return(
<Auth0Provider
domain={domain}
clientId={clientId}
redirectUri={window.location.origin}
>
{children}
</Auth0Provider>
);
};
მომხმარებლის ავთენტიფიკაციის განხორციელება:
import { useAuth0 } from '@auth0/auth0-react';
function AuthButton() {
const { isAuthenticated, loginWithRedirect, logout } = useAuth0();
if(isAuthenticated) {
return <button onClick={() => logout()}>Log out</button>;
} else {
return <button onClick={() => loginWithRedirect()}>Log in</button>;
}
}
წვდომის კონტროლი და ავტორიზაცია
ავტორიზაციის გარდა, წვდომის კონტროლი და ავტორიზაცია უზრუნველყოფს, რომ მომხმარებლებს ჰქონდეთ შესაბამისი ნებართვები თქვენი აპლიკაციის გარკვეულ ნაწილებზე წვდომისთვის. თქვენ შეგიძლიათ მართოთ მომხმარებლის როლები და ნებართვები Firebase მომხმარებლის ატრიბუტების საფუძველზე მორგებული ავტორიზაციის ლოგიკის გამოყენებით ან დანერგვით.
დასკვნა
ამ სექციამ გაჩვენა, თუ როგორ უნდა განახორციელოთ მომხმარებლის ავტორიზაცია და წვდომის კონტროლი თქვენს Next.js აპლიკაციაში ისეთი სერვისების გამოყენებით, როგორიცაა Firebase ან Auth0. მომხმარებლის უსაფრთხო შესვლების უზრუნველყოფით და მომხმარებლის ნებართვების ეფექტური კონტროლით, შეგიძლიათ შექმნათ უფრო უსაფრთხო და მორგებული მომხმარებლის გამოცდილება თქვენს აპლიკაციაში.