JWTなどのシークレットキーの生成と題しているが、ランダム文字列を生成する手段としてもOKです。 Node.jsでCrypto APIを用いて生成 コンソールで次のコマンドを実行する。
記事はFringe81 アドベントカレンダー2017の15日目です。 2日目担当のk315k1010さんからplay2-authの移行話を振られましたが、それは別の機会にとっておき、本記事ではJWT(JSON Web Token)を利用したWebアプリケーションの認証について記載したいと思います。 JWT(JSON Web Token)とは? JWTの詳細については世に多くの記事が既にある為、ここでは簡易に説明したいと思います。 一般的にセッションIDとCookieを利用した認証のフローは下記のようなイメージになるかと思います。 サーバサイド側でSession IDをKVS等に保存する必要が出てきますが、JWTを利用すれば認証した情報について、クライアントサイドだけで完結することができます。 JSONの形で表した情報をURLEncodeし、tokenとしてクライアントサイドにおくり、認証が
$ npm i --save @nestjs/passport passport passport-local @nestjs/jwt passport-jwt $ npm i --save-dev @types/passport-local @types/passport-jwt passportは、nodejs でよく使われている認証ライブラリ。 passport-localは、ユーザー名とパスワードでログインできる機能を実装できるライブラリ。 passport-jwtは、JWTの検証などをするためのライブラリ。 ※ passport は、passport-local や passport-jwt などのライブラリを戦略( strategy )と言うので、覚えておいた方が良いかもしれません。 Passport recognizes that each application has u
概要 WEB アプリケーションの認証に JWT 利用を検討してるなかで、JWT について調査した内容をまとめます。 JWT とは JWT(ジョット)とは JSON Web Token の略で、電子署名付きの URL-safe(URLとして利用出来る文字だけ構成される)な JSONのことです。 電子署名により、JSON の改ざんをチェックできるようになっています。 ざっくり言うと、改ざんできない JSON ということになります。 利用ケース クライアントは、認証情報 (ログインID + パスワード) を送信する。 サーバは、認証情報を確認して user_id と exp (有効期限) を含む JSONを 秘密鍵で暗号化して JWT として返却する。 以降クライアントは、認証済みリクエストとして JWT を利用して通信をおこなう。 クライアントからの送信される JWT はサーバで秘密鍵を利用し
JSON Web Token(JWT)について調べていたら、JWTは絶対に使ってはいけないとかいろいろ書かれていて、使ってよいか良くわからなかった。 なので以下の点を調べてみました。 - JWTはなぜ使ってはいけない、と言われているのか - JWTの代替案はあるのか なお、私はただのフロントエンジニアでセキュリティの専門家ではないので素人の個人的見解です。注意してください。 TL;DR JWTは間違えやすく、脆弱になりがち JWTの代替はPASETOが良さそう JSON Web Tokenとは JSON Web Token(JWT)はセキュアなトークンを発行するための標準仕様です。 個人的に以下の点が特徴的だと思います。 標準仕様 仕様がシンプル 任意のデータをトークンに含められる トークンの偽造、否認は出来ない 暗号化されていないので中身は簡単に見られる 署名アルゴリズムが選択可能 JW
JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. JWT.IO allows you to decode, verify and generate JWT. Learn more about jwtSee jwt libraries Warning: JWTs are credentials, which can grant access to resources. Be careful where you paste them! We do not record tokens, all validation and debugging is done on the client side.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く