NUXT의 대체 인증 모듈
이 모듈은 @nuxtjs/auth의 대안으로 의미합니다. 이는 거꾸로 호환성 지원이없는 nuxt3에 대한 것이라는 점을 제외하고.
@nuxt-alt/auth
및 @nuxt-alt/http
종속성을 프로젝트에 추가하십시오 yarn add @nuxt-alt/auth @nuxt-alt/http
nuxt.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 모듈에서 직접 가져옵니다. 또한 몇 가지 추가 옵션이 있습니다.
globalMiddleware
Boolean
false
전 세계적으로 사용할 미들웨어를 활성화/비활성화합니다.
enableMiddleware
Boolean
true
내장형 미들웨어를 활성화/비활성화합니다.
stores.state.namespace
String
auth
이것은 nuxt usestate에 사용할 네임 스페이스입니다.
stores.pinia.enabled
Boolean
false
이 옵션을 사용하여 Pinia Store를 사용하려면 Bey Default이 옵션이 비활성화되고 Nuxt의 useState
대신 사용됩니다.
stores.pinia.namespace
String
auth
이것은 Pinia 매장에 사용할 네임 스페이스입니다.
stores.local.enabled
Boolean
true
이 옵션을 사용하여 LocalStorage Store를 사용하십시오.
stores.local.prefix
String
auth.
이것은 LocalStorage Prefix를 설정합니다.
stores.session.enabled
Boolean
true
이 옵션을 사용하여 SessionStorage Store를 사용하십시오.
stores.session.prefix
String
auth.
LocalStorage 옵션과 유사하게 세션 스토리지의 접두사입니다.
stores.cookie.enabled
Boolean
true
이 옵션을 사용하여 쿠키 스토리지를 사용하십시오.
stores.cookie.prefix
String
auth.
LocalStorage 옵션과 유사하게 쿠키 스토리지의 접두사입니다.
stores.cookie.options
Object
{ path: '/' }
기본 쿠키 스토리지 옵션.
redirectStrategy
query | storage
storage
사용하려는 리디렉션 전략 유형, 리디렉션에 대한 storage
Utilizng LocalStorage, Route Query 매개 변수를 사용하는 query
.
tokenValidationInterval
Boolean | Number
false
이것은 실험적입니다. true로 설정된 경우 기본 간격은 1000ms이며 그렇지 않으면 밀리 초로 시간을 설정하십시오. 이것은 만료를 위해 토큰을 검증하려고 시도한 모듈의 빈도입니다.
resetOnResponseError
Boolean | Function
false
활성화되면 응답에 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
속성은 다음으로 변경되었습니다.
clientWindow
Boolean
false
클라이언트 인증에 팝업 사용을 활성화/비활성화합니다.
clientWidth
Number
400
클라이언트 창의 너비.
clientHieght
Number
600
클라이언트 창의 너비.
nuxt 내에서 사용할 수있는 별칭
#auth/runtime
#auth/utils
#auth/providers