使用PHP连接,授权和获取Web应用程序的数据
任何帮助/建议/方向将不胜感激.即使这个问题不具体,也要试试我.
我正在开发一个Web应用程序,它将连接到预先存在的基于商业云的日历,该日历将包含特定事件的日程安排. 我将有一个授权按钮,它只是要求用户输入他们的基于云的日历的凭据.用户成功输入凭据后,我希望我的应用程序连接到基于云的应用程序的数据库并获取必要的数据. 流程就像 用户 – >点击授权按钮 – >输入凭据 – >连接到系统 – >获取必要的数据 – >在我的Web应用程序中更新它. 我正在画一个空白,因为我没有找到任何有用的资源来获取如何访问单独的应用程序和获取数据. 对不起,如果我没有意义,但我真的想要一些帮助.是否有一些库提供类似的功能?我该怎么开始呢?我使用PHP作为服务器端语言.
>按钮单击 – >重定向到登录表单
>登录表单 – >用户输入凭证 – >提交表格 >在相应的行动页面即.您要发布数据的页面,您将拥有用户名/电子邮件和密码 >您必须进行身份验证.现在要进行身份验证,您无法直接访问其他服务器数据库(直接访问云数据库),因此您需要调用要对其进行身份验证的相应云基础数据库的API.对于此调用,您可以使用CURL调用POST参数或任何必要的HTTP请求,如GET,POST,PUT,DELETE,PATCH.确保使用基于TOKEN的API调用.即使您可以根据云数据库设计进行任何相应安全的API调用以确保安全性. 奖励:那么什么是基于令牌的API调用?每当您请求跨服务器的API调用时,即.其他服务器确保您可以将一些随机文本与其他参数一起发送.另一方面收到您的请求的服务器确保从其各自的数据库表中验证此令牌,以确保您是有效用户并允许您执行必要的操作,如获取客户详细信息,获取产品详细信息等等. >身份验证API返回AUTHENTICATED数据.基于此,您可以继续执行操作. 要学习如何编写API 例如:
认为您正在执行GET请求以获取客户的详细信息,然后您可以执行以下操作 API网址:http://127.0.0.1/project/getCustomers.php?token=2fdsd5f42314sfd85sds getCustomers.php <?php include_once 'dbConnect.php'; //I am having $link as database link //Only !isset will also work $errors = []; if(empty($_GET['token']) || !isset($_GET['token'])){ $errors[] = 'Token not found!'; }else{ $token = $_GET['token']; } //tokens table will have (id,user_id,token) coloumns $tokenQuery = mysqli_connect($link,"SELECT * FROM tokens WHERE token = '$token' LIMIT 1"); //If I get any result with the respective token if(mysqli_num_rows($tokenQuery) > 0){ $tokenDetails = mysqli_fetch_assoc($tokenQuery); $userId = $tokenDetails['user_id']; /* Now you can check whether the user has Authorization to access the particular module */ $isUserAuthorized = checkUserAuthorizationModule($userId); //Please help your self to do this all checks if($isUserAuthorized === TRUE){ $customersQuery = mysqli_query($link,"SELECT * FROM customers"); $customersDetails = []; if(mysqli_num_rows($customersQuery) > 0){ while($row = mysqli_fetch_assoc($customersQuery)){ $customersDetails[] = $row; } } return json_encode([ 'customerDetails' => $customersDetails ]); } }else{ $errors[] = 'Token is not valid'; } return json_encode([ 'errors' => $errors ]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |