首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Ajax的Restful身份验证

通过Ajax的Restful身份验证
EN

Stack Overflow用户
提问于 2012-02-07 04:13:16
回答 1查看 796关注 0票数 1

我正在实现一个restful api,我想知道是否可以使用ajax安全地进行身份验证,而不暴露身份验证凭据?将使用的凭据与使用curls传递的凭据相同:

代码语言:javascript
复制
curl_setopt($ch, CURLOPT_USERPWD, 'username:password');

将使用以下方式接收该邮件:

代码语言:javascript
复制
$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_USER'];
$_SERVER['PHP_AUTH_PW'];

这是可能的吗?如果可能,如何实现?

EN

Stack Overflow用户

回答已采纳

发布于 2012-02-07 04:16:02

不是的。这就是实现Oauth的确切目的和用例。

使用基本HTTP授权将公开凭据,尤其是来自ajax的凭据,因为即使您通过HTTPS运行所有内容,它仍将在客户端代码中可用(在发出任何请求之前)。

如果您仅在内部使用此接口(不期望第三方开发人员使用它),您可以尝试使用"API Key“而不是纯文本用户名和密码。这样,如果密钥被泄露,密钥可以重新生成,并且永远不会暴露您的用户(可能)重用的密码。

我发现API key + HTTPS涵盖了很多这样的情况。

您只需生成一个唯一的散列,然后使用它对用户进行身份验证……Basecamp API使用API key作为用户名。

代码语言:javascript
复制
curl_setopt($ch, CURLOPT_USERPWD, '<API KEY>:x');
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9166600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档