NUXT의 대체 인증 모듈
이 모듈은 @nuxtjs/auth의 대안으로 의미합니다. 이는 거꾸로 호환성 지원이없는 nuxt3에 대한 것이라는 점을 제외하고.
@nuxt-alt/auth 및 @nuxt-alt/http 종속성을 프로젝트에 추가하십시오 yarn add @nuxt-alt/auth @nuxt-alt/httpnuxt.config.ts 의 modules 섹션에 @nuxt-alt/auth 및 @pinia/nuxt 추가하십시오. 참고 : @nuxt-alt/http 지정할 필요는 없으며 자동으로 추가되지만 수동으로 추가하려면 인증 모듈 아래에 있는지 확인하십시오 (사용중인 경우 프록시 모듈 위). 또한 Pinia는 기본적으로 nuxt의 useState 사용할 필요가 없습니다.
export default defineNuxtConfig ( {
modules : [
'@nuxt-alt/auth'
] ,
auth : {
/* module options */
}
} ) ; 문서를 읽으십시오
모듈은 이제 '@nuxt-alt/http'를 사용하여 작동하며 모듈은 OhmyFetch를 확장합니다. 데이터를 게시하기 위해 data 사용하는 경우 ohmyfetch 사용하는 것이므로 body 사용해야합니다. SSR을 사용하려는 경우 @nuxt-alt/proxy 모듈을 사용하는 것을 고려하십시오.
useAuth() composable은 인증 메소드에 액세스하는 데 사용할 수 있습니다.
대부분의 옵션은 @nuxtjs/auth 모듈에서 직접 가져옵니다. 또한 몇 가지 추가 옵션이 있습니다.
globalMiddlewareBooleanfalse전 세계적으로 사용할 미들웨어를 활성화/비활성화합니다.
enableMiddlewareBooleantrue내장형 미들웨어를 활성화/비활성화합니다.
stores.state.namespaceStringauth이것은 nuxt usestate에 사용할 네임 스페이스입니다.
stores.pinia.enabledBooleanfalse 이 옵션을 사용하여 Pinia Store를 사용하려면 Bey Default이 옵션이 비활성화되고 Nuxt의 useState 대신 사용됩니다.
stores.pinia.namespaceStringauth이것은 Pinia 매장에 사용할 네임 스페이스입니다.
stores.local.enabledBooleantrue이 옵션을 사용하여 LocalStorage Store를 사용하십시오.
stores.local.prefixStringauth.이것은 LocalStorage Prefix를 설정합니다.
stores.session.enabledBooleantrue이 옵션을 사용하여 SessionStorage Store를 사용하십시오.
stores.session.prefixStringauth.LocalStorage 옵션과 유사하게 세션 스토리지의 접두사입니다.
stores.cookie.enabledBooleantrue이 옵션을 사용하여 쿠키 스토리지를 사용하십시오.
stores.cookie.prefixStringauth.LocalStorage 옵션과 유사하게 쿠키 스토리지의 접두사입니다.
stores.cookie.optionsObject{ path: '/' }기본 쿠키 스토리지 옵션.
redirectStrategyquery | storagestorage 사용하려는 리디렉션 전략 유형, 리디렉션에 대한 storage Utilizng LocalStorage, Route Query 매개 변수를 사용하는 query .
tokenValidationIntervalBoolean | Numberfalse이것은 실험적입니다. true로 설정된 경우 기본 간격은 1000ms이며 그렇지 않으면 밀리 초로 시간을 설정하십시오. 이것은 만료를 위해 토큰을 검증하려고 시도한 모듈의 빈도입니다.
resetOnResponseErrorBoolean | Functionfalse활성화되면 응답에 401 오류가 발생하면 재설정됩니다. 이것을 직접 처리하기 위해 기능으로 바꿀 수 있습니다.
auth: {
//... module options
resetOnResponseError : ( error , auth , scheme ) => {
if ( error . response . status === 401 ) {
scheme . reset ?. ( )
auth . redirect ( 'login' )
}
} ,
} 사용자 정보는 TypeScript의 경우 SO처럼 편집 할 수 있습니다.
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
} 인증 토큰 외에도;
기본적으로 $auth.strategy getter는 token 또는 refreshToken 속성 유형이없는 Scheme 유형을 사용합니다. 이를 돕기 위해 타이핑을 위해 $auth.refreshStrategy 및 $auth.tokenStrategy getter가 추가되었습니다. 그들은 모두 똑같은 일을합니다. 이것은 단지 유형 힌트를위한 것입니다.
OAUTH2는 이제이 풀 요청 덕분에 클라이언트 창 인증을 받았습니다. nuxt-community/auth-module#1746
속성은 다음으로 변경되었습니다.
clientWindowBooleanfalse클라이언트 인증에 팝업 사용을 활성화/비활성화합니다.
clientWidthNumber400클라이언트 창의 너비.
clientHieghtNumber600클라이언트 창의 너비.
nuxt 내에서 사용할 수있는 별칭
#auth/runtime#auth/utils#auth/providers