![](/img/trans.png)
[英]how to do authentication of rest api from javascript, if javascript is on third party site?
[英]REST API basic authentication of third party
我使用團隊合作項目管理工具。 我正在嘗試使用團隊合作提供的REST API創建Web應用程序。 但這需要一些身份驗證。 我已經閱讀了團隊合作文檔,這就是他們所說的
身份驗證使用HTTP身份驗證進行管理(目前僅支持“基本”)。 每個請求必須包含Authorization HTTP標頭。 使用您的API令牌作為用戶名,並使用“ X”(或其他偽造的文本)作為密碼(僅API令牌用於驗證API請求)。
卷曲示例:
curl -H 'Accept: application/json' -H 'Content-Type: application/json' \
-u APIKEY0123456789:xxx -d '{"request": {"name": "some value"}}' https://yours.teamwork.com
我研究了一些在線教程並編寫了以下代碼
public function portalLogin()
{
//cURL
// phpinfo(); //curl is enabled
$channel = curl_init();
//options
curl_setopt($channel, CURLOPT_URL, "http://projects.abounde.com/projects.json?status=LATE");
curl_setopt($channel, CURLOPT_HTTPHEADER, array("Authoritation:BASIC".base64_encode("secretApiCode:xxx")));
echo curl_exec($channel); //return 1
curl_close($channel);
}
這將返回1。我不知道這意味着什么。 我不知道我在做正確的事。 這是受身份驗證保護的團隊合作api。
http://projects.abounde.com/projects.json
我的最終目標是為不同的用戶提供不同的用戶名和密碼,他們將輸入這些用戶名和密碼,系統將從數據庫中找到密鑰,並從特定用戶中加載項目列表。
public function portalLogin()
{
//cURL
// phpinfo();
$username = "night720elvis";
$password = "xxx";
$channel = curl_init();
//options
curl_setopt($channel, CURLOPT_URL, "http://projects.abounde.com/projects.json?status=LATE");
//curl_setopt($channel, CURLOPT_HTTPHEADER, array("Authoritation:BASIC".base64_encode("night720elvis:xxx")));
curl_setopt($channel, CURLOPT_HTTPHEADER,
array(
"Authorization: Basic " . base64_encode($username . ":" . $password)
));
echo curl_exec($channel);
curl_close($channel);
}
這驗證
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.