我对这个主题很陌生,想实现基于令牌的用户身份验证,并想知道这是否是以“相当”安全的方式执行此操作的正确步骤。
首先在 Ionic 应用程序上:
-> 通过 ionic http 方法以纯文本形式将登录数据发送到 https 服务器
在 PHP 服务器上:
-> 比较用户名和密码
-> 如果那是真的,生成一个安全密钥(最少 25 个字符)
-> 将用户标识(plain)和密钥(MD5+Salt)存储在一个表中,并带有过期时间
-> 生成一个 JWT 令牌,带有一些用户数据
JWT::encode($data, $secret);
-> 回显 JWT 令牌以将其发送回 ionic 应用程序
回到 Ionic 应用程序:
-> 将 JWT Token 存储在设备的本地存储中
..创建一些数据..
向php服务器发送数据:
-> $http 使用一些参数发布到 php 服务器
params: { userid : $scope.userid, jwttoken : $scope.jwttoken, datatostore: $scope.datatostore }
在 php 服务器上:
-> 检查存储密钥的表中是否存在 post userid
-> 如果是,通过过滤userid获取key,检查时间是否过期
-> 如果是,解码 JWT
JWT::decode($postToken, $api_key, array('HS256', 'HS512'));
-> 如果那是成功的,做一些服务器的事情,比如在数据库中插入数据
我知道没有 100% 安全的方式,但我想知道这是否可以节省使用,或者我是否监督了某些事情!
谢谢