ハッカソンで S’moreというTwitterのいいねした記事を管理できるアプリを作成しました。
他の記事を調べてもあまり情報がなかったので、はまったポイントを共有します。
環境・前提
- NextAuth.js 4.12.2
はまった所
環境変数の設定
[...nextauth].tsでTwitter Developer Portalから取得したキーを登録しますが、NextAuthのclientId, clientSecretに対して、clientId, ClientSecretではなく、API_KEY, API_KEY_SECRETを登録するとキーが正しくない問題は解決しました。
[...nextauth].ts
export const authOptions = {
providers: [
TwitterProvider({
clientId: process.env.API_KEY ?? '',
clientSecret: process.env.API_KEY_SECRET ?? '',
version: '1.0a',
})
]
}
Twitter認証が通らない
実際にTwitter認証をNextAuthで行うと、エラーが返ってきて認証ができませんでした。
これは、Twitter 開発者ツールの権限を Essential Access から Elevated Access に挙げることで解決しました。少し文章を書けば無料で申請することができます。
原因についてはあまり調べられていません。