php - Rest API 如何通过基本身份验证进行身份验证?

标签 php rest asp.net-web-api

我想创建具有基本授权的 RESTful API。

我怎样才能在 php 中做到这一点?我怎样才能通过标题在 php 端低于字符串和检查身份验证?

Basic Zajkljask34jlksdlfkjds=

最佳答案

How to read User Name and Password in PHP with Basic Auth .
以下代码只是您如何阅读基本身份验证的示例。详细信息并进行授权。

if (isset($_SERVER['PHP_AUTH_USER']) && $_SERVER['PHP_AUTH_USER']==$valid_username &&  $_SERVER['PHP_AUTH_PW']==$valid_password) {
  // the user is authenticated and handle the rest api call here
  echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";

} else {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;

}
?>

获得授权后,您可以生成 session key 并将其发送给客户端,客户端可以使用该 key 调用其余 api 方法。使用没有 SSL 的基本身份验证是不安全的。如果您可以使用 HTTPS,那就更好了。
请参阅以下链接以配置基本身份验证。

如果您使用的是 asp.net web api

http://www.asp.net/web-api/overview/security/basic-authentication

如果您使用的是 php,我建议您使用 rest api 框架

http://www.appelsiini.net/projects/slim-basic-auth

关于php - Rest API 如何通过基本身份验证进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100210/

相关文章:

php - 从 MySQL 查询中获取行数组?

php - 如何在 rest API 中传递 token ?

android - 对于移动应用程序来说,使用域名连接服务器还是使用 IP 地址哪个更好?

c# - 使用 ASP.NET Web API 将图像添加到 Azure Blob 存储失败

c# - 为 ASP.Net Web API 生成 JSON 模式

php - 为什么PHP的trim()不删除尾随空格?

php - 知识库网络应用——需要一个演示模式

php - 我可以将数组绑定(bind)到 PDO 查询中的 IN() 条件吗?

rest - ASP.NET MVC 4 WebApi : Manually handle OData queries

c# - 从 Web Api 返回 XML