gpt4 book ai didi

php - 通过 Chrome 扩展使用 PHPAuth/PHPAuth 登录网站

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:41 27 4
gpt4 key购买 nike

我开发了一个 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');
}

这暂时认为用户已通过身份验证,但实际上并未将用户登录到网站。换句话说,当我通过 iFrame 打开受密码保护的页面时,它会显示用户登录表单。

有人可以告诉我我做错了什么,或者更好的方法来满足我的需要。

基本上,我让用户无需每次都继续登录并打开 protected 页面,一旦他被要求登录。

最佳答案

例如检查 manifest.json 是否包含您的网站 URL 和所有必需的子域

"permissions": [
"http://example.com/",
"http://*.example.com/",
"https://example.com/",
"https://*.example.com/"
],

此外,您还可以通过一些不同的方式与网站进行通信,例如:

  • 当您第一次登录您的网站时,它可能会返回一个 token ,您可以将其存储在浏览器中 local storage并在服务器端针对用户。

  • 此 token 稍后应随请求一起从扩展程序发送到您的网站。

  • 在网站端,您应该检查此 token 是否存在;如果它属于正确的用户;并且没有过期。如果正确,则执行用户操作请求的操作。

老实说更安全的方法是使用OAuth_2.0这比扩展上下文中的用户名/密码身份验证更安全

关于php - 通过 Chrome 扩展使用 PHPAuth/PHPAuth 登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com