Альтернативный модуль автоза
Этот модуль предназначен как альтернатива @nuxtjs/auth, за исключением того, что он предназначен для Nuxt3 только без поддержки обратной совместимости.
@nuxt-alt/auth
и @nuxt-alt/http
зависимость в ваш проект yarn add @nuxt-alt/auth @nuxt-alt/http
@nuxt-alt/auth
и @pinia/nuxt
в раздел modules
nuxt.config.ts
Примечание. Вам не нужно указывать @nuxt-alt/http
, он будет автоматически добавлен, но если вы хотите вручную добавить его, убедитесь, что он находится ниже модуля Auth (и над прокси-модулем, если вы его используете). Он также не нуждается в Pinia, он будет использовать Uxt's 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. Кроме того, есть некоторые дополнительные варианты.
globalMiddleware
Boolean
false
Включает/отключает промежуточное программное обеспечение для использования во всем мире.
enableMiddleware
Boolean
true
Включает/отключает встроенное промежуточное программное обеспечение.
stores.state.namespace
String
auth
Это пространство имен для использования для Nuxt Usestate.
stores.pinia.enabled
Boolean
false
Включите эту опцию, чтобы использовать магазин Pinia, Bey Default Это отключено, и вместо этого используется useState
Nuxt.
stores.pinia.namespace
String
auth
Это пространство имен для использования для магазина Pinia.
stores.local.enabled
Boolean
true
Включите эту опцию, чтобы использовать магазин LocalStorage.
stores.local.prefix
String
auth.
Это устанавливает префикс LocalStorage.
stores.session.enabled
Boolean
true
Включите эту опцию, чтобы использовать магазин SessionStorage.
stores.session.prefix
String
auth.
Подобно опции LocalStorage, это префикс для хранения сеанса.
stores.cookie.enabled
Boolean
true
Включите эту опцию, чтобы использовать хранилище cookie.
stores.cookie.prefix
String
auth.
Подобно опции LocalStorage, это префикс для хранения файлов cookie.
stores.cookie.options
Object
{ path: '/' }
Параметры хранения файлов cookie по умолчанию.
redirectStrategy
query | storage
storage
Тип стратегии перенаправления, которую вы хотите использовать, storage
, LocalStorage для перенаправлений, query
с использованием параметров запроса маршрута.
tokenValidationInterval
Boolean | Number
false
Это экспериментально. Если установить на TRUE, интервал по умолчанию составляет 1000 мс, в противном случае установленное время в миллисекундах. Вот как часто модуль с попыткой проверить токен для истечения.
resetOnResponseError
Boolean | Function
false
При включении он будет сброшен, когда в любом из ответов произойдет ошибка 401. Вы можете превратить это в функцию, чтобы справиться с этим самостоятельно:
auth: {
//... module options
resetOnResponseError : ( error , auth , scheme ) => {
if ( error . response . status === 401 ) {
scheme . reset ?. ( )
auth . redirect ( 'login' )
}
} ,
}
Информация пользователя может быть отредактирована так для TypeScript:
declare module '@nuxt-alt/auth' {
interface UserInfo {
email : string
name : string
}
}
В дополнение к токенам Auth;
По умолчанию $auth.strategy
Getter использует тип Scheme
, который не имеет token
или refreshToken
типов свойств. Чтобы помочь с этим, были добавлены $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