Next.js・React.js・SPAでOauth認証を行う

0

2022年04月16日 10:17

ISSUEではfreeeと連携する機能があります。
連携するためにはユーザーによる認証が必要です。
SPAでどのように認証を行うのかを書いていきます。

1. 認証ページに飛ばす

next/linkを使ってqueryを設定し、認証ページに飛ばします。
リダイレクトさせたいページも指定しておきましょう。

img

image

image

2. 認証後にURLのクエリにあるcodeをbackendに送ってアクセストークンを保存する

認証後にリダイレクトURL先に飛ばされるとcodeクエリがついています。
このcodeの値を取得し、バックエンドに送ります。SPAではアクセストークンを扱う処理は行わないようにしましょう。

http://localhost:3000/reports/activity?code=owh7ryt4r7248rfqoefhowefhweoufhewoufhweuof

useEffectでrouterのcodeの変更を検知します。
oauthFreeeUserはbackendにリクエストを投げる関数です。
img

3. backendでの処理

backendではcodeを受け取って、トークン取得のためのPOSTリクエストを送るだけです。

img

以上がNext.js・React.js・SPAで認証して、アクセストークンを取得する方法です。

# React.js
# Next.js
0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。

目次を見る