1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

next-authの基本的な使い方。(gmailのsmtpサーバーを利用)

Last updated at Posted at 2021-02-09

next-authの基本的な使い方。(メールリンク方式) - Qiita
https://qiita.com/masakinihirota/items/190360bfdcc4bf2b13ac
の続き。

今回の目標

前回はsmtp4devというダミーSMTPサーバーツールを使用してローカル内でメールリンク方式の認証をしていましたが、今回はgmailで利用できる無料SMTPサーバーを利用してメールリンク方式の認証を行います。

gmailは無料のSMTPサーバーを提供しています。
詳しくは下記をご覧ください。

GoogleのSMTPサーバー(あまり知られていない無料サービス)の使用方法
https://thefunky-monkey.com/page/googlesmtp/

Googleアカウント設定

セキュリティ sketch.PNG

Google アカウントのセキュリティ
https://myaccount.google.com/security
このセキュリティから「安全性の低いアプリのアクセス」を選び

有効.PNG

安全性の低いアプリのアクセス
安全性の低いアプリの許可: 有効
にします。

この設定をしないと外部アプリ(今回は next.js)からのは全てシャットアウトされます。

セキュリティ.PNG

この設定をすると「安全性の低いアプリによるアクセスが有効になりました」と確認メールが来ます。
ボタンを押すと確認を促されます。
いま自分で設定したので
「はい、心当たりがあります」を選びます。
そうすると
「本人確認が完了しました
お使いのアカウントの保護を目的としています」
と表示されます。

next.jsアプリ

メールの設定を変更します。

.env.localファイルの下記の部分を自分のメールに変更します。
NEXTAUTH_EMAIL_SERVER=smtp://{gmailのメールアドレス}:{メールのパスワード}@smtp.gmail.com:587

.env.local
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_TWITTER_ID=
NEXTAUTH_TWITTER_SECRET=
NEXTAUTH_GITHUB_ID=
NEXTAUTH_GITHUB_SECRET=
NEXTAUTH_GOOGLE_ID=
NEXTAUTH_GOOGLE_SECRET=
NEXTAUTH_FACEBOOK_ID=
NEXTAUTH_FACEBOOK_SECRET=
NEXTAUTH_EMAIL_SERVER=smtp://{gmailのメールアドレス}:{メールのパスワード}@smtp.gmail.com:587
NEXTAUTH_EMAIL_FROM=NextAuth <masakinihirota@gmail.com>
NEXTAUTH_DATABASE_URL=sqlite://localhost/:memory:?synchronize=true

.env.localファイルは.gitignoreでgitが追跡していない設定になっているはずです。
パスワードが書かれているのでネットにアップしないよう気をつけましょう。

メール設定とパスワード.PNG

※モザイク部分はパスワードです。
以上で設定は終了です。

アプリを立ち上げて確認

ターミナルから
npm run dev

右上のSign inボタンをクリックして
メールを入力して
Sign in with Emailボタンを押して
自分のところにメールが来たかを確認します。
メールが来たのを確認できたら
「Sign in」ボタンを押すと
サイトにログイン済みになっています。

#比較
前回は下記のようでした。
ローカル環境.png
から
ローカルネット環境 gmail2.png
といように
一部の機能をネットに切り出せました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?