Sha*_*ika 5 php authentication google-chrome-extension
我开发了一个Chrome扩展程序,它在我的网站上调用了一些API,后者又使用PHPAuth/PHPAuth进行身份验证.基本上,我让用户输入网站的用户名和密码作为扩展选项,我在我的网站上调用登录API,如下所示.
if (isset($_POST['email']) && isset($_POST['password'])) {
$email = $_POST['email'];
$password = $_POST['password'];
if($auth->isLogged()) {
$userId = $auth->getSessionUID($_COOKIE[$authConfig->cookie_name]);
echo json_encode([
'userId' => $userId,
]);
die();
}
$login = $auth->login($email, $password, true);
if($login['error']) {
die($login['message']);
} else {
$userId = $auth->getSessionUID($login['hash']);
echo json_encode([
'userId' => $userId,
]);
die();
}
} else {
die('Error');
}
Run Code Online (Sandbox Code Playgroud)
这可以暂时考虑用户进行身份验证,但实际上并未将用户登录到网站中.换句话说,当我通过iFrame打开受密码保护的页面时,它会显示用户登录表单.
有人可以告诉我我做错了什么,或者更好的方式去做我需要的东西.
基本上,我保存用户每次登录时都需要保持登录并打开受保护的页面.
例如,检查manifest.json是否包含您的网站URL和所有必需的子域
"permissions": [
"http://example.com/",
"http://*.example.com/",
"https://example.com/",
"https://*.example.com/"
],
Run Code Online (Sandbox Code Playgroud)
此外,您可以通过稍微不同的方式与网站进行通信,例如:
当您第一次登录网站时,它可能会返回一个令牌,您可以将其存储在浏览器本地存储中以及针对用户的服务器端。
此令牌稍后应与请求一起从扩展程序发送到您的网站。
在网站方面,您应该检查此令牌是否存在;如果它属于正确的用户;并且没有过期。如果正确则执行用户操作请求的操作。
老实说,更安全的是使用OAuth_2.0,它比扩展上下文中的用户名/密码身份验证更安全
| 归档时间: |
|
| 查看次数: |
1563 次 |
| 最近记录: |