如果您的平台不支援 HTTP 基本身份驗證,您可以透過傳遞使用者的電子信箱和密碼作為登錄憑據來驗證。
如果您透過 Google 登入註冊,請確保在繼續本教學之前設定一個 Ragic 密碼。
請僅在無法使用 HTTP 基本身份驗證時使用此方法。
您可以使用有效的電子信箱和密碼發送請求以獲取 session id。您可以使用 -d 參數發出包含 id 和密碼的 HTTP 請求。-c 參數將 sessionId 儲存在指定的 cookie jar 文件中:
curl --get -d "u=jeff@ragic.com" \ --data-urlencode "p=123456" \ -d "login_type=sessionId" \ -d api \ -c cookie.txt \ -k \ https://www.ragic.com/AUTH
如果身份驗證失敗,伺服器將回傳-1。如果身份驗證成功,您將在回應中收到一個 session id,如下所示:
2z5u940y2tnkes4zm49t2d4
請注意,這種身份驗證方法是基於會話的,會話是依賴於伺服器的。您可能需要根據您希望訪問的帳號位置修改 URL。例如,對於位於伺服器 https://ap8.ragic.com 的帳戶,請使用 https://ap8.ragic.com/AUTH。
在以後的請求中使用返回的 sessionId 以保持身份驗證,請在 URL 參數中包含 sessionId,如 sid=
Ragic API 的使用將在後面的章節中介紹,請記住以這種方式包含您的 session ID 以保持身份驗證。
如果您想檢索登錄使用者的詳細資訊,還可以提供額外的 json=1 參數,以便 Ragic 回傳包含使用者詳細資訊的 json 對象。
curl --get -d "u=jeff@ragic.com" \ --data-urlencode "p=123456" \ -d "login_type=sessionId" \ -d "json=1" \ -d api \ -c cookie.txt \ -k \ https://www.ragic.com/AUTH
回傳的格式如下所示:
{ "sid":"8xkz874fdftl116vkd3wgjq0t", "email":"jeff@ragic.com", "accounts": { "account":"demo", "ragicId":25, "external":false, "groups":["EVERYONE","SYSADMIN"] } }