[Golang]~MovieApp-router1: JWTを使ってSign-in処理を実装しよう!

こんにちは、KOUKIです。

GolangとReactでMovie Appの開発をしています。

今回は、JWTを使ってSign-in処理を実装します。

尚、Udemyの「Working with React and Go (Golang)」を参考にしているので、よかったら受講してみてください。

前回

Movieデータの削除処理やAdmin画面を実装しました

事前準備

フォルダ/ファイル

モジュール

JWTについて

JWT(JSON Web Token)は、JSONデータで表現したトークンの仕様です。

データの暗号化に用いられるので、Sign-in認証など暗号系の処理を実装する時に大活躍します。

Sign-inの実装

JWTを使ったSign-inの処理を実装します。

シークレットキーの設定

認証時に使用するシークレットキーを設定します。ちなみにシークレットキーは、ここから取得しています。

ルートの追加

Sign-inへのルートを追加します。

モデルの追加

Userモデルを追加しましょう。

ハンドラーの追加

ルートに指定したSigninハンドラーを実装します。

リクエストから認証データをパース -> パスワードチェック -> JWTトークンの作成 -> Signinの流れになっています。

検証

Sign-in認証処理ができたので、早速検証をしましょう。

ログイン成功

下記のパラメータで、リクエストを送ってください。

  • URL: http://localhost:4000/v1/signin
  • 形式: POST

ログイン失敗

下記のパラメータで、リクエストを送ってください。

  • URL: http://localhost:4000/v1/signin
  • 形式: POST

OKですね。

次回

次回は、React側でログインコンポーネントの実装を行います。

記事まとめ

参考書籍

ソースコード

main.go

models.go

routes.go

tokens.go

コメントを残す