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モジュールから直接取得されます。さらに、いくつかの追加のオプションがあります。
globalMiddleware
Boolean
false
ミドルウェアをグローバルに使用できる/無効にします。
enableMiddleware
Boolean
true
組み込みのミドルウェアを有効/無効にします。
stores.state.namespace
String
auth
これは、nuxt usestateに使用する名前空間です。
stores.pinia.enabled
Boolean
false
このオプションを有効にしてPiniaストアを使用し、Bey Defaultこれは無効になり、NuxtのuseState
が代わりに使用されます。
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に設定されている場合、デフォルト間隔は1000msで、それ以外の場合はミリ秒で時間を設定します。これは、有効期限のためにトークンを検証しようとするモジュールの頻度です。
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.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