Nuxt用の代替AUTHモジュール
このモジュールは、 @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」を機能させるために「@nuxt-alt/http」を使用し、そのモジュールはohmyfetchを拡張します。 dataを使用してデータを投稿している場合は、これがohmyfetch使用するものであるため、 body使用する必要があることに注意してください。 SSRを使用する場合は、 @nuxt-alt/proxyモジュールの使用を検討してください。
useAuth() composableは、AUTHメソッドにアクセスするために使用できるようになりました。
ほとんどのオプションは、 @nuxtjs/authモジュールから直接取得されます。さらに、いくつかの追加のオプションがあります。
globalMiddlewareBooleanfalseミドルウェアをグローバルに使用できる/無効にします。
enableMiddlewareBooleantrue組み込みのミドルウェアを有効/無効にします。
stores.state.namespaceStringauthこれは、nuxt usestateに使用する名前空間です。
stores.pinia.enabledBooleanfalseこのオプションを有効にしてPiniaストアを使用し、Bey Defaultこれは無効になり、NuxtのuseStateが代わりに使用されます。
stores.pinia.namespaceStringauthこれは、Piniaストアに使用する名前空間です。
stores.local.enabledBooleantrueこのオプションを有効にして、LocalStorageストアを使用します。
stores.local.prefixStringauth.これにより、LocalStorageのプレフィックスが設定されます。
stores.session.enabledBooleantrueこのオプションを有効にして、SessionStorageストアを使用します。
stores.session.prefixStringauth.LocalStorageオプションと同様に、これはセッションストレージのプレフィックスです。
stores.cookie.enabledBooleantrueこのオプションを有効にして、Cookieストレージを使用します。
stores.cookie.prefixStringauth.LocalStorageオプションと同様に、これはCookieストレージのプレフィックスです。
stores.cookie.optionsObject{ path: '/' }デフォルトのCookieストレージオプション。
redirectStrategyquery | storagestorage使用するリダイレクト戦略のタイプ、リダイレクトstorageためのLocalStorageを利用して、ルートクエリパラメーターを使用した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のように編集できます。
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