Аутентификација је кључна компонента развоја апликације. Помаже у заштити корисничких података и спречавању злонамерних активности. Једноставно речено, он одређује кредибилитет идентитета корисника, осигуравајући да само овлашћени корисници могу приступити апликацији и њеним ресурсима.
Креирање прилагођеног система за аутентификацију може бити дуготрајан задатак и ту нам НектАутх.јс добро долази. Пружа безбедну подршку за аутентификацију за апликације направљене помоћу Нект.јс оквира.
Шта је НектАутх.јс?
НектАутх.јс је лагана библиотека отвореног кода која пружа аутентификација и ауторизација подршка за Нект.јс апликације. Омогућава програмерима да брзо и лако поставе аутентификацију и ауторизацију за своје Нект.јс апликације. Пружа функције као што су аутентификација код више провајдера, е-пошта и аутентификација без лозинке.
Како НектАутх.јс функционише у аутентификацији?
Решење за аутентификацију НектАутх.јс обезбеђује АПИ на страни клијента који можете интегрисати у вашу Нект.јс апликацију. Можете га користити за аутентификацију корисника са различитим провајдерима за пријављивање код којих су креирали налоге.
Испод хаубе, корисници се преусмеравају на страницу за пријаву добављача. Након успешне аутентификације, провајдер враћа податке о сесији који садрже корисни терет корисника. Овај корисни терет тада може овластити приступ апликацији и њеним ресурсима.
Ажурирања нових функција у НектАутх.јс (в4)
У децембру 2022. НектАутх.јс је објавио своју четврту верзију. Ова верзија је побољшана у односу на своју ранију верзију, в3, са новим ажурирањима и модификацијама. Промене се углавном фокусирају на побољшање коришћења библиотеке у процесу аутентификације.
1. Ажурирања усеСессион Хоок-а
Можете користити усеСессион куку да проверите да ли је корисник пријављен или не. У овој новој верзији, усеСессион кука враћа објекат који пружа једноставнији начин за тестирање стања, захваљујући додатку опције статуса. Погледајте код испод:
увоз { усеСессион } из„нект-аутх/реацт“
извозУобичајенофункцијаСаставни део() {
конст { података: сесија, статус } = усеСессион()ако (статус "аутентификован") {
повратак<стр>Пријављени сте као {сессион.усер.емаил}стр>
}
повратак<стр> Нисте пријављени стр>
}
2. Контекст СессионПровидер постаје обавезан
Нова верзија четири налаже коришћење контекста СессионПровидер. То значи да ћете морати да умотате своју апликацију у усеСессион Провидер. НектАутх.јс препоручује да своју апликацију умотате у _апп.јск фајл.
Поред тога, метод цлиентМакАге је замењен са рефетцхИнтервал. Ово ће олакшати периодично преузимање сесије у позадини.
увоз {СессионПровидер} из„нект-аутх/реацт“
извозУобичајенофункцијаАпликација({
Компонента, пагеПропс: { сессион, ...пагеПропс },
}) {
повратак (
<СессионПровидерседница={седница}рефетцхИнтервал={5 * 60}>
<Саставни део {...пагеПропс} />СессионПровидер>
)
}
3. Увоз добављача појединачно
НектАутх.јс пружа неколико услуга провајдера које можете користити за пријављивање корисника. То укључује:
- Коришћење уграђених ОАутх добављача (нпр. ГитХуб, Гоогле).
- Коришћење добављача е-поште.
У овој новој верзији, потребно је да увезете сваког провајдера појединачно.
увоз ГооглеПровидер из„нект-аутх/провидерс/гоогле“
увоз Аутх0Провидер из"нект-аутх/провидерс/аутх0";
4. Остале мање промене
- Увоз на страни клијента је преименован у нект-аутх/реацт фром нект-аутх/цлиент.
- Промене у аргументима метода повратног позива:
пријављивање ({ корисник, налог, профил, имејл, акредитиви })
сесија ({ сесија, токен, корисник })
јвт({ токен, корисник, налог, профил, исНевУсер })
Први кораци са НектАутх.јс у аутентификацији
Да бисте интегрисали НектАутх.јс у своје Нект.јс апликације, следите доле наведене кораке:
- Направите Нект.јс апликацију тако што ћете покренути ову команду: нпк цреате-нект-апп
- Трцати нпм инсталл нект-аутх у вашем терминалу да бисте инсталирали НектАутх.јс у вашу Нект.јс апликацију.
- Посетите НектАутх.јс званичну документацију и изаберите жељеног провајдера/е са листе подржаних. Затим направите налог на конзоли за програмере вашег изабраног провајдера и региструјте своју Нект.јс апликацију.
- На конзоли за програмере вашег изабраног провајдера, наведите УРЛ кућне руте анд тхе УРЛ за преусмеравање повратног позива, сачувајте промене и копирајте ИД клијента и Цлиент Сецрет.
- У основном директоријуму апликације Нект.јс, креирајте .енв датотеку која ће чувати ИД клијента и Цлиент Сецрет.
- На крају, у директоријуму /пагес/апи креирајте нову фасциклу под називом аутх. У фасцикли аутх, креирајте нову датотеку и назовите је [...нектаутх].јс. У креирану датотеку додајте код испод. Код приказује НектАутх.јс АПИ на страни клијента помоћу Гоогле провајдера:
увоз ГооглеПровидер из„нект-аутх/провидерс/гоогле“;
провајдери: [
Гоогле провајдер({
ИД клијента: процес.енв.ГООГЛЕ_ЦЛИЕНТ_ИД,
цлиентСецрет: процес.енв.ГООГЛЕ_ЦЛИЕНТ_СЕЦРЕТ
})
]
Сада можете да направите страницу за потврду идентитета. Ево ДОМ приказа за компоненту за пријаву:
увоз Реаговати из'реаговати';
увоз { усеСессион, сигнИн, сигнОут } из„нект-аутх/реацт“извозУобичајенофункцијаСаставни део() {
конст { података: сесија } = усеСессион()иф (сессион) {
повратак (
<>
<стр> Пријављени сте као {сессион.усер.емаил} стр>
<дугмеонЦлицк={() => сигнОут()}>Одјавадугме>
)
}
повратак (
<>
<стр> Нисте пријављени стр>
<дугмеонЦлицк={() => сигнИн()}>Пријави седугме>
)
}
Тхе усеСессион Хоок приступа објекту тренутне корисничке сесије. Када се корисник пријави и када га Гоогле потврди аутентичност, враћа се објекат сесије са корисним оптерећењем корисника. Ово омогућава Нект.јс-у да прикаже корисничке детаље на страни клијента апликације, у овом случају е-пошту.
Прилагођени системи аутентификације вс. Решења спремна за употребу као што је НектАутх.јс
Бирање између изградње прилагођеног система за аутентификацију и интеграције аутентификације спремне за употребу решење као што је НектАутх.јс, важно је узети у обзир цену, сложеност и безбедност сваког од њих решење.
Ако имате ресурсе и стручност да развијете прилагођени систем аутентификације, то би могао бити најбољи приступ за вас. Међутим, ако тражите готово решење које је лако имплементирати, безбедно и исплативо, онда НектАутх.јс може бити добар избор за разматрање. На крају крајева, избор ће зависити од ваших потреба и преференција.