PHP 開発アプリのインターフェイス、ユーザー ログインの問題
ログイン成功後、以前のユーザーログインインターフェースがサーバーに保存されていない状態ですsession
アプリ側に保存されている可能性があります。したがって、ユーザーが正常にログインした場合でも、特定のインターフェイスを調整するときは、サーバーの user_id
から取得するのではなく、session
をパラメーターとして渡す必要があります。
今日はログインと登録のインターフェースを変更したいと思います。私の同僚は、アプリのインターフェースには session
の概念がないと言いましたが、サーバーにユーザーセッションを保存する他の方法があるべきだと常々感じています。
そこでマスターの皆さんにお聞きしたいのですが、
リーリーみなさん、ありがとうございました!
漂亮男人2017-05-16 13:01:53
まず、ログイン インターフェイスを作成します。アプリはこのインターフェイスを呼び出し、渡されたユーザー名とパスワードを検証してトークンを返します。
トークンを保存するテーブルを作成し、そのテーブルには user_id トークン、expire_data およびその他のフィールドが格納されることに注意してください。
今後、彼が他のインターフェースをリクエストするたびに、このトークンを持ってくるだけで済み、あなたはトークンを検証できます。
渡されたトークンは暗号化され、期限切れになり、一意であることが保証されます。これは基本的にそれだけです。
仅有的幸福2017-05-16 13:01:53
1. リクエストヘッダーにはユーザー username
和 password
,到服务器端做验证,通过才继续下边业务逻辑。
优点:防止了服务器端 api
が含まれており、任意に呼び出されます。
短所: ユーザー名とパスワードは毎回交換され、やり取りの量は多く、パスワードの平文送信は安全ではありません。
2. 最初のリクエストには username
と password
が必要です。検証後、cookie
がクライアントに送信されます。 username
和 password
,验证通过,发送 cookie
到客户端, app
保存 cookie
值。
每次请求带上 cookie
。
优点:和 pc
cookie
を保存します。コード>値。
cookie
を含めます。 利点: pc
でのブラウザ認証の原理は同じです。
app
上記の2点において、登録ユーザーのみがビジネスロジックにアクセスできます。
には、登録データを必要としない API が多数あります token
3. サーバーとクライアントの両方で共有されるいくつかの共通属性に基づいてランダムな文字列を生成する
短所: ランダム文字列生成ルールは機密にしておく必要があります。🎜🎜私の回答で問題が解決したら、クリックしてください
采纳答案
ringa_lee2017-05-16 13:01:53
これは、さまざまなユーザーが認可インターフェースを通じてさまざまなトークンを取得し、トークンの有効期限を設定し、クライアントが各リクエストのヘッダーにトークンを入れて、定期的にトークンを更新することができます。
滿天的星座2017-05-16 13:01:53
トークンを使用して、クライアント Cookie に保存されている従来の session_id を置き換えます。その後、トークンは Redis などのデータベースのキー名として使用され、キーの値はユーザー UID であり、session_id は組み込みのメソッドを通じてシミュレートできます。有効期限のメカニズム
PHPz2017-05-16 13:01:53
迷ったときに当サイトで質問したことです
あなたの同僚は、アプリにはセッションの概念がないと言っていますが、それは正確ではないと思います。私の以前の質問がお役に立てば幸いです。
PHP中文网2017-05-16 13:01:53
ログインとは、サーバーが成功したログイン ID を生成し、クライアントにログイン ID を返し、サーバーがログインによってユーザー情報を検証することです。