Nuxt3のApolloモジュールでBasic認証を使うには
公開日:2023/1/30
Nuxt ApolloでBasic認証を使うにはPlugins
フォルダ内にauth.ts
ファイルを作り、以下のコードを記述します。
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.hook("apollo:auth", ({ client, token }) => {
const username = "Basic認証で使っているユーザー名";
const password = "Basic認証で使っているパスワード";
token.value = Buffer.from(username + ":" + password).toString("base64");
});
});
プラグイン内のファイルは自動的に読み込まれるため、nuxt.config.ts
ファイルなどに追加する必要はありません。
変数であるusername
とpassword
の値は、Basic認証で実際に使われている値です。セキュアな情報のため、なるべく環境変数を使用してください。
最後に、nuxt.config.ts
のapolloに関する設定を変更します。変更箇所はauthType
で、この値をBasic
にします。以下参考コードです。
export default defineNuxtConfig({
runtimeConfig: {
public: {
siteUrl: "",
},
},
apollo: {
clients: {
default: {
httpEndpoint: `https://example.com/endpoint`,
},
},
authType: "Basic",
},
});