Defcos SNSプロジェクト:トークンとJWTトークン
Defcos SNSプロジェクトで知り合ったTokenをまとめました
ステータスレスサーバは、クライアント(ユーザ)リクエスト時にクライアントのステータスを維持し、サービスを提供するために使用するステータスレスサーバとは異なり、サーバはクライアントからのリクエストのみを処理するため、クライアントとサーバの間に接続されていません.これにより、サーバの拡張性が向上します.
典型的な例はOuthであり、Facebookやグーグルなどのソーシャルアカウントを使用して他のWebサービスにログインすることができます.
Cookieの使用による脆弱性を補う
JWTトークンは主に会員認証、情報交流に用いられ、ヘッダー、情報、署名の3つの部分に分かれている.
Headerには、トークンタイプ(JWT)とハッシュアルゴリズムの2つの情報が含まれています.
トークンは、情報の一部であり、一対のname/valueからなる複数のクレームを含むことができる.
クレームは大きく分けて登録(登録)、公開(公開)、私有(非公開)の3種類があります.
登録済みクレーム(登録済み)は名前付きで、情報をマークするために使用され、選択して使用できます.登録されたクレーム名は次のとおりです.
iss(発行者)、sub(トピック)、aud(参加者)、exp(期限切れ)、nbf(期限切れ)iat(issed at)、jti(JWT一意識別子)
公開クレームは、競合を防止するためにURLの形式で命名されます.("https://.../jwt_claims/...": true)
非公開クレームは、双方の合意(通常はクライアント/サーバ)で使用されるクレーム名です.
署名はヘッダの符号化値と情報の符号化値を統合し,秘密鍵でハッシュ生成する.このようなハッシュは、16進数64に符号化されるべきである.
タグからユーザ値を取得する
コイン枚
なぜ多くのWebサイトがトークンベースの認証を選択しているのか
ステータスサーバなし
ステータスレスサーバは、クライアント(ユーザ)リクエスト時にクライアントのステータスを維持し、サービスを提供するために使用するステータスレスサーバとは異なり、サーバはクライアントからのリクエストのみを処理するため、クライアントとサーバの間に接続されていません.これにより、サーバの拡張性が向上します.
認証情報を他のアプリケーションに転送できます
典型的な例はOuthであり、Facebookやグーグルなどのソーシャルアカウントを使用して他のWebサービスにログインすることができます.
セキュリティ
Cookieの使用による脆弱性を補う
モバイルアプリケーション
JWTトークン
JWTトークンは主に会員認証、情報交流に用いられ、ヘッダー、情報、署名の3つの部分に分かれている.
Header
Headerには、トークンタイプ(JWT)とハッシュアルゴリズムの2つの情報が含まれています.
情報(ペイロード)
トークンは、情報の一部であり、一対のname/valueからなる複数のクレームを含むことができる.
クレームは大きく分けて登録(登録)、公開(公開)、私有(非公開)の3種類があります.
登録済みクレーム(登録済み)
登録済みクレーム(登録済み)は名前付きで、情報をマークするために使用され、選択して使用できます.登録されたクレーム名は次のとおりです.
iss(発行者)、sub(トピック)、aud(参加者)、exp(期限切れ)、nbf(期限切れ)iat(issed at)、jti(JWT一意識別子)
公開クレーム
公開クレームは、競合を防止するためにURLの形式で命名されます.("https://.../jwt_claims/...": true)
非公開クレーム
非公開クレームは、双方の合意(通常はクライアント/サーバ)で使用されるクレーム名です.
に署名
署名はヘッダの符号化値と情報の符号化値を統合し,秘密鍵でハッシュ生成する.このようなハッシュは、16進数64に符号化されるべきである.
Defcosプロジェクトで使用されるJWTトークンハッシュ
async function addPostLike() {
try {
const response: any = await axios.post(
`${API주소}`,
{
postId: props.id,
},
{ headers: { Authorization: `Bearer ${token}` } }
);
setPostLike(response.data._id);
setPostLikeNumber(postLikeNumber + 1);
} catch (error) {
console.error(error);
}
}
タグ値の取得
タグからユーザ値を取得する
const userId = JSON.parse(atob(token.split(".")[1])).user._id;
参照サイトVELOPERT.LOGReference
この問題について(Defcos SNSプロジェクト:トークンとJWTトークン), 我々は、より多くの情報をここで見つけました https://velog.io/@te-ing/토큰과-JWT토큰テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol