php开发app接口,用户登录问题
情况是这样的,之前的用户登录接口,登录成功以后服务器不存session
,可能在app那端存着吧。所以即便用户登录成功,在调某些接口的时候,需要user_id
还是要当作参数传递过去,而不是从服务器的session
里获取。
今天想修改登录注册的接口,我同事说app接口没有session
的概念,但是我总觉得应该有其他方式将用户会话存在服务器。
所以我想请教各位大神:
1. php开发app接口有没有`session`的概念? 2. 如果没有,用户会话是怎么处理的?就是当前是否在登录状态
谢谢大家!
jwt を見てみましょう
自己完結型: ペイロードには、ユーザーが必要とするすべての情報が含まれています
トークンと有効期限を設定し、トークンを使用して検証します
まず、ログイン インターフェイスを作成します。アプリはこのインターフェイスを呼び出し、渡されたユーザー名とパスワードを検証してトークンを返します。
トークンを保存するテーブルを作成し、そのテーブルには user_id トークン、expire_data およびその他のフィールドが格納されることに注意してください。
今後、彼が他のインターフェースをリクエストするたびに、このトークンを持ってくるだけで済み、あなたはトークンを検証できます。
渡されたトークンは暗号化され、期限切れになり、一意であることが保証されます。これは基本的にそれだけです。
1. リクエストヘッダーにはユーザー
username
和password
,到服务器端做验证,通过才继续下边业务逻辑。优点:防止了服务器端
api
が含まれており、任意に呼び出されます。短所: ユーザー名とパスワードは毎回交換され、やり取りの量は多く、パスワードの平文送信は安全ではありません。
2. 最初のリクエストには
すべてのリクエストにusername
とpassword
が必要です。検証後、cookie
がクライアントに送信されます。username
和password
,验证通过,发送cookie
到客户端,app
保存cookie
值。每次请求带上
cookie
。优点:和
pc
cookie
を保存します。コード>値。cookie
を含めます。利点:
一部のpc
でのブラウザ認証の原理は同じです。app
上記の2点において、登録ユーザーのみがビジネスロジックにアクセスできます。には、登録データを必要としない API が多数あります
生成ルールを開発します。クライアントはこの文字列を生成し、サーバーはリクエストの受信時にこの文字列を検証します。token
3. サーバーとクライアントの両方で共有されるいくつかの共通属性に基づいてランダムな文字列を生成する
これは、さまざまなユーザーが認可インターフェースを通じてさまざまなトークンを取得し、トークンの有効期限を設定し、クライアントが各リクエストのヘッダーにトークンを入れて、定期的にトークンを更新することができます。
トークンを使用して、クライアント Cookie に保存されている従来の session_id を置き換えます。その後、トークンは Redis などのデータベースのキー名として使用され、キーの値はユーザー UID であり、session_id は組み込みのメソッドを通じてシミュレートできます。有効期限のメカニズム
当社にはトークンと有効期限があり、ログインするたびにトークンが更新されます
迷ったときに当サイトで質問したことです
あなたの同僚は、アプリにはセッションの概念がないと言っていますが、それは正確ではないと思います。私の以前の質問がお役に立てば幸いです。
ログインとは、サーバーが成功したログイン ID を生成し、クライアントにログイン ID を返し、サーバーがログインによってユーザー情報を検証することです。
安全なのは
access_token
です。この点については、WeChat の API インターフェースをご覧ください。簡単な方法は
user_id
;