NUXT的替代驗證模塊
該模塊是作為 @nuxtjs/auth的替代方法,除非這僅適用於NUXT3,僅沒有向後兼容的支持。
@nuxt-alt/auth和@nuxt-alt/http依賴性添加到您的項目yarn add @nuxt-alt/auth @nuxt-alt/http@nuxt-alt/auth和@pinia/nuxt添加到nuxt.config.ts的modules部分注意:您不需要指定@nuxt-alt/http ,它將自動添加,但是如果要手動添加它,請確保它在Auth模塊下方(如果您使用的(如果您使用)在代理模塊上方)。它也不需要PINIA,默認情況下將使用NUXT的useState 。
export default defineNuxtConfig ( {
modules : [
'@nuxt-alt/auth'
] ,
auth : {
/* module options */
}
} ) ; 閱讀文檔
該模塊現在使用“@nuxt-alt/http”來函數,該模塊擴展了Ohmyfetch。請注意,如果您使用data發布數據,則現在需要使用body因為這是ohmyfetch使用的。如果您打算使用SSR,請考慮使用@nuxt-alt/proxy模塊。
可以使用useAuth()組合來訪問auth方法。
大多數選項直接從 @nuxtjs/auth模塊中獲取。此外,還有一些額外的選項。
globalMiddlewareBooleanfalse啟用/禁用中間件可以在全球使用。
enableMiddlewareBooleantrue啟用/禁用內置中間件。
stores.state.namespaceStringauth這是用於NUXT USESTATE的名稱空間。
stores.pinia.enabledBooleanfalse啟用此選項使用PINIA商店,BEY默認情況下,這是禁用的,而NUXT的useState則使用。
stores.pinia.namespaceStringauth這是用於Pinia商店的名稱空間。
stores.local.enabledBooleantrue啟用此選項可以使用LocalStorage Store。
stores.local.prefixStringauth.這設置了Localstorage前綴。
stores.session.enabledBooleantrue啟用此選項使用SessionStorage Store。
stores.session.prefixStringauth.類似於LocalStorage選項,這是會話存儲的前綴。
stores.cookie.enabledBooleantrue啟用此選項可以使用cookie存儲。
stores.cookie.prefixStringauth.類似於LocalStorage選項,這是Cookie存儲的前綴。
stores.cookie.optionsObject{ path: '/' }默認的cookie存儲選項。
redirectStrategyquery | storagestorage您要使用的重定向策略的類型,用於重定向的localStorage的storage使用,使用路由查詢參數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' )
}
} ,
} 用戶信息可以像打字稿一樣編輯:
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
} 除了身份令牌;
默認情況下, $auth.strategy getter使用的Scheme類型沒有token或refreshToken屬性類型。為此,添加了$auth.refreshStrategy和$auth.tokenStrategy getter。他們都做同樣的事情,這只是用於類型提示。
OAuth2現在有了客戶窗口驗證,這要歸功於此拉的請求:nuxt-community/auth-module#1746
屬性已更改為:
clientWindowBooleanfalse啟用/禁用使用彈出式驗證的使用。
clientWidthNumber400客戶端窗口的寬度。
clientHieghtNumber600客戶端窗口的寬度。
可在NUXT中使用的可用別名
#auth/runtime#auth/utils#auth/providers