PHP でトークンを使用する方法: 1. クライアント ユーザーは、ユーザー名とパスワードを入力してログインし、トークンを要求します。 2. JWT 仕様を使用してトークンを生成します。 3. トークンの適時性を確認します。トークン; 4. 、クライアントはトークンを使用してデータを要求します。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
トークン PHP の使用方法?
php トークンの生成と使用
フロント エンドとバック エンドの分離または複数のサポートWeb アプリケーションの場合、元の Cookie またはセッションの使用に大きな問題が発生します。
Cookie とセッション認証は、認証のために同じプライマリ ドメイン名の下にある必要があります (現在、問題を解決するためにセッションを Redis に保存できます) 。
oauth2 と jwt
jwt: はセキュリティ標準です。基本的な考え方は、ユーザーが認証サーバーにユーザー名とパスワードを提供し、サーバーがユーザーが送信した情報の正当性を検証し、検証が成功するとトークン (トークン) が生成されて返されるというものです
OAuth2: 安全な認証フレームワークです。システム内のさまざまなロール、ユーザー、サービス フロントエンド アプリケーション (API など)、クライアント (Web サイトやモバイル APP など) の間で相互認証を実現する方法について詳しく説明します。
(JWT、この JSON Web トークンはここで認証に使用されます)
ヘッダー: 暗号化タイプ
説明: メッセージの内容
key: 暗号化に使用されるランダム コード
上記の 3 つの部分を使用して接続します。 hs256 を使用して暗号化してトークンを生成します
2)。声明。宣言はエンティティに関するものです。その後、この json は Base64Url でエンコードされ、最初の部分になります{ "alg": "HS256", "typ": "JWT" }ログイン後にコピー
3)。暗号化キーを使用します4)。署名するには、最初のエンコードされた部分、2 番目のエンコードされた部分、そしてキーを使用する必要があります鍵。最初の部分の暗号化アルゴリズムを使用して署名します。{ "exp": "1525785339", "sub": "1234567890", "name": "John Doe", "admin": true }ログイン後にコピー(追記: この情報は改ざんから保護されていますが、誰でも読み取ることができます。重要な情報は暗号化されていない限り送信しないでください。中に入れます)
ペイロードは Base64Url でエンコードされ、2 番目の部分になります
5. トークン保存場所HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), key )ログイン後にコピー(PHP は暗号化に crypt メソッドを使用します。注: SHA-256 は改ざん防止に使用され、AES-256 は暗号化に使用されます。2 つの概念は異なります)
この署名は、メッセージが改ざんされているかどうかを確認するために使用されます。
通常は、ベアラー モードを使用して、リクエスト ヘッダーの Authorization フィールドに JWT (Authorization: Bearer) を追加する必要があります (もちろん、JWT をリクエスト ヘッダーの後にパラメーターとして渡すなど、どこにでも配置することもできます) URL (クライアントが認識できるものであれば可能ですが、JWT は標準なので、標準に従う方がよいでしょう)
推奨学習: "PHP ビデオ チュートリアル
"6. 使用方法### を使用することをお勧めします。したがって、トークンを使用する場合、そのトークンがキャプチャされると、偽造される可能性があります。したがって、セキュリティが比較的高い場合は、oauth21. 无法作废已颁布的令牌(对token刷新使用期限) 2. 不易应对过期数据(支持 token 失效)ログイン後にコピー
以上がトークンPHPの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。